Commit b40da5d1 by 宋祥

1.首页待办和已办

parent ec63c647
package com.baosight.hpjx.hp.ct.constant;
/**
* @author:songx
* @date:2024/9/24,17:53
*/
public class HpCtConst {
/**
* HPCT01 定义
*
* @author:songx
* @date:2024/9/24,17:54
*/
public static class HpCt001 {
/**
* 状态
*
* @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.hpjx.hp.ct.constant;
/**
* @author:songx
* @date:2024/9/24,18:09
*/
public class HpCtSqlConst {
/**
* @author:songx
* @date:2024/8/29,15:54
*/
public static class HpCt001 {
// 确认
public static final String CONFIRM = "HPCT001.confirm";
}
}
package com.baosight.hpjx.hp.ct.domain;
import com.baosight.iplat4j.core.util.NumberUtils;
import com.baosight.iplat4j.core.ei.EiColumn;
import com.baosight.iplat4j.core.data.DaoEPBase;
import java.util.HashMap;
import java.util.Map;
import com.baosight.iplat4j.core.util.StringUtils;
/**
* Project: <br>
* Title:THpct001.java <br>
* Description: <br>
*
* Copyrigth:Baosight Software LTD.co Copyright (c) 2019. <br>
*
* @version 1.0
* @history 2024-10-10 10:11:12 create
*/
public class HPCT001 extends DaoEPBase {
private static final long serialVersionUID = 1L;
public static final String FIELD_ID = "id"; /* 主键id*/
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_ID = "ID"; /* 主键id*/
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 = "HPCT001.query";
public static final String COUNT = "HPCT001.count";
public static final String INSERT = "HPCT001.insert";
public static final String UPDATE = "HPCT001.update";
public static final String DELETE = "HPCT001.delete";
private Long id = new Long(0); /* 主键id*/
private String createdBy = " "; /* 记录创建者*/
private String createdName = " "; /* 记录创建名称*/
private String createdTime = " "; /* 记录创建时间*/
private String updatedBy = " "; /* 记录修改者*/
private String updatedName = " "; /* 记录修改名称*/
private String updatedTime = " "; /* 记录修改时间*/
private Integer deleteFlag = new Integer(0); /* 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_ID);
eiColumn.setPrimaryKey(true);
eiColumn.setDescName("主键id");
eiMetadata.addMeta(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.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 HPCT001() {
initMetaData();
}
/**
* get the id - 主键id.
* @return the id
*/
public Long getId() {
return this.id;
}
/**
* set the id - 主键id.
*
* @param id - 主键id
*/
public void setId(Long id) {
this.id = id;
}
/**
* 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) {
setId(NumberUtils.toLong(StringUtils.toString(map.get(FIELD_ID)), id));
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_ID, StringUtils.toString(id, eiMetadata.getMeta(FIELD_ID)));
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.hpjx.hp.ct.service;
import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.ct.constant.HpCtConst;
import com.baosight.hpjx.hp.ct.constant.HpCtSqlConst;
import com.baosight.hpjx.hp.ct.domain.HPCT001;
import com.baosight.hpjx.hp.ct.tools.HpCtTools;
import com.baosight.hpjx.util.DateUtils;
import com.baosight.hpjx.util.EiInfoUtils;
import com.baosight.hpjx.util.LogUtils;
import com.baosight.hpjx.util.MapUtils;
import com.baosight.hpjx.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 ServiceHPCT001 extends ServiceEPBase {
/**
* 页面加载调用.
*
* @param inInfo
*/
public EiInfo initLoad(EiInfo inInfo) {
try {
inInfo.addBlock(EiConstant.resultBlock).addBlockMeta(new HPCT001().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(HPCT001.FIELD_USER_ENAME, UserSession.getLoginName());
inInfo = super.query(inInfo, HPCT001.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(HPCT001.FIELD_STATUS, HpCtConst.HpCt001.Status.OPEN);
queryMap.put(HPCT001.FIELD_USER_ENAME, UserSession.getLoginName());
inInfo = super.query(inInfo, HPCT001.QUERY, new HPCT001());
// 查询总数量
List<Integer> counts = dao.query(HPCT001.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(HPCT001.FIELD_STATUS, HpCtConst.HpCt001.Status.CLOSE);
queryMap.put(HPCT001.FIELD_USER_ENAME, UserSession.getLoginName());
inInfo = super.query(inInfo, HPCT001.QUERY, new HPCT001());
// 查询总数量
List<Integer> counts = dao.query(HPCT001.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(HPCT001.FIELD_INTERNAL_CODE))) {
inInfo.setMsg("无效的待办消息");
return inInfo;
}
resultRow.put(HPCT001.FIELD_STATUS, HpCtConst.HpCt001.Status.CLOSE);
resultRow.put(HPCT001.FIELD_CLOSE_TIME, DateUtils.shortDateTime());
DaoUtils.update(HpCtSqlConst.HpCt001.CONFIRM, resultRow);
} catch (Exception e) {
LogUtils.setMsg(inInfo, e, "确认已办失败");
}
return inInfo;
}
/**
* 批量已读
*
* @param inInfo
* @return
*/
public EiInfo batchConfirm(EiInfo inInfo) {
try {
int successCount = 0;
List<HPCT001> fCt01s = MapUtils.toDaoEPBases(inInfo, HPCT001.class);
for (HPCT001 fCt01 : fCt01s) {
int result = HpCtTools.HpCt001.confirm(fCt01.getInternalCode());
successCount += result;
}
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="HPCT001">
<sql id="column">
ID as "id", <!-- 主键id -->
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="id">
ID = #id#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdBy">
CREATED_BY = #createdBy#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdName">
CREATED_NAME = #createdName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdTime">
CREATED_TIME = #createdTime#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="updatedBy">
UPDATED_BY = #updatedBy#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="updatedName">
UPDATED_NAME = #updatedName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="updatedTime">
UPDATED_TIME = #updatedTime#
</isNotEmpty>
<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 = #title#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="content">
CONTENT = #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.hpjx.hp.ct.domain.HPCT001">
SELECT
<include refid="column"/>
FROM ${hpjxSchema}.T_HPCT001 WHERE 1=1
<include refid="customCondition"/>
<include refid="orderBy"/>
</select>
<select id="count" resultClass="int">
SELECT COUNT(*) FROM ${hpjxSchema}.T_HPCT001 WHERE 1=1
<include refid="customCondition"/>
</select>
<insert id="insert">
INSERT INTO ${hpjxSchema}.T_HPCT001 (
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}.T_HPCT001
SET
STATUS = #status#,
CLOSE_TIME = #closeTime#,
<include refid="SqlBase.updateRevise"/>
WHERE INTERNAL_CODE = #internalCode#
AND STATUS = 'open'
</update>
</sqlMap>
package com.baosight.hpjx.hp.ct.tools;
import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.ct.constant.HpCtConst;
import com.baosight.hpjx.hp.ct.constant.HpCtSqlConst;
import com.baosight.hpjx.hp.ct.domain.HPCT001;
import com.baosight.hpjx.util.DateUtils;
import com.baosight.hpjx.util.StringUtils;
import java.util.HashMap;
import java.util.Map;
/**
* @author:songx
* @date:2024/3/25,20:44
*/
public class HpCtTools {
/**
* HPCT001 sql 定义
*
* @author:songx
* @date:2024/3/25,21:04
*/
public static class HpCt001 {
/**
* 写入数据库
*
* @param ct00
*/
public static void insertDb(HPCT001 ct00) {
ct00.setStatus(HpCtConst.HpCt001.Status.OPEN);
DaoUtils.insert(HPCT001.INSERT, ct00);
}
/**
* 确认已办
*
* @param internalCode
*/
public static int confirm(String internalCode) {
if (StringUtils.isBlank(internalCode)) {
return 0;
}
Map paramMap = new HashMap();
paramMap.put(HPCT001.FIELD_INTERNAL_CODE, internalCode);
paramMap.put(HPCT001.FIELD_STATUS, HpCtConst.HpCt001.Status.CLOSE);
paramMap.put(HPCT001.FIELD_CLOSE_TIME, DateUtils.shortDateTime());
return DaoUtils.update(HpCtSqlConst.HpCt001.CONFIRM, paramMap);
}
}
}
package com.baosight.hpjx.hp.ct.utils;
import com.baosight.hpjx.hp.ct.domain.HPCT001;
import com.baosight.hpjx.hp.ct.tools.HpCtTools;
import com.baosight.hpjx.hp.xs.domain.User;
import com.baosight.hpjx.hp.xs.tools.HPXSTools;
import com.baosight.hpjx.util.AssertUtils;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
/**
* @author:songx
* @date:2024/3/25,20:45
*/
@Slf4j
public class HpCtUtils {
/**
* @author:songx
* @date:2024/10/8,17:20
*/
public static class HpCt001 {
/**
* 发送通知
*
* @param ct00 消息体
*/
public static void send(HPCT001 ct00) {
AssertUtils.isNull(ct00, "待办内容不能为空");
AssertUtils.isEmpty(ct00.getTitle(), "待办标题不能为空");
AssertUtils.isEmpty(ct00.getContent(), "待办内容不能为空");
AssertUtils.isEmpty(ct00.getUserEname(), "待办对象不能为空");
// 设置通知对象名称
User user = HPXSTools.XsUser.get(ct00.getUserEname());
ct00.setUserCname(user.getUserName());
HpCtTools.HpCt001.insertDb(ct00);
}
/**
* 发送通知
*
* @param ct00 消息体
* @param loginNames loginNames
*/
public static void send(HPCT001 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 = HPXSTools.XsUser.get(loginName);
ct00.setUserCname(user.getUserName());
ct00.setUserEname(user.getLoginName());
HpCtTools.HpCt001.insertDb(ct00);
}
} catch (Exception e) {
log.error("发送通知消息失败:{}", e.getMessage(), e);
}
}
}
}
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;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -139,7 +139,7 @@
<%@include file="/WEB-INF/fragments/kendo-ui-css.tagf" %>
<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-theme.min.css" onload="this.rel='stylesheet'" rel="preload" as="style" >
......
......@@ -11,6 +11,7 @@
<!-- 基础服务 -->
<sqlMap resource="com/baosight/hpjx/hp/dm/sql/HPDM099.xml"/>
<sqlMap resource="com/baosight/hpjx/hp/ct/sql/HPCT001.xml"/>
<!-- 用户服务 -->
<sqlMap resource="com/baosight/hpjx/hp/xs/sql/HPXS007A.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", "HPCT001", "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>
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