Commit b2f97e6b by 宋祥

1.首页已办和待办

parent da8fe797
...@@ -4,13 +4,13 @@ import com.baosight.hggp.core.security.UserSessionUtils; ...@@ -4,13 +4,13 @@ import com.baosight.hggp.core.security.UserSessionUtils;
import com.baosight.hggp.util.AssertUtils; import com.baosight.hggp.util.AssertUtils;
import com.baosight.hggp.util.DateUtils; import com.baosight.hggp.util.DateUtils;
import com.baosight.hggp.util.ObjectUtils; import com.baosight.hggp.util.ObjectUtils;
import com.baosight.hggp.util.StringUtils;
import com.baosight.iplat4j.core.data.DaoEPBase; import com.baosight.iplat4j.core.data.DaoEPBase;
import com.baosight.iplat4j.core.exception.PlatException; import com.baosight.iplat4j.core.exception.PlatException;
import com.baosight.iplat4j.core.web.threadlocal.UserSession; import com.baosight.iplat4j.core.web.threadlocal.UserSession;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.StringUtils;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
...@@ -206,6 +206,12 @@ public class DaoUtils { ...@@ -206,6 +206,12 @@ public class DaoUtils {
} catch (Exception e) { } catch (Exception e) {
log.error("写入创建时刻失败:{}", e.getMessage(), e); log.error("写入创建时刻失败:{}", e.getMessage(), e);
} }
// 内码(UUID)
try {
BeanUtils.setProperty(bean, "internalCode", StringUtils.uuid());
} catch (Exception e) {
log.warn("error", e);
}
} }
/** /**
...@@ -267,6 +273,12 @@ public class DaoUtils { ...@@ -267,6 +273,12 @@ public class DaoUtils {
} catch (PlatException e) { } catch (PlatException e) {
log.warn("写入创建时刻失败", e); log.warn("写入创建时刻失败", e);
} }
// 内码(UUID)
try {
map.put("internalCode", StringUtils.uuid());
} catch (PlatException e) {
log.warn("error", e);
}
} }
/** /**
......
package com.baosight.hggp.hg.ct.constant;
/**
* @author:songx
* @date:2024/9/24,17:53
*/
public class HgCtConst {
/**
* HPCT01 定义
*
* @author:songx
* @date:2024/9/24,17:54
*/
public static class HgCt01 {
/**
* 状态
*
* @author:songx
* @date:2024/5/15,15:18
*/
public static class Status {
// 未关闭
public static final String OPEN = "open";
// 已关闭
public static final String CLOSE = "close";
}
}
}
package com.baosight.hggp.hg.ct.constant;
/**
* @author:songx
* @date:2024/9/24,18:09
*/
public class HgCtSqlConst {
/**
* @author:songx
* @date:2024/8/29,15:54
*/
public static class HgCt01 {
// 确认
public static final String CONFIRM = "HGCT01.confirm";
}
}
package com.baosight.hggp.hg.ct.domain;
import com.baosight.iplat4j.core.data.DaoEPBase;
import com.baosight.iplat4j.core.ei.EiColumn;
import com.baosight.iplat4j.core.util.NumberUtils;
import com.baosight.iplat4j.core.util.StringUtils;
import java.util.HashMap;
import java.util.Map;
/**
* Project: <br>
* Title:Tjact01.java <br>
* Description: <br>
*
* Copyrigth:Baosight Software LTD.co Copyright (c) 2019. <br>
*
* @version 1.0
* @history 2024-10-08 17:03:25 create
*/
public class HGCT01 extends DaoEPBase {
private static final long serialVersionUID = 1L;
public static final String FIELD_CREATED_BY = "createdBy"; /* 记录创建者*/
public static final String FIELD_CREATED_NAME = "createdName"; /* 记录创建名称*/
public static final String FIELD_CREATED_TIME = "createdTime"; /* 记录创建时间*/
public static final String FIELD_UPDATED_BY = "updatedBy"; /* 记录修改者*/
public static final String FIELD_UPDATED_NAME = "updatedName"; /* 记录修改名称*/
public static final String FIELD_UPDATED_TIME = "updatedTime"; /* 记录修改时间*/
public static final String FIELD_DELETE_FLAG = "deleteFlag"; /* 0-未删除,1-已删除*/
public static final String FIELD_STATUS = "status"; /* 状态*/
public static final String FIELD_INTERNAL_CODE = "internalCode"; /* 内码*/
public static final String FIELD_TITLE = "title"; /* 标题*/
public static final String FIELD_CONTENT = "content"; /* 内容*/
public static final String FIELD_USER_ENAME = "userEname"; /* 用户ID*/
public static final String FIELD_USER_CNAME = "userCname"; /* 用户姓名*/
public static final String FIELD_FORM_ENAME = "formEname"; /* 画面英文名*/
public static final String FIELD_FORM_PARAM = "formParam"; /* 画面参数*/
public static final String FIELD_CLOSE_TIME = "closeTime"; /* 关闭时间*/
public static final String COL_CREATED_BY = "CREATED_BY"; /* 记录创建者*/
public static final String COL_CREATED_NAME = "CREATED_NAME"; /* 记录创建名称*/
public static final String COL_CREATED_TIME = "CREATED_TIME"; /* 记录创建时间*/
public static final String COL_UPDATED_BY = "UPDATED_BY"; /* 记录修改者*/
public static final String COL_UPDATED_NAME = "UPDATED_NAME"; /* 记录修改名称*/
public static final String COL_UPDATED_TIME = "UPDATED_TIME"; /* 记录修改时间*/
public static final String COL_DELETE_FLAG = "DELETE_FLAG"; /* 0-未删除,1-已删除*/
public static final String COL_STATUS = "STATUS"; /* 状态*/
public static final String COL_INTERNAL_CODE = "INTERNAL_CODE"; /* 内码*/
public static final String COL_TITLE = "TITLE"; /* 标题*/
public static final String COL_CONTENT = "CONTENT"; /* 内容*/
public static final String COL_USER_ENAME = "USER_ENAME"; /* 用户ID*/
public static final String COL_USER_CNAME = "USER_CNAME"; /* 用户姓名*/
public static final String COL_FORM_ENAME = "FORM_ENAME"; /* 画面英文名*/
public static final String COL_FORM_PARAM = "FORM_PARAM"; /* 画面参数*/
public static final String COL_CLOSE_TIME = "CLOSE_TIME"; /* 关闭时间*/
public static final String QUERY = "HGCT01.query";
public static final String COUNT = "HGCT01.count";
public static final String INSERT = "HGCT01.insert";
public static final String UPDATE = "HGCT01.update";
public static final String DELETE = "HGCT01.delete";
private String createdBy = " "; /* 记录创建者*/
private String createdName = " "; /* 记录创建名称*/
private String createdTime = " "; /* 记录创建时间*/
private String updatedBy = " "; /* 记录修改者*/
private String updatedName = " "; /* 记录修改名称*/
private String updatedTime = " "; /* 记录修改时间*/
private Integer deleteFlag; /* 0-未删除,1-已删除*/
private String status = " "; /* 状态*/
private String internalCode = " "; /* 内码*/
private String title = " "; /* 标题*/
private String content = " "; /* 内容*/
private String userEname = " "; /* 用户ID*/
private String userCname = " "; /* 用户姓名*/
private String formEname = " "; /* 画面英文名*/
private String formParam = " "; /* 画面参数*/
private String closeTime = " "; /* 关闭时间*/
/**
* initialize the metadata.
*/
public void initMetaData() {
EiColumn eiColumn;
eiColumn = new EiColumn(FIELD_CREATED_BY);
eiColumn.setDescName("记录创建者");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_CREATED_NAME);
eiColumn.setDescName("记录创建名称");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_CREATED_TIME);
eiColumn.setDescName("记录创建时间");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_UPDATED_BY);
eiColumn.setDescName("记录修改者");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_UPDATED_NAME);
eiColumn.setDescName("记录修改名称");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_UPDATED_TIME);
eiColumn.setDescName("记录修改时间");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_DELETE_FLAG);
eiColumn.setDescName("0-未删除,1-已删除");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_STATUS);
eiColumn.setDescName("状态");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_INTERNAL_CODE);
eiColumn.setPrimaryKey(true);
eiColumn.setDescName("内码");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_TITLE);
eiColumn.setDescName("标题");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_CONTENT);
eiColumn.setDescName("内容");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_USER_ENAME);
eiColumn.setDescName("用户ID");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_USER_CNAME);
eiColumn.setDescName("用户姓名");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_FORM_ENAME);
eiColumn.setDescName("画面英文名");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_FORM_PARAM);
eiColumn.setDescName("画面参数");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_CLOSE_TIME);
eiColumn.setDescName("关闭时间");
eiMetadata.addMeta(eiColumn);
}
/**
* the constructor.
*/
public HGCT01() {
initMetaData();
}
/**
* get the createdBy - 记录创建者.
* @return the createdBy
*/
public String getCreatedBy() {
return this.createdBy;
}
/**
* set the createdBy - 记录创建者.
*
* @param createdBy - 记录创建者
*/
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
/**
* get the createdName - 记录创建名称.
* @return the createdName
*/
public String getCreatedName() {
return this.createdName;
}
/**
* set the createdName - 记录创建名称.
*
* @param createdName - 记录创建名称
*/
public void setCreatedName(String createdName) {
this.createdName = createdName;
}
/**
* get the createdTime - 记录创建时间.
* @return the createdTime
*/
public String getCreatedTime() {
return this.createdTime;
}
/**
* set the createdTime - 记录创建时间.
*
* @param createdTime - 记录创建时间
*/
public void setCreatedTime(String createdTime) {
this.createdTime = createdTime;
}
/**
* get the updatedBy - 记录修改者.
* @return the updatedBy
*/
public String getUpdatedBy() {
return this.updatedBy;
}
/**
* set the updatedBy - 记录修改者.
*
* @param updatedBy - 记录修改者
*/
public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy;
}
/**
* get the updatedName - 记录修改名称.
* @return the updatedName
*/
public String getUpdatedName() {
return this.updatedName;
}
/**
* set the updatedName - 记录修改名称.
*
* @param updatedName - 记录修改名称
*/
public void setUpdatedName(String updatedName) {
this.updatedName = updatedName;
}
/**
* get the updatedTime - 记录修改时间.
* @return the updatedTime
*/
public String getUpdatedTime() {
return this.updatedTime;
}
/**
* set the updatedTime - 记录修改时间.
*
* @param updatedTime - 记录修改时间
*/
public void setUpdatedTime(String updatedTime) {
this.updatedTime = updatedTime;
}
/**
* get the deleteFlag - 0-未删除,1-已删除.
* @return the deleteFlag
*/
public Integer getDeleteFlag() {
return this.deleteFlag;
}
/**
* set the deleteFlag - 0-未删除,1-已删除.
*
* @param deleteFlag - 0-未删除,1-已删除
*/
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
/**
* get the status - 状态.
* @return the status
*/
public String getStatus() {
return this.status;
}
/**
* set the status - 状态.
*
* @param status - 状态
*/
public void setStatus(String status) {
this.status = status;
}
/**
* get the internalCode - 内码.
* @return the internalCode
*/
public String getInternalCode() {
return this.internalCode;
}
/**
* set the internalCode - 内码.
*
* @param internalCode - 内码
*/
public void setInternalCode(String internalCode) {
this.internalCode = internalCode;
}
/**
* get the title - 标题.
* @return the title
*/
public String getTitle() {
return this.title;
}
/**
* set the title - 标题.
*
* @param title - 标题
*/
public void setTitle(String title) {
this.title = title;
}
/**
* get the content - 内容.
* @return the content
*/
public String getContent() {
return this.content;
}
/**
* set the content - 内容.
*
* @param content - 内容
*/
public void setContent(String content) {
this.content = content;
}
/**
* get the userEname - 用户ID.
* @return the userEname
*/
public String getUserEname() {
return this.userEname;
}
/**
* set the userEname - 用户ID.
*
* @param userEname - 用户ID
*/
public void setUserEname(String userEname) {
this.userEname = userEname;
}
/**
* get the userCname - 用户姓名.
* @return the userCname
*/
public String getUserCname() {
return this.userCname;
}
/**
* set the userCname - 用户姓名.
*
* @param userCname - 用户姓名
*/
public void setUserCname(String userCname) {
this.userCname = userCname;
}
/**
* get the formEname - 画面英文名.
* @return the formEname
*/
public String getFormEname() {
return this.formEname;
}
/**
* set the formEname - 画面英文名.
*
* @param formEname - 画面英文名
*/
public void setFormEname(String formEname) {
this.formEname = formEname;
}
/**
* get the formParam - 画面参数.
* @return the formParam
*/
public String getFormParam() {
return this.formParam;
}
/**
* set the formParam - 画面参数.
*
* @param formParam - 画面参数
*/
public void setFormParam(String formParam) {
this.formParam = formParam;
}
/**
* get the closeTime - 关闭时间.
* @return the closeTime
*/
public String getCloseTime() {
return this.closeTime;
}
/**
* set the closeTime - 关闭时间.
*
* @param closeTime - 关闭时间
*/
public void setCloseTime(String closeTime) {
this.closeTime = closeTime;
}
/**
* get the value from Map.
*
* @param map - source data map
*/
@Override
public void fromMap(Map map) {
setCreatedBy(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_CREATED_BY)), createdBy));
setCreatedName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_CREATED_NAME)), createdName));
setCreatedTime(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_CREATED_TIME)), createdTime));
setUpdatedBy(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_UPDATED_BY)), updatedBy));
setUpdatedName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_UPDATED_NAME)), updatedName));
setUpdatedTime(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_UPDATED_TIME)), updatedTime));
setDeleteFlag(NumberUtils.toInteger(StringUtils.toString(map.get(FIELD_DELETE_FLAG)), deleteFlag));
setStatus(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_STATUS)), status));
setInternalCode(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_INTERNAL_CODE)), internalCode));
setTitle(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_TITLE)), title));
setContent(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_CONTENT)), content));
setUserEname(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_USER_ENAME)), userEname));
setUserCname(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_USER_CNAME)), userCname));
setFormEname(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_FORM_ENAME)), formEname));
setFormParam(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_FORM_PARAM)), formParam));
setCloseTime(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_CLOSE_TIME)), closeTime));
}
/**
* set the value to Map.
*/
@Override
public Map toMap() {
Map map = new HashMap();
map.put(FIELD_CREATED_BY, StringUtils.toString(createdBy, eiMetadata.getMeta(FIELD_CREATED_BY)));
map.put(FIELD_CREATED_NAME, StringUtils.toString(createdName, eiMetadata.getMeta(FIELD_CREATED_NAME)));
map.put(FIELD_CREATED_TIME, StringUtils.toString(createdTime, eiMetadata.getMeta(FIELD_CREATED_TIME)));
map.put(FIELD_UPDATED_BY, StringUtils.toString(updatedBy, eiMetadata.getMeta(FIELD_UPDATED_BY)));
map.put(FIELD_UPDATED_NAME, StringUtils.toString(updatedName, eiMetadata.getMeta(FIELD_UPDATED_NAME)));
map.put(FIELD_UPDATED_TIME, StringUtils.toString(updatedTime, eiMetadata.getMeta(FIELD_UPDATED_TIME)));
map.put(FIELD_DELETE_FLAG, StringUtils.toString(deleteFlag, eiMetadata.getMeta(FIELD_DELETE_FLAG)));
map.put(FIELD_STATUS, StringUtils.toString(status, eiMetadata.getMeta(FIELD_STATUS)));
map.put(FIELD_INTERNAL_CODE, StringUtils.toString(internalCode, eiMetadata.getMeta(FIELD_INTERNAL_CODE)));
map.put(FIELD_TITLE, StringUtils.toString(title, eiMetadata.getMeta(FIELD_TITLE)));
map.put(FIELD_CONTENT, StringUtils.toString(content, eiMetadata.getMeta(FIELD_CONTENT)));
map.put(FIELD_USER_ENAME, StringUtils.toString(userEname, eiMetadata.getMeta(FIELD_USER_ENAME)));
map.put(FIELD_USER_CNAME, StringUtils.toString(userCname, eiMetadata.getMeta(FIELD_USER_CNAME)));
map.put(FIELD_FORM_ENAME, StringUtils.toString(formEname, eiMetadata.getMeta(FIELD_FORM_ENAME)));
map.put(FIELD_FORM_PARAM, StringUtils.toString(formParam, eiMetadata.getMeta(FIELD_FORM_PARAM)));
map.put(FIELD_CLOSE_TIME, StringUtils.toString(closeTime, eiMetadata.getMeta(FIELD_CLOSE_TIME)));
return map;
}
}
package com.baosight.hggp.hg.ct.service;
import com.baosight.hggp.core.dao.DaoUtils;
import com.baosight.hggp.hg.ct.constant.HgCtConst;
import com.baosight.hggp.hg.ct.constant.HgCtSqlConst;
import com.baosight.hggp.hg.ct.domain.HGCT01;
import com.baosight.hggp.util.DateUtils;
import com.baosight.hggp.util.EiInfoUtils;
import com.baosight.hggp.util.LogUtils;
import com.baosight.hggp.util.ObjectUtils;
import com.baosight.iplat4j.core.ei.EiConstant;
import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.service.impl.ServiceEPBase;
import com.baosight.iplat4j.core.web.threadlocal.UserSession;
import org.apache.commons.collections.CollectionUtils;
import java.util.List;
import java.util.Map;
/**
* 通知信息
*
* @author:songx
* @date:2021/10/15,16:46
*/
public class ServiceHGCT01 extends ServiceEPBase {
/**
* 页面加载调用.
*
* @param inInfo
*/
public EiInfo initLoad(EiInfo inInfo) {
try {
inInfo.addBlock(EiConstant.resultBlock).addBlockMeta(new HGCT01().eiMetadata);
} catch (Exception e) {
LogUtils.setMsg(inInfo, e, "初始化失败");
}
return inInfo;
}
/**
* 页面查询调用入口.
*
* @param inInfo
*/
public EiInfo query(EiInfo inInfo) {
try {
Map queryMap = EiInfoUtils.getFirstRow(inInfo);
// 只看自己的通知
queryMap.put(HGCT01.FIELD_USER_ENAME, UserSession.getLoginName());
inInfo = super.query(inInfo, HGCT01.QUERY);
} catch (Exception e) {
LogUtils.setMsg(inInfo, e, "查询失败");
}
return inInfo;
}
/**
* 查询待办
*
* @param inInfo
* @return
*/
public EiInfo queryTodo(EiInfo inInfo) {
try {
Map queryMap = EiInfoUtils.getFirstRow(inInfo);
queryMap.put(HGCT01.FIELD_STATUS, HgCtConst.HgCt01.Status.OPEN);
queryMap.put(HGCT01.FIELD_USER_ENAME, UserSession.getLoginName());
inInfo = super.query(inInfo, HGCT01.QUERY, new HGCT01());
// 查询总数量
List<Integer> counts = dao.query(HGCT01.COUNT, queryMap);
inInfo.set(EiConstant.countStr, CollectionUtils.isEmpty(counts) ? 0 : counts.get(0));
} catch (Exception e) {
LogUtils.setMsg(inInfo, e, "查询待办信息");
}
return inInfo;
}
/**
* 查询已办
*
* @param inInfo
* @return
*/
public EiInfo queryRecord(EiInfo inInfo) {
try {
Map queryMap = EiInfoUtils.getFirstRow(inInfo);
queryMap.put(HGCT01.FIELD_STATUS, HgCtConst.HgCt01.Status.CLOSE);
queryMap.put(HGCT01.FIELD_USER_ENAME, UserSession.getLoginName());
inInfo = super.query(inInfo, HGCT01.QUERY, new HGCT01());
// 查询总数量
List<Integer> counts = dao.query(HGCT01.COUNT, queryMap);
inInfo.set(EiConstant.countStr, CollectionUtils.isEmpty(counts) ? 0 : counts.get(0));
} catch (Exception e) {
LogUtils.setMsg(inInfo, e, "查询已办信息");
}
return inInfo;
}
/**
* 已读
*
* @param inInfo
* @return
*/
public EiInfo confirm(EiInfo inInfo) {
try {
Map resultRow = EiInfoUtils.getFirstRow(inInfo, EiConstant.resultBlock);
if (ObjectUtils.isEmpty(resultRow.get(HGCT01.FIELD_INTERNAL_CODE))) {
inInfo.setMsg("无效的待办消息");
return inInfo;
}
resultRow.put(HGCT01.FIELD_STATUS, HgCtConst.HgCt01.Status.CLOSE);
resultRow.put(HGCT01.FIELD_CLOSE_TIME, DateUtils.shortDateTime());
DaoUtils.update(HgCtSqlConst.HgCt01.CONFIRM, resultRow);
} catch (Exception e) {
LogUtils.setMsg(inInfo, e, "确认已办失败");
}
return inInfo;
}
/**
* 批量已读
*
* @param inInfo
* @return
*/
public EiInfo batchConfirm(EiInfo inInfo) {
try {
int successCount = 0;
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
for (Map resultRow : resultRows) {
resultRow.put(HGCT01.FIELD_STATUS, HgCtConst.HgCt01.Status.CLOSE);
resultRow.put(HGCT01.FIELD_CLOSE_TIME, DateUtils.shortDateTime());
int result = DaoUtils.update(HgCtSqlConst.HgCt01.CONFIRM, resultRow);
if (result > 0) {
successCount++;
}
}
inInfo = this.query(inInfo);
inInfo.setMsg("操作成功!本次对[" + successCount + "]条数据确认已办成功!");
} catch (Exception e) {
LogUtils.setMsg(inInfo, e, "已办失败");
}
return inInfo;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="HGCT01">
<sql id="column">
CREATED_BY as "createdBy", <!-- 记录创建者 -->
CREATED_NAME as "createdName", <!-- 记录创建名称 -->
CREATED_TIME as "createdTime", <!-- 记录创建时间 -->
UPDATED_BY as "updatedBy", <!-- 记录修改者 -->
UPDATED_NAME as "updatedName", <!-- 记录修改名称 -->
UPDATED_TIME as "updatedTime", <!-- 记录修改时间 -->
DELETE_FLAG as "deleteFlag", <!-- 0-未删除,1-已删除 -->
STATUS as "status", <!-- 状态 -->
INTERNAL_CODE as "internalCode", <!-- 内码 -->
TITLE as "title", <!-- 标题 -->
CONTENT as "content", <!-- 内容 -->
USER_ENAME as "userEname", <!-- 用户ID -->
USER_CNAME as "userCname", <!-- 用户姓名 -->
FORM_ENAME as "formEname", <!-- 画面英文名 -->
FORM_PARAM as "formParam", <!-- 画面参数 -->
CLOSE_TIME as "closeTime" <!-- 关闭时间 -->
</sql>
<sql id="condition">
<isNotEmpty prepend=" AND " property="deleteFlag">
DELETE_FLAG = #deleteFlag#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="status">
STATUS = #status#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="internalCode">
INTERNAL_CODE = #internalCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="title">
TITLE LIKE CONCAT('%', #title#, '%')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="content">
CONTENT LIKE CONCAT('%', #content#, '%')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="userEname">
USER_ENAME = #userEname#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="userCname">
USER_CNAME = #userCname#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="formEname">
FORM_ENAME = #formEname#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="formParam">
FORM_PARAM = #formParam#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="closeTime">
CLOSE_TIME = #closeTime#
</isNotEmpty>
</sql>
<sql id="customCondition">
<include refid="condition"/>
<isNotEmpty prepend=" AND " property="createTimeFrom">
CREATED_TIME &gt;= REPLACE(REPLACE(REPLACE(#createTimeFrom#, '-', ''), ':', ''), ' ', '')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createTimeTo">
CREATED_TIME &lt;= REPLACE(REPLACE(REPLACE(#createTimeTo#, '-', ''), ':', ''), ' ', '')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="closeTimeFrom">
CLOSE_TIME &gt;= REPLACE(REPLACE(REPLACE(#closeTimeFrom#, '-', ''), ':', ''), ' ', '')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="closeTimeTo">
CLOSE_TIME &lt;= REPLACE(REPLACE(REPLACE(#closeTimeTo#, '-', ''), ':', ''), ' ', '')
</isNotEmpty>
</sql>
<sql id="orderBy">
<dynamic prepend="ORDER BY">
<isNotEmpty property="orderBy">
$orderBy$
</isNotEmpty>
<isEmpty property="orderBy">
STATUS ASC, CREATED_TIME DESC
</isEmpty>
</dynamic>
</sql>
<select id="query" resultClass="com.baosight.hggp.hg.ct.domain.HGCT01">
SELECT
<include refid="column"/>
FROM ${hggpSchema}.HGCT01
WHERE 1=1
<include refid="customCondition"/>
<include refid="orderBy"/>
</select>
<select id="count" resultClass="int">
SELECT COUNT(*) FROM ${hggpSchema}.HGCT01
WHERE 1=1
<include refid="customCondition"/>
</select>
<insert id="insert">
INSERT INTO ${hggpSchema}.HGCT01 (
CREATED_BY, <!-- 记录创建者 -->
CREATED_NAME, <!-- 记录创建名称 -->
CREATED_TIME, <!-- 记录创建时间 -->
UPDATED_BY, <!-- 记录修改者 -->
UPDATED_NAME, <!-- 记录修改名称 -->
UPDATED_TIME, <!-- 记录修改时间 -->
DELETE_FLAG, <!-- 0-未删除,1-已删除 -->
STATUS, <!-- 状态 -->
INTERNAL_CODE, <!-- 内码 -->
TITLE, <!-- 标题 -->
CONTENT, <!-- 内容 -->
USER_ENAME, <!-- 用户ID -->
USER_CNAME, <!-- 用户姓名 -->
FORM_ENAME, <!-- 画面英文名 -->
FORM_PARAM, <!-- 画面参数 -->
CLOSE_TIME <!-- 关闭时间 -->
) VALUES (
#createdBy#, #createdName#, #createdTime#, #updatedBy#, #updatedName#, #updatedTime#, #deleteFlag#,
#status#, #internalCode#, #title#, #content#, #userEname#, #userCname#, #formEname#, #formParam#, #closeTime#)
</insert>
<!-- 确认 -->
<update id="confirm">
UPDATE ${hggpSchema}.HGCT01
SET
STATUS = #status#,
CLOSE_TIME = #closeTime#,
<include refid="SqlBase.updateRevise"/>
WHERE INTERNAL_CODE = #internalCode#
AND STATUS = 'open'
</update>
</sqlMap>
package com.baosight.hggp.hg.ct.tools;
import com.baosight.hggp.core.dao.DaoUtils;
import com.baosight.hggp.hg.ct.constant.HgCtConst;
import com.baosight.hggp.hg.ct.domain.HGCT01;
/**
* @author:songx
* @date:2024/3/25,20:44
*/
public class HgCtTools {
/**
* PMWF08 sql 定义
*
* @author:songx
* @date:2024/3/25,21:04
*/
public static class JaCt00 {
/**
* 写入数据库
*NotifyTools
* @param ct00
*/
public static void insertDb(HGCT01 ct00) {
ct00.setStatus(HgCtConst.HgCt01.Status.OPEN);
DaoUtils.insert(HGCT01.INSERT, ct00);
}
}
}
package com.baosight.hggp.hg.ct.utils;
import com.baosight.hggp.hg.ct.domain.HGCT01;
import com.baosight.hggp.hg.ct.tools.HgCtTools;
import com.baosight.hggp.hg.xs.domain.User;
import com.baosight.hggp.hg.xs.tools.HGXSTools;
import com.baosight.hggp.util.AssertUtils;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
/**
* @author:songx
* @date:2024/3/25,20:45
*/
@Slf4j
public class HgCtUtils {
/**
* @author:songx
* @date:2024/10/8,17:20
*/
public static class HgCt01 {
/**
* 发送通知
*
* @param ct00 消息体
*/
public static void send(HGCT01 ct00) {
AssertUtils.isNull(ct00, "待办内容不能为空");
AssertUtils.isEmpty(ct00.getTitle(), "待办标题不能为空");
AssertUtils.isEmpty(ct00.getContent(), "待办内容不能为空");
AssertUtils.isEmpty(ct00.getUserEname(), "待办对象不能为空");
// 设置通知对象名称
User user = HGXSTools.XsUser.getByLogin(ct00.getUserEname());
ct00.setUserCname(user.getUserName());
HgCtTools.JaCt00.insertDb(ct00);
}
/**
* 发送通知
*
* @param ct00 消息体
* @param loginNames loginNames
*/
public static void send(HGCT01 ct00, List<String> loginNames) {
AssertUtils.isNull(ct00, "待办内容不能为空");
AssertUtils.isEmpty(ct00.getTitle(), "待办标题不能为空");
AssertUtils.isEmpty(ct00.getContent(), "待办内容不能为空");
AssertUtils.isEmpty(loginNames, "待办对象不能为空");
try {
for (String loginName : loginNames) {
User user = HGXSTools.XsUser.getByLogin(loginName);
ct00.setUserCname(user.getUserName());
ct00.setUserEname(user.getLoginName());
HgCtTools.JaCt00.insertDb(ct00);
}
} catch (Exception e) {
log.error("发送通知消息失败:{}", e.getMessage(), e);
}
}
}
}
...@@ -35,8 +35,8 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -35,8 +35,8 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
public List query(String name, Object parameters) { public List query(String name, Object parameters) {
try { try {
// 初始化参数 // 初始化参数
this.setAuthParam(name, parameters); Object params = this.setAuthParam(name, parameters);
List ret = super.query(name, parameters); List ret = super.query(name, params);
return ret; return ret;
} catch (RuntimeException var4) { } catch (RuntimeException var4) {
throw var4; throw var4;
...@@ -46,8 +46,8 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -46,8 +46,8 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
public List queryAll(String name, Object parameters) { public List queryAll(String name, Object parameters) {
try { try {
// 初始化参数 // 初始化参数
this.setAuthParam(name, parameters); Object params = this.setAuthParam(name, parameters);
List ret = super.queryAll(name, parameters); List ret = super.queryAll(name, params);
return ret; return ret;
} catch (RuntimeException var4) { } catch (RuntimeException var4) {
throw var4; throw var4;
...@@ -57,8 +57,8 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -57,8 +57,8 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
public List query(String name, Object parameters, int offset, int limit) { public List query(String name, Object parameters, int offset, int limit) {
try { try {
// 初始化参数 // 初始化参数
this.setAuthParam(name, parameters); Object params = this.setAuthParam(name, parameters);
List ret = super.query(name, parameters, offset, limit); List ret = super.query(name, params, offset, limit);
return ret; return ret;
} catch (RuntimeException var6) { } catch (RuntimeException var6) {
throw var6; throw var6;
...@@ -70,7 +70,9 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -70,7 +70,9 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
int offset = pageStatus.getPageNumber() * pageStatus.getPageSize(); int offset = pageStatus.getPageNumber() * pageStatus.getPageSize();
try { try {
List ret = super.query(name, parameters, offset, limit); // 初始化参数
Object params = this.setAuthParam(name, parameters);
List ret = super.query(name, params, offset, limit);
return ret; return ret;
} catch (RuntimeException var7) { } catch (RuntimeException var7) {
ExceptionUtil.getRootCauseMessage(var7); ExceptionUtil.getRootCauseMessage(var7);
...@@ -83,8 +85,8 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -83,8 +85,8 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
try { try {
// 初始化参数 // 初始化参数
this.setAuthParam(name, parameters); Object params = this.setAuthParam(name, parameters);
int ret = super.count(name, parameters); int ret = super.count(name, params);
return ret; return ret;
} catch (RuntimeException var5) { } catch (RuntimeException var5) {
throw var5; throw var5;
...@@ -165,18 +167,20 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -165,18 +167,20 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
* @param name * @param name
* @param parameters * @param parameters
*/ */
private void setAuthParam(String name, Object parameters) { private Object setAuthParam(String name, Object parameters) {
// 需要过滤部分sql name,否则会形成死循环 // 需要过滤部分sql name,否则会形成死循环
if (!name.startsWith("HG") || !(parameters instanceof Map)) { if (!name.startsWith("HG") || !(parameters instanceof Map)) {
return; return parameters;
} }
if (parameters == null) { Map params = new HashMap();
parameters = new HashMap(); if (parameters != null) {
params.putAll((Map) parameters);
} }
// 设置企业信息 // 设置企业信息
this.setAccountCode(name, parameters); this.setAccountCode(name, params);
// 设置数据查询权限 // 设置数据查询权限
this.setDataAuth(name, parameters); this.setDataAuth(name, params);
return params;
} }
/** /**
...@@ -185,7 +189,7 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -185,7 +189,7 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
* @param name * @param name
* @param parameters * @param parameters
*/ */
private void setAccountCode(String name, Object parameters) { private void setAccountCode(String name, Map parameters) {
// 需要过滤部分sql name,否则会形成死循环 // 需要过滤部分sql name,否则会形成死循环
String[] serviceFilter = {"HGXSUser", "HGPZ009.query"}; String[] serviceFilter = {"HGXSUser", "HGPZ009.query"};
if (StringUtils.startsWithAny(name, serviceFilter)) { if (StringUtils.startsWithAny(name, serviceFilter)) {
...@@ -194,11 +198,11 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -194,11 +198,11 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
// 本来是BUG,避免业务代码改动依然保持原逻辑ADMIN时依然置空 // 本来是BUG,避免业务代码改动依然保持原逻辑ADMIN时依然置空
String accountCode = UserSessionUtils.getAccountCode(); String accountCode = UserSessionUtils.getAccountCode();
if (CommonConstant.Field.ADMIN.equals(accountCode)) { if (CommonConstant.Field.ADMIN.equals(accountCode)) {
((Map) parameters).put("accountCode", null); parameters.put("accountCode", null);
} else if (StringUtils.isBlank(accountCode)) { } else if (StringUtils.isBlank(accountCode)) {
((Map) parameters).put("accountCode", " "); parameters.put("accountCode", " ");
} else { } else {
((Map) parameters).put("accountCode", accountCode); parameters.put("accountCode", accountCode);
} }
} }
...@@ -208,9 +212,9 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -208,9 +212,9 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
* @param name * @param name
* @param parameters * @param parameters
*/ */
private void setDataAuth(String name, Object parameters) { private void setDataAuth(String name, Map parameters) {
// 本次操作不做权限 // 本次操作不做权限
boolean notAuth = MapUtils.getBooleanValue((Map) parameters, "notAuth"); boolean notAuth = MapUtils.getBooleanValue(parameters, "notAuth");
if (notAuth) { if (notAuth) {
return; return;
} }
...@@ -241,7 +245,7 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -241,7 +245,7 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
* @param userGroups * @param userGroups
* @param parameters * @param parameters
*/ */
private void buildDataAuth(List<UserGroup> userGroups, Object parameters) { private void buildDataAuth(List<UserGroup> userGroups, Map parameters) {
List<String> depCodes = new ArrayList<>(); List<String> depCodes = new ArrayList<>();
boolean onlyPeople = false; boolean onlyPeople = false;
for (UserGroup userGroup : userGroups) { for (UserGroup userGroup : userGroups) {
...@@ -257,20 +261,20 @@ public class SqlMapDaoLogProxy extends SqlMapDao { ...@@ -257,20 +261,20 @@ public class SqlMapDaoLogProxy extends SqlMapDao {
} }
// 无权限 // 无权限
if (!onlyPeople && CollectionUtils.isEmpty(depCodes)) { if (!onlyPeople && CollectionUtils.isEmpty(depCodes)) {
((Map) parameters).put("authDepCode", DataAuthTypeEnum.NO_AUTH.getCode()); parameters.put("authDepCode", DataAuthTypeEnum.NO_AUTH.getCode());
return; return;
} }
// 组合权限 // 组合权限
if (onlyPeople && CollectionUtils.isNotEmpty(depCodes)) { if (onlyPeople && CollectionUtils.isNotEmpty(depCodes)) {
((Map) parameters).put("authCombination", CommonConstant.YesNo.YES_1); parameters.put("authCombination", CommonConstant.YesNo.YES_1);
} }
// 仅本人 // 仅本人
if (onlyPeople) { if (onlyPeople) {
((Map) parameters).put("authOnlyPeople", UserSessionUtils.getLoginName()); parameters.put("authOnlyPeople", UserSessionUtils.getLoginName());
} }
// 去除重复数据 // 去除重复数据
if (CollectionUtils.isNotEmpty(depCodes)) { if (CollectionUtils.isNotEmpty(depCodes)) {
((Map) parameters).put("authDepCodes", depCodes.stream().distinct().collect(Collectors.toList())); parameters.put("authDepCodes", depCodes.stream().distinct().collect(Collectors.toList()));
} }
} }
......
html {
font-size: 16px;
}
html,
body {
background: #F7FAFF;
}
body {
font-size: 12px;
font-family: "Microsoft Yahei", "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", SimSun, sans-serif;
}
.iplat-menu-ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.iplat-menu-ul .iplat-menu {
font-size: 13px;
color: #FFFFFF;
background: #3165B9;
}
.iplat-menu-ul .iplat-menu .i-menu-icon {
display: inline-block;
width: 18px;
}
.iplat-menu-ul .iplat-menu.open > a.i-sub-0,
.iplat-menu-ul .iplat-menu.open > a.i-sub-2 {
background: #2972EC;
background: linear-gradient(63deg, #2972EC 5%, #368FFF 100%);
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.1);
}
.iplat-menu-ul .iplat-menu.open > a.i-sub-0:before,
.iplat-menu-ul .iplat-menu.open > a.i-sub-2:before {
position: absolute;
top: 10px;
right: 15px;
display: inline-block;
font-family: 'FontAwesome';
content: "\f107";
}
.iplat-menu-ul .iplat-menu > a {
position: relative;
color: #FFFFFF;
display: block;
padding: 10px 20px;
}
.iplat-menu-ul .iplat-menu > a .i-menu-icon {
padding: 0;
}
.iplat-menu-ul .iplat-menu > a.i-sub-0:before,
.iplat-menu-ul .iplat-menu > a.i-sub-2:before {
position: absolute;
top: 10px;
right: 15px;
display: inline-block;
font-family: 'FontAwesome';
content: "\f105";
}
.iplat-menu-ul .iplat-menu > a:hover {
color: #FFFFFF;
cursor: pointer;
background: #2972EC;
background: linear-gradient(63deg, #2972EC 5%, #368FFF 100%);
}
.iplat-menu-ul .k-treeview {
display: none;
padding-left: 12px;
font-size: 12px;
color: #FFFFFF;
}
.iplat-menu-ul .k-treeview .k-item {
padding: 0 0 0 16px;
}
.iplat-menu-ul .k-treeview .k-item .k-in {
padding: 9px 8px 9px 20px;
display: block;
}
.iplat-menu-ul .k-treeview .k-item .k-in .k-sprite {
margin-right: 2px;
margin-left: -18px;
}
.iplat-menu-ul .k-treeview .k-item .k-in:hover {
background: #2972EC;
background: linear-gradient(63deg, #2972EC 5%, #368FFF 100%);
}
.iplat-menu-ul .k-treeview .k-item .k-in.k-hover:hover,
.iplat-menu-ul .k-treeview .k-item .k-in.k-state-selected:hover,
.iplat-menu-ul .k-treeview .k-item .k-in.k-focus:hover {
color: #FFFFFF;
background: #2972EC;
background: linear-gradient(63deg, #2972EC 5%, #368FFF 100%);
}
.iplat-menu-ul .k-treeview .k-item .k-in.k-selected,
.iplat-menu-ul .k-treeview .k-item .k-in.k-focus{
color: #FFFFFF;
background: #2972EC;
background: linear-gradient(63deg, #2972EC 5%, #368FFF 100%);
}
.iplat-menu-ul .k-treeview .k-item .k-icon {
float: right;
background: none !important;
width: 15px;
height: 15px;
font-size: 13px;
margin-top: 8px;
margin-right: 15px;
}
.iplat-menu-ul .k-treeview .k-item .k-icon.k-i-expand:before {
position: absolute;
top: 8px;
right: 0;
display: inline-block;
font-family: 'FontAwesome';
content: "\f105";
}
.iplat-menu-ul .k-treeview .k-item .k-icon.k-i-collapse:before {
position: absolute;
top: 8px;
right: 0;
display: inline-block;
font-family: 'FontAwesome';
content: "\f107";
}
.iplat-menu-ul .k-treeview ul li li:before {
position: absolute;
top: -0.25rem;
left: -0.5rem;
content: '';
width: 1.25rem;
height: 1rem;
border-width: 0;
}
.iplat-menu-ul .k-treeview ul li:after {
position: absolute;
top: 0;
left: -0.5rem;
bottom: 0;
content: '';
border-width: 0;
}
.iplat-menu-ul .k-treeview .k-treeview-lines {
margin: 0px;
}
.iplat-menu-ul span.iplat-menu-last {
border-bottom: 0;
}
#page-container,
#sidebar {
background-color: #204E9B;
}
#page-container .sidebar-content,
#sidebar .sidebar-content {
height: 100%;
}
#page-container,
.i-index-content {
background-color: #FFFFFF;
}
#page-container div[class^=col-],
.i-index-content div[class^=col-] {
padding: 0 4px;
}
#page-container .row,
.i-index-content .row {
margin: 0 -4px;
}
#page-container .main-content,
.i-index-content .main-content {
min-height: 100px !important;
}
#page-container .main-content .k-tabstrip-wrapper,
.i-index-content .main-content .k-tabstrip-wrapper {
margin-bottom: 0;
}
@media screen and (min-width: 768px) {
#page-container .main-content,
.i-index-content .main-content {
background-color: #F7FAFF;
margin: 0 auto 0;
max-width: 100%;
overflow-x: visible;
}
}
#page-container #sidebar,
.i-index-content #sidebar,
#page-container.sidebar-mini #sidebar:hover,
.i-index-content.sidebar-mini #sidebar:hover {
position: fixed;
top: 0;
bottom: 0;
width: 230px;
z-index: 1032;
background-color: linear-gradient(90deg, #204E9B 0%, #2d79e9 40%);
}
#page-container #sidebar .side-header,
.i-index-content #sidebar .side-header,
#page-container.sidebar-mini #sidebar:hover .side-header,
.i-index-content.sidebar-mini #sidebar:hover .side-header {
height: 60px;
min-height: 31px;
padding: 16px 9px 13px 9px;
background-color: #204E9B;
}
#page-container #sidebar .side-header .logo,
.i-index-content #sidebar .side-header .logo,
#page-container.sidebar-mini #sidebar:hover .side-header .logo,
.i-index-content.sidebar-mini #sidebar:hover .side-header .logo {
height: 31px;
width: 136px;
display: inline-block;
margin-top: 1px;
margin-left: 5px;
background: url("iplatui/img/index/baosight_logo.png") no-repeat;
background-size: 90%;
}
#page-container #sidebar .side-header .projectType,
.i-index-content #sidebar .side-header .projectType,
#page-container.sidebar-mini #sidebar:hover .side-header .projectType,
.i-index-content.sidebar-mini #sidebar:hover .side-header .projectType {
font-size: 13px;
color: white;
display: inline-block;
position: absolute;
line-height: 31px;
height: 31px;
left: 152px;
top: 13px;
overflow: hidden;
}
#page-container #sidebar #iplat-menu,
.i-index-content #sidebar #iplat-menu,
#page-container.sidebar-mini #sidebar:hover #iplat-menu,
.i-index-content.sidebar-mini #sidebar:hover #iplat-menu,
#page-container #sidebar .side-content,
.i-index-content #sidebar .side-content,
#page-container.sidebar-mini #sidebar:hover .side-content,
.i-index-content.sidebar-mini #sidebar:hover .side-content {
background-image: linear-gradient(0deg, #204E9B 0%, #2F549A 100%);
padding: 0 !important;
}
#page-container #sidebar #iplat-menu .iplat-menu-content,
.i-index-content #sidebar #iplat-menu .iplat-menu-content,
#page-container.sidebar-mini #sidebar:hover #iplat-menu .iplat-menu-content,
.i-index-content.sidebar-mini #sidebar:hover #iplat-menu .iplat-menu-content,
#page-container #sidebar .side-content .iplat-menu-content,
.i-index-content #sidebar .side-content .iplat-menu-content,
#page-container.sidebar-mini #sidebar:hover .side-content .iplat-menu-content,
.i-index-content.sidebar-mini #sidebar:hover .side-content .iplat-menu-content {
background: #2C5399;
}
#page-container #sidebar #iplat-menu .iplat-menu-content ul ul,
.i-index-content #sidebar #iplat-menu .iplat-menu-content ul ul,
#page-container.sidebar-mini #sidebar:hover #iplat-menu .iplat-menu-content ul ul,
.i-index-content.sidebar-mini #sidebar:hover #iplat-menu .iplat-menu-content ul ul,
#page-container #sidebar .side-content .iplat-menu-content ul ul,
.i-index-content #sidebar .side-content .iplat-menu-content ul ul,
#page-container.sidebar-mini #sidebar:hover .side-content .iplat-menu-content ul ul,
.i-index-content.sidebar-mini #sidebar:hover .side-content .iplat-menu-content ul ul {
background: #2C539D;
}
#page-container #sidebar #side-toggle,
.i-index-content #sidebar #side-toggle,
#page-container.sidebar-mini #sidebar:hover #side-toggle,
.i-index-content.sidebar-mini #sidebar:hover #side-toggle {
bottom: 0;
padding: 9px;
color: #FFFFFF;
height: 31px;
width: 230px;
z-index: 1032;
background-color: #204E9B;
text-align: center;
}
#page-container #sidebar #side-toggle .hide-mini,
.i-index-content #sidebar #side-toggle .hide-mini,
#page-container.sidebar-mini #sidebar:hover #side-toggle .hide-mini,
.i-index-content.sidebar-mini #sidebar:hover #side-toggle .hide-mini {
display: inline-block;
}
#page-container #sidebar #side-toggle .hide-normal,
.i-index-content #sidebar #side-toggle .hide-normal,
#page-container.sidebar-mini #sidebar:hover #side-toggle .hide-normal,
.i-index-content.sidebar-mini #sidebar:hover #side-toggle .hide-normal {
display: none;
}
#page-container.sidebar-mini #sidebar .side-header .logo,
.i-index-content.sidebar-mini #sidebar .side-header .logo {
width: 31px;
margin-top: -2px;
margin-left: 4px;
background-size: cover;
}
#page-container.sidebar-mini #sidebar .iplat-menu.open .iplat-menu-content,
.i-index-content.sidebar-mini #sidebar .iplat-menu.open .iplat-menu-content {
display: none !important;
}
#page-container.sidebar-mini #sidebar #side-toggle,
.i-index-content.sidebar-mini #sidebar #side-toggle {
width: 60px;
}
#page-container.sidebar-mini #sidebar #side-toggle .hide-mini,
.i-index-content.sidebar-mini #sidebar #side-toggle .hide-mini {
display: none;
}
#page-container.sidebar-mini #sidebar #side-toggle .hide-normal,
.i-index-content.sidebar-mini #sidebar #side-toggle .hide-normal {
display: inline-block;
}
#page-container.sidebar-mini #sidebar:hover .iplat-menu.open .iplat-menu-content,
.i-index-content.sidebar-mini #sidebar:hover .iplat-menu.open .iplat-menu-content {
display: block !important;
}
#page-container.sidebar-mini #sidebar:hover #side-toggle,
.i-index-content.sidebar-mini #sidebar:hover #side-toggle {
width: 230px;
}
#page-container.sidebar-mini #sidebar:hover #side-toggle .hide-mini,
.i-index-content.sidebar-mini #sidebar:hover #side-toggle .hide-mini {
display: none;
}
#page-container.sidebar-mini #sidebar:hover #side-toggle .hide-normal,
.i-index-content.sidebar-mini #sidebar:hover #side-toggle .hide-normal {
display: inline-block;
}
#page-container #header-navbar,
.i-index-content #header-navbar {
height: 60px;
min-height: 34px;
padding: 13px;
background: #1F65DA;
background: linear-gradient(90deg, #204E9B 0%, #2d79e9 40%);
}
#page-container #header-navbar .nav-header .k-autocomplete,
.i-index-content #header-navbar .nav-header .k-autocomplete {
border: none;
border-radius: 3px;
width: 100%;
height: 28px;
}
#page-container #header-navbar .nav-header .k-autocomplete .k-i-loading,
.i-index-content #header-navbar .nav-header .k-autocomplete .k-i-loading {
bottom: 6px;
right: 2px;
}
#page-container #header-navbar .nav-header li.search-input,
.i-index-content #header-navbar .nav-header li.search-input {
padding: 1px 0;
}
#page-container #header-navbar .nav-header li.search-input input,
.i-index-content #header-navbar .nav-header li.search-input input {
height: 28px;
text-transform: uppercase;
min-width: 160px;
box-sizing: border-box;
text-indent: 12px;
padding: 0;
line-height: 21px;
border: 0;
border-radius: 3px;
color: rgba(0, 0, 0, 0.65);
}
#page-container #header-navbar .nav-header .fa-user:before,
.i-index-content #header-navbar .nav-header .fa-user:before {
padding-right: 8px;
}
#page-container #header-navbar .nav-header .fa-file-o:before,
.i-index-content #header-navbar .nav-header .fa-file-o:before,
#page-container #header-navbar .nav-header .fa-files-o:before,
.i-index-content #header-navbar .nav-header .fa-files-o:before {
padding-right: 6px;
}
#page-container #header-navbar .nav-header .fa-files-o:before,
.i-index-content #header-navbar .nav-header .fa-files-o:before {
margin-right: -2px;
}
#page-container #header-navbar .nav-header li,
.i-index-content #header-navbar .nav-header li {
position: relative;
margin-right: 12px;
}
#page-container #header-navbar .nav-header li > a,
.i-index-content #header-navbar .nav-header li > a {
padding: 10px 0;
height: auto;
line-height: 14px;
color: #FFFFFF;
}
#page-container #header-navbar .nav-header li > a:hover,
.i-index-content #header-navbar .nav-header li > a:hover {
color: #FFFFFF;
}
#page-container #header-navbar .nav-header li .fa,
.i-index-content #header-navbar .nav-header li .fa {
font-size: 14px;
}
#page-container #header-navbar .open > .dropdown-menu,
.i-index-content #header-navbar .open > .dropdown-menu {
display: block;
}
#page-container #header-navbar .dropdown-menu,
.i-index-content #header-navbar .dropdown-menu,
#page-container #header-navbar .profile,
.i-index-content #header-navbar .profile {
min-width: 390px;
padding-left: 20px;
top: 45px;
background-color: #FFFFFF;
border-radius: 4px;
border-width: 0px;
-webkit-box-shadow: 1px 1px 10px 0 rgba(158, 165, 170, 0.26);
box-shadow: 1px 1px 10px 0 rgba(158, 165, 170, 0.26);
}
#page-container #header-navbar .dropdown-menu > li span,
.i-index-content #header-navbar .dropdown-menu > li span,
#page-container #header-navbar .profile > li span,
.i-index-content #header-navbar .profile > li span {
margin: 3px 0;
line-height: 17px;
}
#page-container #header-navbar .dropdown-menu > li:last-child,
.i-index-content #header-navbar .dropdown-menu > li:last-child,
#page-container #header-navbar .profile > li:last-child,
.i-index-content #header-navbar .profile > li:last-child {
margin-bottom: 10px;
}
#page-container #header-navbar .dropdown-menu > li.divider,
.i-index-content #header-navbar .dropdown-menu > li.divider,
#page-container #header-navbar .profile > li.divider,
.i-index-content #header-navbar .profile > li.divider {
height: 0;
background: #FFFFFF;
border-bottom: 1px dashed #E0E0E0;
}
#page-container #header-navbar .dropdown-menu .dropdown-triangle,
.i-index-content #header-navbar .dropdown-menu .dropdown-triangle,
#page-container #header-navbar .profile .dropdown-triangle,
.i-index-content #header-navbar .profile .dropdown-triangle {
width: 0;
height: 0;
border-width: 6px;
border-style: solid;
border-color: transparent transparent #FFFFFF;
position: absolute;
right: 8%;
top: -12px;
}
#page-container #header-navbar .dropdown-menu .i-last,
.i-index-content #header-navbar .dropdown-menu .i-last,
#page-container #header-navbar .profile .i-last,
.i-index-content #header-navbar .profile .i-last {
margin-bottom: 10px;
}
#page-container #header-navbar .dropdown-menu .i-last + span,
.i-index-content #header-navbar .dropdown-menu .i-last + span,
#page-container #header-navbar .profile .i-last + span,
.i-index-content #header-navbar .profile .i-last + span {
margin-bottom: 10px;
}
#page-container #header-navbar .dropdown-menu .i-first,
.i-index-content #header-navbar .dropdown-menu .i-first,
#page-container #header-navbar .profile .i-first,
.i-index-content #header-navbar .profile .i-first {
margin-top: 10px;
}
#page-container #header-navbar .dropdown-menu .i-first + span,
.i-index-content #header-navbar .dropdown-menu .i-first + span,
#page-container #header-navbar .profile .i-first + span,
.i-index-content #header-navbar .profile .i-first + span {
margin-top: 10px;
}
#page-container #header-navbar .dropdown-menu .divider,
.i-index-content #header-navbar .dropdown-menu .divider,
#page-container #header-navbar .profile .divider,
.i-index-content #header-navbar .profile .divider {
margin: 10px 16px 10px 1px;
}
#page-container #header-navbar .dropdown-menu .information,
.i-index-content #header-navbar .dropdown-menu .information,
#page-container #header-navbar .profile .information,
.i-index-content #header-navbar .profile .information {
font-size: 12px;
color: #90A4AE;
padding-right: 7px;
display: inline-block;
width: 20%;
text-align: right;
}
#page-container #header-navbar .dropdown-menu .detail-info,
.i-index-content #header-navbar .dropdown-menu .detail-info,
#page-container #header-navbar .profile .detail-info,
.i-index-content #header-navbar .profile .detail-info {
font-size: 12px;
color: #37474F;
padding-left: 7px;
display: inline-block;
width: 70%;
text-align: left;
}
#page-container #header-navbar .dropdown-menu .info-title,
.i-index-content #header-navbar .dropdown-menu .info-title,
#page-container #header-navbar .profile .info-title,
.i-index-content #header-navbar .profile .info-title {
margin-bottom: 11px;
margin-top: 17px;
}
#page-container #header-navbar .dropdown-menu .info-title .user-name,
.i-index-content #header-navbar .dropdown-menu .info-title .user-name,
#page-container #header-navbar .profile .info-title .user-name,
.i-index-content #header-navbar .profile .info-title .user-name {
font-size: 16px;
color: #37474F;
margin-bottom: 11px;
margin-right: 22px;
line-height: 22px;
}
#page-container #header-navbar .dropdown-menu .info-title .information,
.i-index-content #header-navbar .dropdown-menu .info-title .information,
#page-container #header-navbar .profile .info-title .information,
.i-index-content #header-navbar .profile .info-title .information {
line-height: 12px;
padding-right: 4px;
width: 10%;
}
#page-container #header-navbar .dropdown-menu .info-title .detail-info,
.i-index-content #header-navbar .dropdown-menu .info-title .detail-info,
#page-container #header-navbar .profile .info-title .detail-info,
.i-index-content #header-navbar .profile .info-title .detail-info {
padding-left: 4px;
line-height: 12px;
width: 20%;
}
#page-container #header-navbar .dropdown-menu .info-title .change-password,
.i-index-content #header-navbar .dropdown-menu .info-title .change-password,
#page-container #header-navbar .profile .info-title .change-password,
.i-index-content #header-navbar .profile .info-title .change-password {
font-size: 12px;
color: #0081E9;
line-height: 12px;
margin: 3px 0;
display: inline-block;
}
#page-container #header-navbar .dropdown-menu .info-title .change-password:hover,
.i-index-content #header-navbar .dropdown-menu .info-title .change-password:hover,
#page-container #header-navbar .profile .info-title .change-password:hover,
.i-index-content #header-navbar .profile .info-title .change-password:hover {
color: rgba(0, 129, 233, 0.8);
}
#page-container #header-navbar .dropdown-menu .info-title .change-password:active,
.i-index-content #header-navbar .dropdown-menu .info-title .change-password:active,
#page-container #header-navbar .profile .info-title .change-password:active,
.i-index-content #header-navbar .profile .info-title .change-password:active {
color: #2B76DB;
}
#info-board {
-webkit-box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
background: rgba(255, 255, 255, 0.8);
border: 0px;
border-radius: 2px;
}
#info-board .for-refresh {
position: absolute;
bottom: 10px;
right: 0px;
font-size: 14px;
font-weight: 400;
color: #5BA1FF;
}
#info-board .for-more {
position: absolute;
bottom: 10px;
right: 60px;
font-size: 14px;
font-weight: 400;
color: #5BA1FF;
}
#info-board .badge-danger {
padding-left: 5px;
padding-top: 4px;
margin-left: 5px;
margin-bottom: 5px;
font-weight: normal;
}
#info-board .k-tabstrip-items {
border: 0;
border-radius: 2px 2px 0 0;
background: rgba(255, 255, 255, 0.8);
}
#info-board .k-tabstrip-items .k-item {
padding: 0px;
margin-left: 20px;
margin-right: 10px;
}
#info-board .k-tabstrip-items .k-item span:nth-child(3):hover {
color: #1985e8;
}
#info-board .k-tabstrip-items .k-item,
#info-board .k-tabstrip-items .k-state-hover {
background: none;
height: 36px;
}
#info-board .k-tabstrip-items .k-item .k-link,
#info-board .k-tabstrip-items .k-state-hover .k-link {
color: rgba(0, 0, 0, 0.85);
font-size: 16px;
font-weight: normal;
letter-spacing: 0.6px;
}
.i-theme-ant #iplatV6index #info-board .k-tabstrip-items .k-item .k-link .index-todo,
.i-theme-ant #iplatV6index #info-board .k-tabstrip-items .k-state-hover .k-link .index-todo {
background-position: -40px 0;
}
#info-board .k-tabstrip-items .k-item .k-link .index-warn,
#info-board .k-tabstrip-items .k-state-hover .k-link .index-warn {
background-position: -60px -20px;
}
#info-board .k-tabstrip-items .k-item .k-link .index-follow,
#info-board .k-tabstrip-items .k-state-hover .k-link .index-follow {
background-position: -60px -40px;
}
.i-theme-ant #iplatV6index #info-board .k-tabstrip-items .k-item .k-link .index-record,
.i-theme-ant #iplatV6index #info-board .k-tabstrip-items .k-state-hover .k-link .index-record {
background-position: -40px -60px;
background-size: 360px 360px !important;
}
#info-board .k-tabstrip-items .k-item .k-link .index-icon,
#info-board .k-tabstrip-items .k-state-hover .k-link .index-icon {
vertical-align: top;
}
#info-board .k-tabstrip-items .k-item .k-link .index-notification,
#info-board .k-tabstrip-items .k-state-hover .k-link .index-notification {
background-position: -60px -80px;
vertical-align: top;
}
#info-board .k-tabstrip-items .k-item .k-link .index-announcement,
#info-board .k-tabstrip-items .k-state-hover .k-link .index-announcement {
background-position: -60px -100px;
vertical-align: top;
}
#info-board .k-tabstrip-items .k-active .k-link {
color: rgba(0, 0, 0, 0.85);
font-size: 16px;
letter-spacing: 0.6px;
}
#info-board .k-tabstrip-items .k-active:after {
content: ' ';
border-bottom: 2px #0081E9 solid !important;
position: absolute;
bottom: 0;
left: 1px;
right: 3px;
width: 100%;
}
#info-board .k-tabstrip-items .k-link {
padding-top: 8px;
padding-bottom: 0px;
line-height: 20px;
padding-left: 1px;
padding-right: 1px;
}
#info-board .k-tabstrip-items-wrapper {
border-bottom-width: 0px;
}
#info-board .k-content {
background: rgba(255, 255, 255, 0.8);
padding-top: 10px;
padding-bottom: 8px;
padding-left: 0px;
padding-right: 0px;
overflow: hidden;
}
#info-board .k-tabstrip {
background: rgba(255, 255, 255, 0.8);
}
#info-board .k-tabstrip .k-tabstrip-items {
border: 0;
font-size: 14px;
background: #FFFFFF;
}
#info-board .k-tabstrip .k-tabstrip-items .k-item {
padding: 0px;
margin-right: 27px;
margin-left: 0px;
background: #FFFFFF;
}
#info-board .k-tabstrip .k-tabstrip-items .k-item:first-child {
margin-left: 20px;
}
#info-board .k-tabstrip .k-tabstrip-items .k-item .k-link {
color: rgba(0, 0, 0, 0.65);
font-weight: normal;
padding: 0.5em 0.92em;
padding-top: 0px;
padding-bottom: 8px;
opacity: 1;
}
#info-board .k-tabstrip .k-tabstrip-items .k-item:not(:last-child):after {
content: ' ';
border-right: 1px rgba(0, 0, 0, 0.65) solid;
position: absolute;
bottom: 10px;
top: 3px;
right: -13px;
}
#info-board .k-tabstrip .k-tabstrip-items .k-state-active .k-link {
color: #1985e8;
}
#info-board .k-tabstrip .k-tabstrip-items .k-state-active:after {
border-bottom: 0;
}
#info-board .k-tabstrip .k-button {
height: 20px;
padding: 0;
margin: 0;
top: 0;
}
#info-board .k-tabstrip .k-tabstrip-prev .k-i-arrow-w {
background-position: 0 -54px;
margin-bottom: 2px;
}
#info-board .k-tabstrip .k-tabstrip-prev .k-i-arrow-w:hover {
background-position: -18px -54px;
}
#info-board .k-tabstrip .k-tabstrip-next .k-i-arrow-e {
background-position: 0 -18px;
margin-bottom: 2px;
}
#info-board .k-tabstrip .k-tabstrip-next .k-i-arrow-e:hover {
background-position: -18px -18px;
}
#info-board .k-tabstrip .k-content {
padding-top: 0px;
padding-bottom: 10px;
padding-left: 0px;
padding-right: 0px;
overflow: auto;
}
#info-board .k-panelbar {
border-width: 0px;
}
#info-board .k-panelbar .k-panelbar-expand,
#info-board .k-panelbar .k-panelbar-collapse {
display: none;
}
#info-board .k-panelbar-header .k-link {
padding: 2px 25px;
border-bottom-width: 0px !important;
background: rgba(255, 255, 255, 0.8);
color: #787878 !important;
box-shadow: none !important;
}
#info-board .k-panelbar-header .k-link.k-hover{
color: #787878;
}
#info-board .k-panelbar .k-header > * {
line-height: 18px;
}
#info-board .k-panelbar a.k-link.k-header {
line-height: 18px;
}
#info-board .k-panelbar .k-state-default {
background: rgba(255, 255, 255, 0.8);
}
#info-board .k-panelbar-header {
color: rgba(0, 0, 0, 0.65);
font-size: 14px;
}
#info-board .k-panelbar .k-state-hover {
background: rgba(255, 255, 255, 0.8);
}
#info-board .k-panelbar .k-state-selected {
background: none;
}
#info-board .k-panelbar .k-state-selected .k-link {
color: #2F353F;
font-size: 12px;
}
#info-board .k-panelbar .k-state-focused {
-webkit-box-shadow: none;
box-shadow: none;
}
#info-board .k-panelbar .k-state-active {
background: rgba(207, 216, 220, 0.1);
}
#info-board .k-panelbar .k-state-active .k-header,
#info-board .k-panelbar .k-state-active .k-header.k-state-selected {
font-weight: 600;
}
#info-board .k-panelbar .k-state-active .k-header:after,
#info-board .k-panelbar .k-state-active .k-header.k-state-selected:after {
content: ' ';
border-left: 6px #0081E9 solid;
position: absolute;
bottom: 9px;
top: 9px;
left: 0px;
}
#info-board .k-panelbar .k-state-active .k-link {
background: none;
color: #2F353F;
font-size: 13px;
}
#info-board .k-panelbar ul.k-group {
padding-left: 34px;
background: none;
border-bottom-width: 0px;
}
#info-board .k-panelbar ul.k-group li {
background: none;
}
#info-board .k-panelbar .k-panel .k-link {
line-height: 18px;
font-size: 12px;
padding-bottom: 2px;
}
#info-board .k-panelbar .k-panel .k-item:last-child > .k-link {
padding-bottom: 8px;
}
#info-board .k-panelbar > .k-item {
position: relative;
}
#info-board .k-panelbar > .k-item:after {
content: ' ';
position: absolute;
left: 25px;
right: 25px;
bottom: 0;
border-bottom: 1px dashed #E0E0E0;
}
#info-board .k-panelbar .panel-time {
font-size: 13px;
line-height: 18px;
color: #BFBFBF;
float: right;
font-weight: 100;
}
.i-region-content {
box-sizing: border-box;
}
/* add 越长菜单的 动态文本显示*/
.cls-menu-item-title {
position: fixed;
z-index: 100000;
pointer-events: none;
border: 1px solid #c3b20b;
background: #4584f7;
padding: 8px 8px 8px 20px;
display: block;
font-size: 12px;
font-family: "Microsoft Yahei", "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", SimSun, sans-serif;
color: #FFFFFF;
}
.cls-menu-item-title.left-hide {
left: -9000px !important;
}
.index-apm {
border-radius: 2px;
background: rgba(255, 255, 255, 0.8);
-webkit-box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
}
.index-apm .i-region-content {
height: 80%;
overflow: hidden;
}
.index-apm .index-charts-layout-0 {
width: 100%;
height: 13%;
}
.index-apm .index-charts-layout-1 {
width: 100%;
height: 29%;
}
.index-apm .index-charts-layout-0-span {
font-size: 13px;
font-Weight: bold;
color: #34A853;
flex: 1;
text-align: left;
margin-left: 2%;
display: block;
padding-top: 12px;
}
.index-apm .index-charts-layout-0-span2 {
position: relative;
text-align: center;
font-size: 16px;
color: #EECF6F;
bottom: 28px;
left: 70px;
}
.index-apm .index-charts-layout-0-span3 {
padding: 0 3px;
display: inline-block;
text-align: center;
font-size: 17px;
color: #FFFFFF;
background: #34A853;
margin-top: 5px;
margin-left: 10px;
width: 20px;
}
.index-charts {
border-radius: 2px;
background: rgba(255, 255, 255, 0.8);
-webkit-box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
overflow: hidden;
}
.index-charts .index-dashboard {
background-position: -60px -120px;
vertical-align: top;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider {
height: 100%;
padding: 3px 0 13px 0;
margin-bottom: 0px;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider:hover .slick-next:before,
.index-charts .i-region-content .slick.slick-dotted.slick-slider:hover .slick-prev:before {
display: inline-block;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-prev,
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-next {
width: 38px;
height: 38px;
opacity: 0.6;
top: 45%;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-prev:hover,
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-next:hover {
opacity: 0.8;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-prev:active,
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-next:active {
opacity: 1;
background: #2B76DB;
border-radius: 50%;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-prev {
left: 20px;
z-index: 1;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-next {
right: 20px;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-next:before,
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-prev:before {
font-family: FontAwesome;
font-size: 36px;
line-height: 36px;
display: none;
width: 38px;
height: 38px;
border-radius: 50%;
text-align: center;
color: white;
opacity: 1;
background: #0081E9;
-webkit-box-shadow: 1px 2px 4px 1px rgba(0, 0, 0, 0.12);
box-shadow: 1px 2px 4px 1px rgba(0, 0, 0, 0.12);
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-prev:before {
content: "\f104";
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-next:before {
content: "\f105";
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-list {
height: 100%;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-list .slick-track {
height: 100%;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-list .slick-track .slick-slide {
margin: 0 3px;
height: 100%;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-list .slick-track .slick-slide:after {
content: ' ';
position: absolute;
left: 0;
right: 0;
bottom: 0;
border-bottom: 1px solid #EFF0F0;
}
.index-charts .i-region-content .slick.slick-dotted.slick-slider .slick-list .slick-track .slick-slide img {
width: 100%;
height: 100%;
object-fit: cover;
}
.index-charts .i-region-content .slick-dots.i-slick-dots {
bottom: 20px;
position: absolute;
list-style: none;
display: block;
text-align: center;
margin: 0;
padding: 0;
width: 100%;
height: 8px;
}
.index-charts .i-region-content .slick-dots.i-slick-dots li {
height: 8px;
width: auto;
position: relative;
display: inline-block;
vertical-align: top;
text-align: center;
margin: 0 5px;
padding: 0;
}
.index-charts .i-region-content .slick-dots.i-slick-dots li button {
border: 0;
cursor: pointer;
background: #999999;
opacity: 0.3;
display: block;
width: 24px;
height: 8px;
border-radius: 8px;
font-size: 0;
color: transparent;
transition: all 1s;
-webkit-transition: all 1s;
padding: 0;
}
.index-charts .i-region-content .slick-dots.i-slick-dots li button:before {
display: none;
}
.index-charts .i-region-content .slick-dots.i-slick-dots li button:hover,
.index-charts .i-region-content .slick-dots.i-slick-dots li button:focus {
opacity: 0.8;
}
.index-charts .i-region-content .slick-dots.i-slick-dots li.slick-active button {
background: #0081E9;
opacity: 1;
width: 40px;
border-radius: 8px;
}
.index-charts .i-region-content .slick-dots.i-slick-dots li.slick-active button:before {
display: none;
}
.index-charts .i-region-content .slick-dots.i-slick-dots li.slick-active button:hover,
.index-charts .i-region-content .slick-dots.i-slick-dots li.slick-active button:focus {
opacity: 1;
}
.index-favorite {
width: 100%;
border-radius: 1px;
background: rgba(255, 255, 255, 0.8);
-webkit-box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
}
.index-favorite .index-fav {
background-position: -60px -200px;
vertical-align: top;
}
.index-favorite .i-region-content {
overflow-y: auto;
padding: 7px 20px 10px 10px;
}
.index-favorite .i-region-content .fav-list {
border: none;
}
.index-favorite .i-region-content .fav-list .k-item {
padding-top: 3px;
padding-bottom: 3px;
border-bottom: 1px dashed #E0E0E0;
}
.index-favorite .i-region-content .fav-list .k-item .k-link {
color: rgba(0, 0, 0, 0.65);
font-size: 14px;
line-height: 22px;
border: none;
padding: 0;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.index-favorite .i-region-content .fav-list .k-item .k-hover {
background: rgba(255, 255, 255, 0.8);
}
.index-favorite .i-region-content .fav-list .k-item .k-state-default {
background: rgba(255, 255, 255, 0.8);
}
.index-favorite .i-region-content .fav-list .k-item .k-state-selected {
background: rgba(255, 255, 255, 0.8);
}
.index-favorite .i-region-content .fav-list .k-item .k-state-focused {
-webkit-box-shadow: none;
box-shadow: none;
}
.index-favorite .i-region-content .fav-list .k-item .k-state-active {
background: rgba(207, 216, 220, 0.1);
}
.index-favorite .i-region-content .fav-list .k-item .k-state-active .k-header,
.index-favorite .i-region-content .fav-list .k-item .k-state-active .k-header.k-state-selected {
font-weight: 600;
}
.index-favorite .i-region-content .fav-list .k-item .k-state-active .k-link {
background: none;
color: #2F353F;
}
.index-favorite .i-region-content .fav-list .k-item .index-clip {
background-position: 0 -60px;
vertical-align: bottom;
margin-right: 5px;
}
.index-favorite .for-more {
position: absolute;
bottom: 10px;
right: 0;
font-size: 14px;
font-weight: 400;
color: #5BA1FF;
}
.index-links {
width: 100%;
margin-top: 10px;
background: rgba(255, 255, 255, 0.8);
-webkit-box-shadow: 1px 2px 14px 0 rgba(0, 0, 0, 0.05);
box-shadow: 1px 2px 14px 0 rgba(0, 0, 0, 0.05);
/*.for-more{
position: absolute;
bottom: 10px;
right: 0;
font-size: 14px;
font-weight: 400;
color: #5BA1FF;
}*/
}
.index-links .index-link {
background-position: -60px -220px;
vertical-align: top;
}
.index-links .dropup {
float: right;
margin-right: 23px;
}
.index-links .dropup .link-button {
cursor: pointer;
font-size: 12px;
line-height: 17px;
color: #0081E9;
}
.index-links .dropup .dropdown-menu {
right: -23px;
left: unset;
background: #FFFFFF;
border-radius: 2px 2px 0 0;
-webkit-box-shadow: 1px 1px 10px 0 rgba(158, 165, 170, 0.26);
box-shadow: 1px 1px 10px 0 rgba(158, 165, 170, 0.26);
border-width: 0;
}
.index-links .dropup .dropdown-menu li {
margin-left: 20px;
margin-right: 20px;
}
.index-links .dropup .dropdown-menu li .link-list {
padding-top: 4px;
padding-bottom: 4px;
border-bottom: 1px dashed #E0E0E0;
}
.index-links .dropup .dropdown-menu li .link-list .index-related-clip {
background-position: 0 -120px;
vertical-align: bottom;
margin-right: 2px;
}
.index-links .dropup .dropdown-menu li .link-list a {
font-size: 14px;
color: rgba(0, 0, 0, 0.65);
line-height: 22px;
}
.i-region-header {
border-radius: 2px 2px 0 0;
line-height: 20px;
font-size: 14px;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 20px;
background: #EFF3F6;
color: rgba(0, 0, 0, 0.65);
}
/*#trace, #record {
padding-left: 12px;
}*/
p.i-index-information {
font-size: 12px;
margin-bottom: 4px;
}
#page-list > .k-content {
padding: 0 10px;
}
.index-icon {
width: 20px;
height: 20px;
background-image: url(iplatui/img/index/index-sprite.png) !important;
background-size: 360px 360px !important;
display: inline-block;
}
.hot-icon {
width: 21px;
height: 20px;
background: url("iplatui/img/index/hot-icon.gif") no-repeat;
display: inline-block;
background-size: 100%;
position: absolute;
right: 10px;
top: 1px;
cursor: pointer;
}
.index-todo {
display: inline-block;
width: 20px;
height: 20px;
background-size: 20px 20px;
/*background-repeat: no-repeat;*/
position: relative;
top: 4px;
left: -1px;
}
.index-warn {
display: inline-block;
width: 20px;
height: 20px;
background-size: 20px 20px!important;
/*background-repeat: no-repeat;*/
position: relative;
top: 4px;
left: -1px;
}
.index-follow {
display: inline-block;
width: 20px;
height: 20px;
background-size: 20px 20px!important;
/*background-repeat: no-repeat;*/
position: relative;
top: 4px;
left: -1px;
}
.index-record {
display: inline-block;
width: 20px;
height: 20px;
background-size: 20px 20px!important;
/*background-repeat: no-repeat;*/
position: relative;
top: 4px;
left: -1px;
}
.index-notification {
display: inline-block;
width: 20px;
height: 20px;
background-size: 20px 20px;
/*background-repeat: no-repeat;*/
position: relative;
top: 1px;
left: -1px;
}
.index-announcement {
display: inline-block;
width: 20px;
height: 20px;
background-size: 20px 20px;
/*background-repeat: no-repeat;*/
position: relative;
top: 1px;
left: -1px;
}
.index-dashboard {
display: inline-block;
width: 20px;
height: 20px;
background-size: 20px 20px;
/*background-repeat: no-repeat;*/
position: relative;
left: -1px;
}
.index-icon-fav {
display: inline-block;
width: 18px;
height: 18px;
background-size: 18px 18px;
background-repeat: no-repeat;
position: relative;
top: 2px;
left: -1px;
}
.index-icon-link {
display: inline-block;
width: 18px;
height: 18px;
background-size: 18px 18px;
background-repeat: no-repeat;
position: relative;
top: 3px;
left: -1px;
}
.i-theme-ued .k-tabstrip.k-widget ul.k-tabstrip-items .k-state-default {
border-bottom: 0;
margin-bottom: 0;
}
.k-distance {
padding-top: 6px !important;
padding-bottom: 6px !important;
}
.i-region-header {
border-radius: 2px 2px 0 0;
line-height: 20px;
font-size: 16px;
font-weight: 500;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 20px;
background: rgba(255, 255, 255, 0.8);
color: rgba(0, 0, 0, 0.85);
}
.index-meet {
display: inline-block;
width: 20px;
height: 20px;
background-size: 20px 20px;
position: relative;
top: 4px;
left: -1px;
}
.for-calendar {
float: right;
margin-right: 10px;
margin-top: 7px;
cursor: pointer;
font-size: 12px;
line-height: 17px;
color: #0081E9;
}
#page-list {
border: none;
}
#page-list .index-apm {
overflow: hidden;
}
#page-list .index-apm .i-region-picture {
width: 100%;
}
#page-list .index-apm .i-region-picture > img {
width: 100%;
}
#page-list .index-apm .i-region-content {
height: 100% !important;
}
/*#page-list .index-apm .i-region-content .k-today {*/
/* background-color: #3088F4;*/
/* border-color: #3088F4;*/
/*}*/
#page-list .index-apm .i-region-content .k-today a {
color: #fff;
}
#page-list .fp-calendar {
width: 100%;
border: 0px solid red;
padding-right: 10px;
box-sizing: border-box;
}
.k-widget.k-calendar .k-nav-prev {
left: 1%;
top: 20%;
padding: 0px
}
.k-widget.k-calendar .k-nav-next {
right: 1%;
top: 20%;
padding: 0px
}
.k-widget.k-calendar .k-nav-fast {
margin-left: 1.4em;
width: 66%;
}
.k-calendar .k-button {
color: rgba(0, 0, 0, 0.65);
font-size: 18px;
font-weight: 500;
height:1.833em
}
.k-calendar .k-content th {
color: rgba(0, 0, 0, 0.65);
}
.k-calendar .k-content .k-link {
font-size: 14px;
font-weight: 500;
color: rgba(0, 0, 0, 0.65);
box-shadow: none;
}
.k-calendar .k-i-arrow-60-left{
background-position: 0 -51px !important;
}
.k-calendar .k-i-arrow-60-left:before{
content: none;
}
.k-calendar .k-i-arrow-60-right{
background-position: 0 -16px
}
.k-calendar .k-i-arrow-60-right:before{
content: none;
}
.k-calendar .k-calendar-view {
width: 100%;
}
.k-calendar .k-calendar-thead th {
border-bottom-width: 1px !important;
}
.k-calendar .k-header {
border-bottom-width: 0px;
}
#info .k-tabstrip-items {
border: 0;
border-radius: 2px 2px 0 0;
background: rgba(255, 255, 255, 0.8);
}
#info .k-tabstrip-items .k-item {
background: none;
padding: 0px;
margin-left: 20px;
margin-right: 10px;
}
#info .k-tabstrip-items .k-item .k-link {
color: rgba(0, 0, 0, 0.85);
font-size: 16px;
font-weight: 500;
letter-spacing: 0.6px;
}
#info .k-tabstrip-items .k-item span:nth-child(3):hover {
color: #1985e8;
}
#info .k-tabstrip-items .k-link {
padding-top: 8px;
padding-bottom: 8px;
line-height: 20px;
padding-left: 1px;
padding-right: 1px;
}
#info .k-tabstrip-items .k-active:after {
content: ' ';
border-bottom: 2px #0081E9 solid;
position: absolute;
bottom: 0;
left: 1px;
right: 3px;
width: 100%;
}
#info .k-tabstrip-items-wrapper {
border-bottom-width: 0px;
}
body {
overflow-y: hidden;
}
#sidebar {
overflow-y: scroll;
}
.dropdown-menu {
padding: 0;
}
.dropup {
position: relative;
top: -21px;
left: -34px;
}
.dropup .dropdown-menu {
top: 20px;
margin-bottom: 2px;
}
.index-favorite {
box-shadow: none;
}
#info {
-webkit-box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
box-shadow: 1px 2px 14px 0 rgba(158, 165, 170, 0.26);
background: rgba(255, 255, 255, 0.8);
border: 0px;
border-radius: 2px;
}
.iconPosition {
position: relative;
top: -24px;
left: 6px;
color: #787878;
margin-top: 2px;
}
#page-container #header-navbar .nav-header li .fa {
font-size: 16px !important;
font-weight: 400;
}
#page-container #header-navbar .nav-header li.search-input {
margin-top: 2px;
}
#page-container #header-navbar .nav-header li.search-input input {
text-indent: 23px;
}
#page-container #header-navbar .dropdown-menu,
#page-container #header-navbar .profile {
min-width: 376px;
padding-left: 0px;
}
#page-container #header-navbar .dropdown-menu .information,
#page-container #header-navbar .profile .information {
width: auto;
text-align: left;
}
#page-container #header-navbar .dropdown-menu .detail-info,
#page-container #header-navbar .profile .detail-info {
padding-left: 0px;
width: auto;
text-align: left;
}
#page-container #header-navbar .dropdown-menu .change-org:hover,
#page-container #header-navbar .profile .change-org:hover {
color: rgba(0, 129, 233, 0.8);
}
.i-index-content #header-navbar .dropdown-menu,
.i-index-content #header-navbar .profile {
min-width: 376px;
padding-left: 0px;
}
.i-index-content #header-navbar .dropdown-menu .information,
.i-index-content #header-navbar .profile .information {
width: auto;
text-align: left;
}
.i-index-content #header-navbar .dropdown-menu .detail-info,
.i-index-content #header-navbar .profile .detail-info {
padding-left: 0px;
width: auto;
text-align: left;
}
.i-index-content #header-navbar .dropdown-menu .change-org:hover,
.i-index-content #header-navbar .profile .change-org:hover {
color: rgba(0, 129, 233, 0.8);
}
input[class="k-input"]::-webkit-input-placeholder {
text-indent: 23px;
}
.profile ul {
list-style: none;
}
.fl {
display: flex;
flex-direction: row;
}
.headPortrait {
width: 63px;
height: 63px;
margin-top: 16px;
margin-left: 21px;
}
.personal-information {
padding-left: 34px;
padding-top: 20px;
}
.personal-information li {
margin-right: 0px!important;
}
.personal-information li:not(:first-child) {
font-size: 12px;
color: #8c8c8c;
margin-top: 10px;
}
.personal-information > li[data-accountset]:hover {
color: rgba(0, 129, 233, 0.8) !important;
cursor: pointer;
}
.userName {
font-size: 16px;
font-weight: bold;
color: #262626;
line-height: 21px;
}
.change-password {
width: 56px;
height: 18px;
line-height: 16px;
background: #1985e8;
border-radius: 4px;
position: absolute;
top: 19px;
right: 19px;
text-align: center;
}
.change-password a {
font-size: 12px;
color: #ffffff;
}
.job-number {
display: inline-block;
padding-right: 7px;
}
.cut-off-rule {
width: 347px;
height: 1px;
background-color: #e6e6e6;
margin: 17px 17px 10px 12px;
}
.left-distance {
padding-left: 0px;
margin-bottom: 20px;
}
.left-distance li {
width: 85px;
}
.left-distance > li:first-child {
margin-left: 13px;
margin-right: 21px!important;
}
.ul-left-distance-one {
padding-left: 0px;
}
.ul-left-distance-one:hover li {
color: rgba(0, 129, 233, 0.8) !important;
cursor: pointer;
}
.purchase {
margin-left: 16px;
margin-right: 0px!important;
}
.purchase-inf {
width: 72px;
padding-top: 6px;
padding-left: 11px;
margin-right: 0px!important;
font-size: 14px;
color: #737373;
}
.sale-inf {
width: 72px;
padding-top: 6px;
padding-left: 11px;
margin-right: 0px!important;
font-size: 14px;
color: #737373;
}
.req-inf {
width: 72px;
padding-top: 6px;
padding-left: 11px;
margin-right: 0px!important;
font-size: 14px;
color: #737373;
}
.ul-left-distance-two {
padding-left: 0px;
}
.ul-left-distance-two:hover li {
color: rgba(0, 129, 233, 0.8) !important;
cursor: pointer;
}
.li-left-distance {
margin-left: 26px;
}
.sale {
margin-left: 15px;
}
.three-info {
margin-top: 6px;
font-size: 12px;
color: #8c8c8c;
text-align: center;
}
.li-line {
height: 52px;
width: 1px;
background-color: #e6e6e6;
margin-top: 32px;
}
.li-right-margin {
margin-right: 21px!important;
}
.for-refresh {
float: right;
margin-right: 10px;
cursor: pointer;
}
.for-more {
float: right;
margin-right: 10px;
cursor: pointer;
}
ul.aliceblue {
padding-left: 0px;
height: 100%;
box-sizing: border-box;
}
ul.aliceblue li {
list-style-type: none;
text-align: center;
width: 50%;
height: 50%;
float: left;
padding: 8px 0px;
border-top: none;
border-left: none;
box-sizing: border-box;
}
ul.aliceblue li img {
transition: transform 1s ease-out;
margin: 0 auto;
}
ul.aliceblue li img:hover {
/* transform: rotateZ(360deg); */
transform: scale(1.5);
transition-duration: 0.4s;
}
ul.aliceblue li p {
color: rgba(0, 0, 0, 0.65);
font-size: 14px;
font-weight: 400;
line-height: 22px;
padding-top: 15px;
}
.i-region-content .slick-slider {
height: 100%;
}
.i-region-content .slick-slider .slick-list {
height: 100%;
}
.i-region-content .slick-slider .slick-list .slick-track {
height: 100%;
}
.k-i-arrow-w {
background-position: 0 -51px !important;
}
.aliceblue li:hover {
cursor: pointer;
}
.aliceblue li:hover p {
color: rgba(0, 129, 233, 0.8);
}
.k-calendar .k-header .k-icon {
vertical-align: top;
}
.k-calendar td.k-state-focused.k-state-selected {
box-shadow: inset 0 0 0 1px #3088F4;
}
.k-calendar td.k-state-selected:active {
box-shadow: inset 0 0 0 1px #3088F4;
}
.k-calendar .k-state-hover {
background-color: #3088F4;
background-image: none, linear-gradient(to bottom, #3088F4, #3088F4 100%);
}
.k-calendar .k-state-hover:hover {
background-color: #3088F4;
border-color: #3088F4;
background-image: none, linear-gradient(to bottom, #3088F4, #3088F4 100%);
}
.k-calendar .k-state-selected {
background-color: #3088F4;
border-color: #3088F4;
}
.k-calendar .k-other-month.k-state-hover .k-link {
background-image: none, linear-gradient(to bottom, #3088F4, #3088F4 100%);
}
/*.k-calendar .k-today {*/
/* box-shadow: inset 0 0 0 1px #3088F4;*/
/*}*/
.k-calendar .k-today .k-link {
background-color: #3088F4;
border-color: #3088F4;
}
.k-calendar td.k-hover .k-link{
background-color: #3088F4;
border-color: #3088F4;
background-image: none;
}
.k-calendar td.k-selected .k-link{
background-color: #3088F4;
border-color: #3088F4;
background-image: none;
}
.k-calendar td.k-focus .k-link{
box-shadow: none;
}
.k-calendar .k-today.k-state-selected:active {
box-shadow: inset 0 0 0 1px #3088F4;
}
.k-calendar .k-today:active {
box-shadow: inset 0 0 0 1px #3088F4;
}
.k-calendar .k-nav-fast.k-state-hover {
background-color: #3088F4;
}
.k-panelbar > .k-item > .k-link {
display: block;
position: relative;
border-bottom-style: solid;
border-bottom-width: 1px;
padding: 0 1em;
line-height: 22px;
text-decoration: none;
zoom: 1;
}
.iplat-menu-ul .k-treeview {
overflow: hidden;
}
.iplat-menu-ul .k-treeview .k-item .k-treeview-bot .k-treeview-toggle,
.iplat-menu-ul .k-treeview .k-item .k-treeview-bot ,
.iplat-menu-ul .k-treeview .k-item .k-treeview-mid .k-treeview-toggle,
.iplat-menu-ul .k-treeview .k-item .k-treeview-mid ,
.iplat-menu-ul .k-treeview .k-item .k-treeview-top .k-treeview-toggle,
.iplat-menu-ul .k-treeview .k-item .k-treeview-top {
display: block ;
}
.k-panelbar>.k-item>.k-link.k-selected, .k-panelbar>.k-panelbar-header>.k-link.k-selected,.k-panelbar>.k-panelbar-header>.k-hover {
background-color:transparent;
}
.k-panelbar>.k-item>.k-link.k-focus {
box-shadow:none;
}
.k-list-item-text::before{
content: none;
}
#page-list .k-tabstrip .k-tabstrip-items-wrapper {
background: white;
}
.k-clear-value{
display: inline-flex !important;
}
...@@ -725,7 +725,7 @@ ...@@ -725,7 +725,7 @@
}); });
}; };
var iplatMenuName = trim($("input[name='iplatMenuName']").val()); let iplatMenuName = trim($("input[name='iplatMenuName']").val());
if (trim(iplatMenuName)) { if (trim(iplatMenuName)) {
iplatMenu(iplatMenuName, "iplat-menu") iplatMenu(iplatMenuName, "iplat-menu")
...@@ -740,7 +740,7 @@ ...@@ -740,7 +740,7 @@
// 收藏功能 // 收藏功能
V6Index.prototype.favorite = function () { V6Index.prototype.favorite = function () {
// 收藏页面 // 收藏页面
var favoriteTmpl = kendo.template($("#favorite-template").html()); let favoriteTmpl = kendo.template($("#favorite-template").html());
EiCommunicator.send("EDFA10", "query", new EiInfo(), { EiCommunicator.send("EDFA10", "query", new EiInfo(), {
onSuccess: function (e) { onSuccess: function (e) {
var favData = [], var favData = [],
...@@ -768,7 +768,7 @@ ...@@ -768,7 +768,7 @@
} }
}); });
var onSelect = function (e) { let onSelect = function (e) {
var ename = $(e.item).find("div").attr("ename"); var ename = $(e.item).find("div").attr("ename");
if (ename){ if (ename){
IPLAT.openForm(ename); IPLAT.openForm(ename);
...@@ -778,42 +778,24 @@ ...@@ -778,42 +778,24 @@
$(".moreCollection").on("click", function () { $(".moreCollection").on("click", function () {
IPLAT.openForm("EDFA10"); IPLAT.openForm("EDFA10");
}); });
/* $("#meetingAnnouncement").on("click", function () {
var meetInfo = new EiInfo();
EiCommunicator.send("KB00M", "meetingToThisWeek", meetInfo, {
onSuccess : function(eiInfo) {
var status = eiInfo.getStatus();
var fileUrl = eiInfo.get("fileUrl");
if (status != -1) {
$("#meetingAnnouncement").html('<a href="http://sp.baogang.info:9082/NMfiledownloadservlet?fileguid=ebc227e9-fe91-48b4-b8c5-475a15b22e31">本周会议</a>')
}
},
onFail : function(eMsg) {
IPLAT.NotificationUtil("调用会议接口服务失败.");
}
});
});*/
}; };
// 页面号查询功能 // 页面号查询功能
V6Index.prototype.pageSearch = function () { V6Index.prototype.pageSearch = function () {
var v6Index = this; let v6Index = this;
// 防止抖动 // 防止抖动
var filterChinese = _.debounce(function (td) { let filterChinese = _.debounce(function (td) {
td.value = td.value.replace(/[\u4e00-\u9fa5]/g, ''); td.value = td.value.replace(/[\u4e00-\u9fa5]/g, '');
}, 60); }, 60);
let $formEname = $("#inqu_status-0-form_ename");
var $formEname = $("#inqu_status-0-form_ename");
// 过滤中文 // 过滤中文
// $formEname.on("input", function () { // $formEname.on("input", function () {
// filterChinese(this) // filterChinese(this)
// }); // });
var defaultPageSize = 100; let defaultPageSize = 100;
// 页面号的查询 // 页面号的查询
var dataSource = new kendo.data.DataSource({ let dataSource = new kendo.data.DataSource({
transport: { transport: {
read: { read: {
url: IPLATUI.CONTEXT_PATH + "/service/EF0001/query", url: IPLATUI.CONTEXT_PATH + "/service/EF0001/query",
...@@ -853,10 +835,10 @@ ...@@ -853,10 +835,10 @@
}); });
// 设置下拉列的宽度 // 设置下拉列的宽度
var width = $formEname.width() * 1.4; let width = $formEname.width() * 1.4;
var template = "<div style='white-space: nowrap;'>" + '#: form_ename #-#: form_cname#' + "</div>"; let template = "<div style='white-space: nowrap;'>" + '#: form_ename #-#: form_cname#' + "</div>";
// 按下Enter键后触发change事件 // 按下Enter键后触发change事件
var enterFunc = function (e) { let enterFunc = function (e) {
if (kendo.keys.ENTER === e.keyCode) { if (kendo.keys.ENTER === e.keyCode) {
$formEname.unbind("keyup.iplat", enterFunc); // 解绑keyup事件,防止单页展示时出现两个相同tab $formEname.unbind("keyup.iplat", enterFunc); // 解绑keyup事件,防止单页展示时出现两个相同tab
var autoComplete = $("#inqu_status-0-form_ename").data("kendoAutoComplete"); var autoComplete = $("#inqu_status-0-form_ename").data("kendoAutoComplete");
...@@ -870,7 +852,7 @@ ...@@ -870,7 +852,7 @@
} }
} }
}; };
var close = false; let close = false;
$formEname.blur(function () { $formEname.blur(function () {
close = true; close = true;
$formEname.data("kendoAutoComplete").close(); $formEname.data("kendoAutoComplete").close();
...@@ -1007,226 +989,6 @@ ...@@ -1007,226 +989,6 @@
// 首页消息主看板模块 // 首页消息主看板模块
V6Index.prototype.panelBar = function () { V6Index.prototype.panelBar = function () {
/*
var rows = [
[
"质量模块",
"PQ",
"disputeAppr",
"质量异议审批",
"Manual4",
"备件二级审批人",
"a3ce7050-728d-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-27 13:50:37",
"open",
"PQYY02A",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"PM_LEV1",
"一级审核",
"107c4d9f-710b-11e7-ba7f-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-25 15:30:24",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"PM_LEV2",
"二级审核",
"d6123e71-710e-11e7-ba7f-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-25 18:08:36",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"PM_LEV1",
"一级审核",
"c009262f-70eb-11e7-92a2-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-25 14:00:23",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"276476a4-715a-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 00:57:19",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"f323d809-7159-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 00:55:44",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"dd40fcf8-7152-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 00:33:36",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"c1fe1945-715a-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 01:02:49",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"8d5bfaba-715a-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 01:00:14",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"6e33c01f-715a-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 00:58:47",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"8ed7ec1e-76ab-11e7-b0b4-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-08-01 19:22:05",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT3",
"三级审核",
"d799ef4c-7296-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-27 18:13:13",
"open",
"PMJPA303",
"01",
"0"
],
[
"寻源模版",
"PSCS-PH",
"PhContract1001",
"合同审核",
"AUDIT2",
"二级审核",
"616227f8-75c1-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-31 15:26:17",
"open",
"PHCTTASK",
"01",
"0"
]
];
var columns = ["categoryName", "categoryKey", "processKey", "processName", "taskDefKey", "taskDefName", "procInstId",
"subject", "assignee", "startTime", "state", "form", "taskType"];
var block = EiBlock.build("result", columns);
block.setRows(rows);
var jsonRows = block.getMappedRows();
*/
/** /**
* 刷新服务. * 刷新服务.
...@@ -1237,34 +999,30 @@ ...@@ -1237,34 +999,30 @@
* @param info 提交的数据 * @param info 提交的数据
* @param acceptFail 即使服务调用失败,也调用处理函数 * @param acceptFail 即使服务调用失败,也调用处理函数
*/ */
var refreshService = function (service, method, drawfunc, info, acceptFail) { let refreshService = function (service, method, drawFunc, info, acceptFail) {
if (!service || !method) { if (!service || !method) {
return; return;
} }
if (!info) { if (!info) {
info = new EiInfo(); info = new EiInfo();
} }
EiCommunicator.send(service, method, info, { EiCommunicator.send(service, method, info, {
onSuccess: function (ei) { onSuccess: function (ei) {
if (!acceptFail && ei.getStatus() === -1) { if (!acceptFail && ei.getStatus() === -1) {
// IPLAT.alert('<b>' + ei.getMsg() + '</b>', function (e) {
// }, '警告');
return false; return false;
} }
if (drawfunc && typeof drawfunc === 'function') { if (drawFunc && typeof drawFunc === 'function') {
drawfunc(ei); drawFunc(ei);
} }
}, },
onFail: function (errorMsg, status, e) { onFail: function (errorMsg, status, e) {
// console.error(e);
NotificationUtil(errorMsg, "error"); NotificationUtil(errorMsg, "error");
} }
}); });
}; };
// 看板id和顺序 // 看板id和顺序
var panelIndex = { let panelIndex = {
"todo": 0, // 待办 "todo": 0, // 待办
"information": 1, // 提醒 "information": 1, // 提醒
"trace": 2, // 跟踪 "trace": 2, // 跟踪
...@@ -1274,12 +1032,12 @@ ...@@ -1274,12 +1032,12 @@
}; };
// 清除看板和数量 // 清除看板和数量
var clearPanel = function (id) { let clearPanel = function (id) {
if (!id || panelIndex[id] === undefined) { if (!id || panelIndex[id] === undefined) {
return null; return null;
} }
$("#" + id).html(''); $("#" + id).html('');
var tabElements = $("#info-board>ul>li[role='tab']"); var tabElements = $("#info-board>.k-tabstrip-items-wrapper.k-hstack>ul>li[role='tab']");
var tab = tabElements.eq(panelIndex[id]); var tab = tabElements.eq(panelIndex[id]);
// 如果原来有通知数量,先清除 // 如果原来有通知数量,先清除
var bg = tab.find('.badge.badge-danger'); var bg = tab.find('.badge.badge-danger');
...@@ -1290,7 +1048,7 @@ ...@@ -1290,7 +1048,7 @@
}; };
// 绑定刷新链接 // 绑定刷新链接
var bandForRefresh = function (id, refreshfunc) { let bandForRefresh = function (id, refreshfunc) {
if (!id || !refreshfunc || typeof refreshfunc !== 'function') { if (!id || !refreshfunc || typeof refreshfunc !== 'function') {
return false; return false;
} }
...@@ -1301,7 +1059,7 @@ ...@@ -1301,7 +1059,7 @@
}; };
// 绑定查看更多链接 // 绑定查看更多链接
var bandForMore = function (id, form, param) { let bandForMore = function (id, form, param) {
if (!id || !form) { if (!id || !form) {
return false; return false;
} }
...@@ -1313,166 +1071,80 @@ ...@@ -1313,166 +1071,80 @@
}; };
// 待办 // 待办
var tempData; let drawTodo = function (ei) {
var drawTodo = function (ei) { let tab = clearPanel('todo');
let taskCount = parseInt(ei.get('count'));
//CHG: remove all first 20200217.yanzj
if ($('#todo').length == 0) {//未构造
} else if ($('#todo').hasClass('todo-empty-node')) {//前一次是空 tabStrip,为新构造 待办构造一个新dom
$('#todo').data('kendoPanelBar').destroy();
var joTd = $('#todo');
joTd.after('<ul id="todo"></ul>');
joTd.remove();
} else if ($('#todo').parent().data('kendoTabStrip')) {//已经存在 tabStrip,为新构造 待办构造一个新dom
var joTd = $('#todo');
joTd.closest('.k-tabstrip-wrapper').after('<div><ul id="todo"></ul></div>');
joTd.parent().data('kendoTabStrip').destroy();
joTd.parent().remove();
}
var tab = clearPanel('todo');
//刷新按钮绑定事件提前 20200110.yanzj
$("#info-board-1").off("click", ".for-refresh");
$("#info-board-1").on("click", ".for-refresh", function () {
refreshTodo();
});
var jsonRows = ei.get('result') || [];
var taskCount = parseInt(jsonRows.length);
if (taskCount === 0) { if (taskCount === 0) {
var kendoPanelBar = $("#todo").kendoPanelBar({ $("#todo").kendoPanelBar({
dataSource: { dataSource: [{
text: '暂无待办任务!' text: '暂无待办任务!'
} }]
});
$(kendoPanelBar).addClass('todo-empty-node');//空数据时,标识一下 20200217.yanzj
return false;
}
var modules = _.groupBy(jsonRows, "categoryKey");
var processTmpl = kendo.template($("#process-template").html());
var taskTmpl = kendo.template($("#task-template").html());
for (var module in modules) {
// 生成子tab
// var $module = $("<li id='" + module + "' >" + modules[module][0]["categoryName"] +
// "[" + modules[module].length + "]</li>");
var $panel = $('.todo-panel-items.module-' + module);
$panel = $panel.length > 0 ? $panel : $("<div id='" + module + "_panelBar' class='i-index-panelbar todo-panel-items module-" + module + "' />");
$("#todo").parent().append($panel);
// $("#todo").append($module);
// $("#todo").append($panel);
var groups = _.groupBy(modules[module], function (value) { // 按照流程定义和活动Id分组//20200121.CHG: 任务不按角色分组
return value["processKey"];
});
var dataSource = _.map(groups, function (group, key) {
var process = {encoded: false};
// context/web/form
// process["text"] = "您有" + group.length + "个" + group[0]["processName"] + group[0]["taskDefName"];
process["text"] = processTmpl({
count: group.length,
processDefName: group[0]["processDefName"],
taskName: group[0]["taskName"],
form: group[0]["form"],
categoryName: modules[module][0]["categoryName"]
});
process["items"] = _.map(group, function (value) {
// context/web/form?pid=pid
// return {text: value["subject"]};
return {
text: taskTmpl({
instSubject: value["instSubject"],
processInstanceId: value["processInstanceId"],
form: value["form"]
}),
encoded: false
};
});
return process;
});
$panel.kendoPanelBar({
dataSource: dataSource
}); });
return;
setTimeout(function () {//刷新父节点,计算panel高度
$panel.parent().resize();
}, 500);
// tempData = dataSource;
}
$("#todo").parent().kendoTabStrip({
scrollable: {
distance: 125
}
}).data("kendoTabStrip").select(0);
$(".i-index-process").off("click");
$(".i-index-process").on("click", function (e) {
$(e.currentTarget).parent().click();
return false;
});
// 渲染待办数量
if (tab && taskCount > 0) {
// 显示通知数量
tab.append('<span class="badge badge-danger">' + taskCount + '</span>');
} }
let result = ei.getBlock("result").getMappedRows();
// 数据
let datas = [];
// 模板
let template = '<span class="fa fa-check-square-o" style="color: rgb(49, 101, 185)" '
+ 'data-todo-internal-code="#:internalCode#"></span>\n'
+ '<span class="i-index-todo" data-form-ename="#:formEname#" data-form-param="#:formParam#" '
+ 'data-internal-code="#:internalCode#">'
+ '#:title# - #:content#</span>';
let kendoTemplate = kendo.template(template);
// 构造通知显示内容
$.each(result, function (i, n) {
datas.push({
text: kendoTemplate(n),
encoded: false
});
});
// 渲染通知
$("#todo").kendoPanelBar({
dataSource: datas
});
// 渲染数量
if (taskCount > 0) {
tab.append('<span class="badge badge-danger">' + taskCount + '</span>');
}
// 清除原来的事件
$("#todo").off("click", ".i-index-todo");
// 重新绑定事件
$("#todo").on("click", ".i-index-todo", function (e) {
let internalCode = $(e.target).data('internalCode');
let formEname = $(e.target).data('formEname');
let formParam = $(e.target).data('formParam');
let param = "todoInternalCode=" + internalCode + (!!formParam ? "&" + formParam : '');
// 跳转页面
if (!isBlank(formEname)) {
IPLAT.openForm(formEname, param);
}
});
// 绑定查看更多
bandForMore('todo', 'HGCT01', 'inqu_status-0-status=open');
// 绑定刷新
bandForRefresh('todo', refreshTodo);
}; };
var refreshTodo = function () { let refreshTodo = function () {
// refreshService('KB00WF', 'getTask', drawTodo); refreshService('HGCT01', 'queryTodo', drawTodo);
var Info1 = new EiInfo();
Info1.set("userId",loginName);
Info1.set("limit",10);
// refreshService('EW11', 'getTaskList', drawTodonew, Info1);
}; };
var drawTodonew = function (ei) { // 定时刷新
let timerRefreshTodo = function () {
if (ei.extAttr.tasks.length==0){ try {
var kendoPanelBar = $("#todo").kendoPanelBar({ let taskRefreshTime = 3 * 60 * 1000;
dataSource: [ let refreshTimer = new RefreshTimer().setLimits(taskRefreshTime).setSlice(1000);
{ let ticker = function (refresher) {
text: '暂无待办任务!' };
} let trigger = function (refresher) {
] refreshTodo();
}); };
}else { refreshTimer.setTicker(ticker).setTrigger(trigger).start();
var newDataSource=[]; } catch (e) {
for (var i=0;i<ei.extAttr.tasks.length;i++){ console.error(e);
if("docViewFlow" == ei.extAttr.tasks[i].processKey){ }
var datalist = { }
text:ei.extAttr.tasks[i].name + ":" + ei.extAttr.tasks[i].businessKey,
url:ctx+'/web/EUDC07?'+ei.extAttr.tasks[i].processInstanceId
}
newDataSource.push(datalist)
}else {
var datalist = {
text:ei.extAttr.tasks[i].name,
url:ctx+'/web/EWPC01?taskId='+ei.extAttr.tasks[i].actProcInstanceId
}
newDataSource.push(datalist)
}
}
var kendoPanelBar = $("#todo").kendoPanelBar({
dataSource:newDataSource
});
}
bandForMore('todo', 'EWPC01', 'methodName=query');
bandForRefresh('todo', refreshTodo);
}
//获取提醒中的数据信息 add@20200224.yanzj //获取提醒中的数据信息 add@20200224.yanzj
var getInformationSum = function (ei) { var getInformationSum = function (ei) {
...@@ -1485,6 +1157,7 @@ ...@@ -1485,6 +1157,7 @@
} }
return info; return info;
}; };
//显示提醒总数 add@20200224.yanzj //显示提醒总数 add@20200224.yanzj
var showInformationSum = function (tab, ei) { var showInformationSum = function (tab, ei) {
if (tab && ei) { if (tab && ei) {
...@@ -1621,7 +1294,7 @@ ...@@ -1621,7 +1294,7 @@
}; };
// 跟踪 // 跟踪
drawTrace = function (ei) { var drawTrace = function (ei) {
var tab = clearPanel('trace'); var tab = clearPanel('trace');
...@@ -1671,69 +1344,83 @@ ...@@ -1671,69 +1344,83 @@
}; };
// 已办 // 已办
var drawRecord = function (ei) { let drawRecord = function (ei) {
var tab = clearPanel('record'); let tab = clearPanel('record');
let taskCount = parseInt(ei.get('count'));
// 已办数量 if (taskCount === 0) {
var recordCount = parseInt(ei.get('result-count')); $("#record").kendoPanelBar({
if (recordCount === 0) { dataSource: [{
$("#record").kendoPanelBar({ text: '暂无已办任务!'
dataSource: { }]
text: '暂无已办任务!' });
} return;
}); }
} else { let result = ei.getBlock("result").getMappedRows();
var result = ei.getBlock("result").getMappedRows(); // 数据
// 已办数据 let datas = [];
var recordData = []; // 模板
// 已办模板 let template = '<span class="fa fa-check-square-o" style="color: rgb(49, 101, 185)" '
var recordTmpl = kendo.template($("#record-template").html()); + 'data-record-internal-code="#:internalCode#"></span>\n'
// 构造已办显示内容 + '<span class="i-index-record" data-form-ename="#:formEname#" data-form-param="#:formParam#" '
$.each(result, function (i, n) { + 'data-internal-code="#:internalCode#">'
var ar = n.approvalResult || ' '; + '#:title# - #:content#</span>';
var op = n.opinion || '无'; let kendoTemplate = kendo.template(template);
op = op.trim() || '无'; // 构造通知显示内容
switch (ar) { $.each(result, function (i, n) {
case 'grant': datas.push({
ar = '同意'; text: kendoTemplate(n),
break; encoded: false
case 'deny': });
ar = '拒绝'; });
break; // 渲染通知
case 'reject': $("#record").kendoPanelBar({
ar = '驳回'; dataSource: datas
break; });
default: // 渲染数量
ar = '提交'; if (taskCount > 0) {
} tab.append('<span class="badge badge-danger">' + taskCount + '</span>');
n.ar = ar; }
n.op = op; // 清除原来的事件
n.endTime = kendo.toString(kendo.parseDate(n.endTime, 'yyyyMMddHHmmss'), 'yyyy-MM-dd HH:mm:ss'); $("#record").off("click", ".i-index-record");
recordData.push({ // 重新绑定事件
text: recordTmpl(n), $("#record").on("click", ".i-index-record", function (e) {
encoded: false let internalCode = $(e.target).data('internalCode');
}); let formEname = $(e.target).data('formEname');
}); let formParam = $(e.target).data('formParam');
// 渲染已办 let param = !!formParam ? formParam : '';
$("#record").kendoPanelBar({ // 跳转页面
dataSource: recordData if (!isBlank(formEname)) {
}); IPLAT.openForm(formEname, param);
// 渲染已办数量 }
//if (recordCount > 0) { });
// 显示已办数量 // 绑定查看更多
// tab.append('<span class="badge badge-danger">'+recordCount+'</span>'); bandForMore('record', 'HGCT01', 'inqu_status-0-status=close');
//} // 绑定刷新
}
// bandForMore('record', 'KB00WF', 'methodName=getHistoryTask');
bandForRefresh('record', refreshRecord); bandForRefresh('record', refreshRecord);
}; };
var refreshRecord = function () { let refreshRecord = function () {
// refreshService('KB00WF', 'getHistoryTask', drawRecord); refreshService('HGCT01', 'queryRecord', drawRecord);
}; };
// 定时刷新
let timerRefreshRecord = function () {
try {
let taskRefreshTime = 3 * 60 * 1000;
let refreshTimer = new RefreshTimer().setLimits(taskRefreshTime).setSlice(1000);
let ticker = function (refresher) {
};
let trigger = function (refresher) {
refreshRecord();
};
refreshTimer.setTicker(ticker).setTrigger(trigger).start();
} catch (e) {
console.error(e);
}
}
// 通知 // 通知
var drawNotification = function (ei) { let drawNotification = function (ei) {
var tab = clearPanel('notification'); var tab = clearPanel('notification');
// 通知数量 // 通知数量
...@@ -1798,12 +1485,13 @@ ...@@ -1798,12 +1485,13 @@
bandForRefresh('notification', refreshNotification); bandForRefresh('notification', refreshNotification);
}; };
var refreshNotification = function () {
let refreshNotification = function () {
// refreshService('KBCTNotify', 'queryNotification', drawNotification); // refreshService('KBCTNotify', 'queryNotification', drawNotification);
}; };
// 公告 // 公告
var drawNotice = function (ei) { let drawNotice = function (ei) {
var tab = clearPanel('notice'); var tab = clearPanel('notice');
var MAX_NOTICE_DISPLAY = 10; var MAX_NOTICE_DISPLAY = 10;
...@@ -1882,11 +1570,12 @@ ...@@ -1882,11 +1570,12 @@
bandForRefresh('notice', refreshNotice); bandForRefresh('notice', refreshNotice);
}; };
var refreshNotice = function () { let refreshNotice = function () {
var info = new EiInfo(); var info = new EiInfo();
info.set('unread', 'true'); info.set('unread', 'true');
// refreshService('KBCTNotify', 'queryNotice', drawNotice, info); // refreshService('KBCTNotify', 'queryNotice', drawNotice, info);
}; };
// 首页消息主看板的Tab的图标的添加 // 首页消息主看板的Tab的图标的添加
window.onload = function () { window.onload = function () {
var data = sessionStorage.getItem("frameOpenWeb"); var data = sessionStorage.getItem("frameOpenWeb");
...@@ -1895,66 +1584,40 @@ ...@@ -1895,66 +1584,40 @@
var tabElements = $("#info-board>.k-tabstrip-items-wrapper.k-hstack>ul>li[role='tab']"); var tabElements = $("#info-board>.k-tabstrip-items-wrapper.k-hstack>ul>li[role='tab']");
var tabElementsTwo = $("#info>.k-tabstrip-items-wrapper.k-hstack>ul>li[role='tab']"); var tabElementsTwo = $("#info>.k-tabstrip-items-wrapper.k-hstack>ul>li[role='tab']");
// 待办 // 待办
// tabElements.eq(0).prepend('<span class="k-link k-distance"><span class="index-todo"></span></span>'); tabElements.eq(0).prepend('<span class="k-link"><span class="index-icon index-todo"></span></span>');
// 提醒 // 提醒
tabElements.eq(1).prepend('<span class="k-link k-distance"><span class="index-warn"></span></span>'); // tabElements.eq(1).prepend('<span class="k-link k-distance"><span class="index-warn"></span></span>');
// 跟踪 // 跟踪
//tabElements.eq(2).prepend('<span class="k-link"><span class="index-icon index-follow"></span></span>'); //tabElements.eq(2).prepend('<span class="k-link"><span class="index-icon index-follow"></span></span>');
// 已办 // 已办
// tabElements.eq(3).prepend('<span class="k-link k-distance"><span class="index-record"></span></span>'); tabElements.eq(3).prepend('<span class="k-link"><span class="index-icon index-record"></span></span>');
// 通知 // 通知
tabElements.eq(4).prepend('<span class="k-link k-distance"><span class="index-notification"></span></span>'); // tabElements.eq(4).prepend('<span class="k-link k-distance"><span class="index-notification"></span></span>');
// 公告 // 公告
tabElements.eq(5).prepend('<span class="k-link k-distance"><span class="index-announcement"></span></span>'); // tabElements.eq(5).prepend('<span class="k-link k-distance"><span class="index-announcement"></span></span>');
// tabElementsTwo.eq(0).prepend('<span class="k-link k-distance"><span class="index-icon-fav index-fav"></span></span>'); // tabElementsTwo.eq(0).prepend('<span class="k-link k-distance"><span class="index-icon-fav index-fav"></span></span>');
// tabElementsTwo.eq(1).prepend('<span class="k-link k-distance"><span class="index-icon-link index-link"></span></span>'); // tabElementsTwo.eq(1).prepend('<span class="k-link k-distance"><span class="index-icon-link index-link"></span></span>');
var tabPanel = $('#info-board').data('kendoTabStrip'); let tabPanel = $('#info-board').data('kendoTabStrip');
// 刷新看板数据
// 待办
refreshTodo();
(function () {//定时刷新
var refreshLimits = null;
if (needRefresh) {//指定刷新
$('.i-index-todo .refresh-timer').removeClass('hide');
try {
taskRefeshTime = IPLAT.trimString(taskRefeshTime);
taskRefeshTime = taskRefeshTime == '' ? 5 * 60 * 1000 : (taskRefeshTime * 1);
refreshLimits = refreshLimits || taskRefeshTime;
var refreshTimmer = new RefreshTimer().setLimits(refreshLimits).setSlice(1000);
$('.i-index-todo .refresh-timer .refresh-limits').text(refreshTimmer.seconds2Minutes(refreshLimits / 1000));
var ticker = function (refresher) {
var text = refreshTimmer.seconds2Minutes(refresher.getSpareSeconds());
$('.i-index-todo .refresh-timer .spare-seconds').text(text);
};
var trigger = function (refresher) {
refreshTodo();
};
refreshTimmer.setTicker(ticker).setTrigger(trigger).start();
} catch (ex) {
console.error(ex);
}
}
})();
// 提醒
refreshInformation();
// tabPanel.hide(1);
// 跟踪
//refreshTrace();
tabPanel.hide(1); tabPanel.hide(1);
tabPanel.hide(2); tabPanel.hide(2);
tabPanel.hide(4); tabPanel.hide(4);
tabPanel.hide(5); tabPanel.hide(5);
// 待办
refreshTodo();
timerRefreshTodo();
// 已办 // 已办
refreshRecord(); refreshRecord();
timerRefreshRecord();
// 通知 // 通知
refreshNotification(); // refreshNotification();
// 公告 // 公告
refreshNotice(); // refreshNotice();
// 提醒
// refreshInformation();
// 跟踪
// refreshTrace();
} }
function updateTime() { function updateTime() {
var now = new Date(); var now = new Date();
var hours = now.getHours().toString().padStart(2, '0'); var hours = now.getHours().toString().padStart(2, '0');
...@@ -1969,7 +1632,6 @@ ...@@ -1969,7 +1632,6 @@
V6Index.prototype.tabs = function () { V6Index.prototype.tabs = function () {
var page_list = $('#page-list').data('kendoTabStrip'); var page_list = $('#page-list').data('kendoTabStrip');
if (page_list) { if (page_list) {
var contextTab; var contextTab;
page_list.tabGroup.on("click", "[data-type='remove']", function (e) { page_list.tabGroup.on("click", "[data-type='remove']", function (e) {
...@@ -1988,7 +1650,6 @@ ...@@ -1988,7 +1650,6 @@
this.tabs = page_list; this.tabs = page_list;
$("#page-list").on("contextmenu", "li.k-item", function(e) { $("#page-list").on("contextmenu", "li.k-item", function(e) {
e.preventDefault(); // 阻止默认右键菜单 e.preventDefault(); // 阻止默认右键菜单
contextTab = $(e.target).closest("li"); // 更新选中的 Tab 元素 contextTab = $(e.target).closest("li"); // 更新选中的 Tab 元素
var itemindex=contextTab.index(); var itemindex=contextTab.index();
if(itemindex !=0){ if(itemindex !=0){
...@@ -2002,115 +1663,109 @@ ...@@ -2002,115 +1663,109 @@
} }
}); });
$("#close-tab").on("click", function() { $("#close-tab").on("click", function () {
$("#context-menu").hide();
$("#context-menu").hide(); var itemindex = contextTab.index();
var itemindex=contextTab.index(); if (page_list.items().length > 0 && contextTab.hasClass('k-active')) {
if (page_list.items().length > 0 && contextTab.hasClass('k-active')) { page_list.select(itemindex - 1);
page_list.select(itemindex-1); }
} if (contextTab) {
if (contextTab) { page_list.remove(contextTab.index()); // 关闭当前页
page_list.remove(contextTab.index()); // 关闭当前页 }
} if (contextTab[0].innerText == selectedNodeText) {
if (contextTab[0].innerText == selectedNodeText){ $("#" + treeid).data("kendoTreeView").select($());
$("#"+treeid).data("kendoTreeView").select($()); }
} });
});
$("#close-all-tabs").on("click", function () {
$("#close-all-tabs").on("click", function() { var tabCount = page_list.tabGroup.children("li").length;
var tabCount = page_list.tabGroup.children("li").length; // 遍历每个选项卡并关闭除第一页以外的所有选项卡
for (var i = tabCount - 1; i > 0; i--) {
// 遍历每个选项卡并关闭除第一页以外的所有选项卡 var tab = page_list.tabGroup.children("li").eq(i);
for (var i = tabCount - 1; i > 0; i--) { page_list.remove(tab);
var tab = page_list.tabGroup.children("li").eq(i); }
page_list.remove(tab); $("#context-menu").hide();
} page_list.select(0);
$("#context-menu").hide(); $("#" + treeid).data("kendoTreeView").select($());
page_list.select(0); });
$("#"+treeid).data("kendoTreeView").select($());
}); $("#close-other-tabs").on("click", function () {
var tabCount = page_list.tabGroup.children("li").length;
$("#close-other-tabs").on("click", function() { // 遍历每个选项卡并关闭除第一页以外的所有选项卡
var tabCount = page_list.tabGroup.children("li").length; for (var i = tabCount - 1; i > 0; i--) {
if (i != contextTab.index()) {
// 遍历每个选项卡并关闭除第一页以外的所有选项卡 var tab = page_list.tabGroup.children("li").eq(i);
for (var i = tabCount - 1; i > 0; i--) { page_list.remove(tab);
if (i != contextTab.index()){ }
var tab = page_list.tabGroup.children("li").eq(i); }
page_list.remove(tab); $("#context-menu").hide();
} if (page_list.items().length > 0 && !contextTab.hasClass('k-active')) {
} page_list.select(1);
$("#context-menu").hide(); }
if (page_list.items().length > 0 && !contextTab.hasClass('k-active')) { if (contextTab[0].innerText != selectedNodeText) {
page_list.select(1); $("#" + treeid).data("kendoTreeView").select($());
} }
if (contextTab[0].innerText != selectedNodeText){ });
$("#"+treeid).data("kendoTreeView").select($());
} $("#refresh-tab").on("click", function () {
}); $("#context-menu").hide();
var itemindex = contextTab.index();
$("#refresh-tab").on("click", function() { var currentTab = page_list.contentElement(itemindex);
$("#context-menu").hide(); // 获取当前 Tab 页内的 iframe 元素
var itemindex=contextTab.index(); var iframeElement = $(currentTab).find("iframe")[0];
// 刷新 iframe 内容
var currentTab = page_list.contentElement(itemindex); if (iframeElement != null) {
iframeElement.contentWindow.location.reload();
// 获取当前 Tab 页内的 iframe 元素 }
var iframeElement = $(currentTab).find("iframe")[0]; });
// 刷新 iframe 内容
if (iframeElement != null){
iframeElement.contentWindow.location.reload();
}
});
}
var data = sessionStorage.getItem("frameOpenWeb");
if (data != null && data != ""){
var tab = page_list.tabGroup.children("li").eq(0);
$('#page-list').data('kendoTabStrip').remove(tab);
}
};
$(document).on("click ", function(e) {
var menu = $("#context-menu");
if (e.which === 1 ) {
if (!menu.is(e.target) && menu.has(e.target).length === 0 ) {
menu.hide(); // 隐藏菜单
}
}
});
window.V6Index = V6Index;
V6Index.uiLayout = uiLayout;
// 设置人员下拉框中明细信息
var setUserInfoValue = function (name, obj, key, value) {
var node = $("#user-info-dropdown").find('.detail-info.' + name);
if (!node || !obj || !obj[key] || !obj[value]) {
return false;
} }
var display = obj[key] + ' - ' + obj[value];
node.text(display);
};
var setUserInfoValueByOrg = function (name, obj, key, value) { var data = sessionStorage.getItem("frameOpenWeb");
var node = $("#user-info-dropdown").find('.detail-info.' + name); if (data != null && data != "") {
if (!node || !obj || !obj[key] || !obj[value]) { var tab = page_list.tabGroup.children("li").eq(0);
return false; $('#page-list').data('kendoTabStrip').remove(tab);
} }
if (name.indexOf("-oth") === -1) {
var display = obj[key];
node.text(display);
} else {
var display = obj[value];
node.text(display);
}
}; };
// 设置人员组织机构信息 $(document).on("click ", function (e) {
var menu = $("#context-menu");
if (e.which === 1) {
if (!menu.is(e.target) && menu.has(e.target).length === 0) {
menu.hide(); // 隐藏菜单
}
}
});
window.V6Index = V6Index;
V6Index.uiLayout = uiLayout;
// 设置人员下拉框中明细信息
var setUserInfoValue = function (name, obj, key, value) {
var node = $("#user-info-dropdown").find('.detail-info.' + name);
if (!node || !obj || !obj[key] || !obj[value]) {
return false;
}
var display = obj[key] + ' - ' + obj[value];
node.text(display);
};
var setUserInfoValueByOrg = function (name, obj, key, value) {
var node = $("#user-info-dropdown").find('.detail-info.' + name);
if (!node || !obj || !obj[key] || !obj[value]) {
return false;
}
if (name.indexOf("-oth") === -1) {
var display = obj[key];
node.text(display);
} else {
var display = obj[value];
node.text(display);
}
};
// 设置人员组织机构信息
var setUserOrg = function (obj) { var setUserOrg = function (obj) {
setUserInfoValue('user-org', obj, 'orgEname', 'orgCname'); setUserInfoValue('user-org', obj, 'orgEname', 'orgCname');
// 附加设置代理委托用户 // 附加设置代理委托用户
...@@ -2126,24 +1781,23 @@ ...@@ -2126,24 +1781,23 @@
$('.change-password').remove(); $('.change-password').remove();
}; };
// 设置人员公司别账套信息 // 设置人员公司别账套信息
var selectAccountSet = function (accountSetObj) { var selectAccountSet = function (accountSetObj) {
setUserInfoValue('user-company', accountSetObj, 'companyCode', 'companyName'); setUserInfoValue('user-company', accountSetObj, 'companyCode', 'companyName');
setUserInfoValue('user-accountset', accountSetObj, 'accountSet', 'accountSetName'); setUserInfoValue('user-accountset', accountSetObj, 'accountSet', 'accountSetName');
$('#header-navbar>ul.pull-right>li[data-accountset]>a>span').text(accountSetObj.accountSetName); $('#header-navbar>ul.pull-right>li[data-accountset]>a>span').text(accountSetObj.accountSetName);
setTimeout(function () { setTimeout(function () {
V6Index.prototype.meet(); V6Index.prototype.meet();
}, 200); }, 200);
}; };
// 设置人员业务组织机构信息 // 设置人员业务组织机构信息
var selectOrg = function (data, blockId) { var selectOrg = function (data, blockId) {
// console.debug(blockId, data); if (blockId) {
if (blockId) { setUserInfoValueByOrg('user-' + blockId + '-org', data, 'orgEname', 'orgCname');
setUserInfoValueByOrg('user-' + blockId + '-org', data, 'orgEname', 'orgCname'); setUserInfoValueByOrg('user-' + blockId + '-org-oth', data, 'orgEname', 'orgCname');
setUserInfoValueByOrg('user-' + blockId + '-org-oth', data, 'orgEname', 'orgCname'); }
} };
};
// 打开公司别、账套选择弹框 // 打开公司别、账套选择弹框
var openAccountSet = function (type) { var openAccountSet = function (type) {
...@@ -2555,6 +2209,13 @@ function downloadHref(docId,projectEnv) { ...@@ -2555,6 +2209,13 @@ function downloadHref(docId,projectEnv) {
: ('/EU/DM/EUDM06.jsp?docId=' + docId)); : ('/EU/DM/EUDM06.jsp?docId=' + docId));
} }
/**
* 判断是否为null
*
* @param value
* @returns {boolean}
*/
function isBlank(data) {
return data == null || data === undefined || data === 'null' || $.trim(data) === '' ||
data === 'undefined' || data === 'unknown';
}
...@@ -169,7 +169,7 @@ ...@@ -169,7 +169,7 @@
<%@include file="/WEB-INF/fragments/kendo-ui-css.tagf" %> <%@include file="/WEB-INF/fragments/kendo-ui-css.tagf" %>
<link rel="shortcut icon" href="${iPlatStaticURL}/iplat.ico" type="image/x-icon"> <link rel="shortcut icon" href="${iPlatStaticURL}/iplat.ico" type="image/x-icon">
<%-- <link href="${iPlatStaticURL}/iPlatV7-index.css" rel="stylesheet" type="text/css"/>--%> <link href="${iPlatStaticURL}/iPlatV7-index.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="${iPlatStaticURL}/iplatui/assets/js/plugins/slick/slick.min.css"> <link rel="stylesheet" href="${iPlatStaticURL}/iplatui/assets/js/plugins/slick/slick.min.css">
<link rel="stylesheet" href="${iPlatStaticURL}/iplatui/assets/js/plugins/slick/slick-theme.min.css" onload="this.rel='stylesheet'" rel="preload" as="style" > <link rel="stylesheet" href="${iPlatStaticURL}/iplatui/assets/js/plugins/slick/slick-theme.min.css" onload="this.rel='stylesheet'" rel="preload" as="style" >
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
<!-- 工具 --> <!-- 工具 -->
<sqlMap resource="com/baosight/hggp/hg/dm/sql/HGDM099.xml"/> <sqlMap resource="com/baosight/hggp/hg/dm/sql/HGDM099.xml"/>
<sqlMap resource="com/baosight/hggp/hg/ct/sql/HGCT01.xml"/>
<!-- 工艺 --> <!-- 工艺 -->
<sqlMap resource="com/baosight/hggp/hg/sj/sql/HGSJ001.xml"/> <sqlMap resource="com/baosight/hggp/hg/sj/sql/HGSJ001.xml"/>
......
$(function () {
IPLATUI.EFGrid = {
"result": {
exportGrid: false,
pageable: {
pageSize: 15,
pageSizes: [15, 50, 100, 200]
},
columns: [{
field: "operate",
template: function (options) {
let formEname = options.formEname;
if (isBlank(formEname)) {
return "";
}
let formParam = "todoInternalCode=" + options.internalCode
+ (isBlank(options.formParam) ? "" : "&" + options.formParam);
let params = '\'' + formEname + '\',\'' + formParam + '\'';
let template = '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+ 'onclick="showDetail(' + params + ')">详情</a>';
return template;
}
}]
}
}
// 查询
$("#QUERY").on("click", query);
// 已读
$("#CONFIRM").on("click", confirm);
});
/**
* 页面加载时执行
*/
$(window).load(function () {
// 查询
query();
});
/**
* 查询
*/
let query = function () {
resultGrid.dataSource.page(1);
}
/**
* 已读
*/
let confirm = function () {
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据");
return;
}
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"确认已办\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HGCT01", "batchConfirm", true);
}
});
}
/**
* 展示详情
*
* @param formEname
* @param param
*/
let showDetail = function (formEname, param) {
IPLAT.openForm(formEname, param);
}
<!DOCTYPE html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="EF" tagdir="/WEB-INF/tags/EF" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<EF:EFPage title="待办消息">
<EF:EFRegion id="inqu" title="条件区域">
<div class="row">
<EF:EFSelect cname="状态" blockId="inqu_status" ename="status" row="0" colWidth="3" optionLabel="全部">
<EF:EFCodeOption codeName="app.ct.status"/>
</EF:EFSelect>
<EF:EFInput cname="标题" blockId="inqu_status" ename="title" row="0" colWidth="3"/>
<EF:EFInput cname="内容" blockId="inqu_status" ename="content" row="0" colWidth="3"/>
</div>
<div class="row">
<EF:EFDateSpan startCname="创建日期(从)" endCname="至" blockId="inqu_status"
startName="createTimeFrom" endName="createTimeTo" row="0" role="datetime"
format="yyyy-MM-dd HH:mm:ss" ratio="3:3" satrtRatio="4:8" endRatio="4:8" readonly="true">
</EF:EFDateSpan>
<EF:EFDateSpan startCname="关闭日期(从)" endCname="至" blockId="inqu_status"
startName="closeTimeFrom" endName="closeTimeTo" row="0" role="datetime"
format="yyyy-MM-dd HH:mm:ss" ratio="3:3" satrtRatio="4:8" endRatio="4:8" readonly="true">
</EF:EFDateSpan>
</div>
</EF:EFRegion>
<EF:EFRegion id="result" title="明细数据">
<EF:EFGrid blockId="result" autoDraw="override" showCount="true" checkMode="row" height="69vh">
<EF:EFColumn ename="internalCode" cname="内码" hidden="true"/>
<EF:EFColumn ename="formEname" cname="表单英文名" hidden="true"/>
<EF:EFColumn ename="formParam" cname="表单参数" hidden="true"/>
<EF:EFColumn ename="operate" cname="操作" enable="false" width="80" align="center"/>
<EF:EFComboColumn ename="status" cname="状态" enable="false" width="100" align="center">
<EF:EFCodeOption codeName="app.ct.status"/>
</EF:EFComboColumn>
<EF:EFColumn ename="title" cname="标题" enable="false" width="140" align="center"/>
<EF:EFColumn ename="content" cname="内容" enable="false" width="500" align="left" sort="true"/>
<EF:EFColumn ename="createdTime" cname="创建时间" enable="false" width="140" align="center"
editType="datetime" parseFormats="['yyyyMMddHHmmss','yyyy-MM-dd HH:mm:ss']"/>
<EF:EFColumn ename="closeTime" cname="关闭时间" enable="false" width="140" align="center"
editType="datetime" parseFormats="['yyyyMMddHHmmss','yyyy-MM-dd HH:mm:ss']"/>
</EF:EFGrid>
</EF:EFRegion>
</EF:EFPage>
...@@ -20,6 +20,9 @@ ...@@ -20,6 +20,9 @@
</EF:EFSelect> </EF:EFSelect>
<EF:EFInput ename="submitUserName" cname="发布人" blockId="inqu_status" row="0" colWidth="3"/> <EF:EFInput ename="submitUserName" cname="发布人" blockId="inqu_status" row="0" colWidth="3"/>
</div> </div>
<div class="row">
<EF:EFInput ename="noticeNo" cname="公告单号" blockId="inqu_status" row="0" colWidth="3"/>
</div>
</EF:EFRegion> </EF:EFRegion>
<EF:EFRegion id="result" title="明细信息" fitHeight="true"> <EF:EFRegion id="result" title="明细信息" fitHeight="true">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment