Commit 604a1bfb by YG8429

Merge remote-tracking branch 'origin/dev' into dev

parents c17dbb72 7e9a44e4
......@@ -37,6 +37,7 @@ public class HPBG002 extends DaoEPBase {
public static final String FIELD_WH_CODE = "whCode"; /* 仓库编码*/
public static final String FIELD_WH_NAME = "whName"; /* 仓库名称*/
public static final String FIELD_DEPOSIT_USER = "depositUser"; /* 入库人员*/
public static final String FIELD_STATUS = "status"; /* 审批状态0.未审核1.已审核*/
public static final String COL_ID = "ID";
public static final String COL_COMPANY_CODE = "COMPANY_CODE"; /* 企业编码*/
......@@ -58,6 +59,7 @@ public class HPBG002 extends DaoEPBase {
public static final String COUNT = "HPBG002.count";
public static final String INSERT = "HPBG002.insert";
public static final String UPDATE = "HPBG002.update";
public static final String UPDATE_BY_STATUS = "HPBG002.updateBystatus";
public static final String DELETE = "HPBG002.delete";
public static final String DELETE_FLAG = "HPBG002.deleteFlag";
......@@ -76,6 +78,7 @@ public class HPBG002 extends DaoEPBase {
private String whCode = " "; /* 仓库编码*/
private String whName = " "; /* 仓库名称*/
private String depositUser = " "; /* 入库人员*/
private Integer status = 2; /* 审批状态0.未审核1.已审核*/
/**
* initialize the metadata.
......@@ -144,6 +147,9 @@ public class HPBG002 extends DaoEPBase {
eiColumn.setDescName("入库人员");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_STATUS);
eiColumn.setDescName("审批状态0.未审核1.已审核");
eiMetadata.addMeta(eiColumn);
}
......@@ -394,6 +400,15 @@ public class HPBG002 extends DaoEPBase {
public void setDepositUser(String depositUser) {
this.depositUser = depositUser;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
/**
* get the value from Map.
*
......@@ -417,6 +432,7 @@ public class HPBG002 extends DaoEPBase {
setWhCode(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_WH_CODE)), whCode));
setWhName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_WH_NAME)), whName));
setDepositUser(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_DEPOSIT_USER)), depositUser));
setStatus(NumberUtils.toInteger(StringUtils.toString(map.get(FIELD_STATUS)), status));
}
/**
......@@ -441,6 +457,7 @@ public class HPBG002 extends DaoEPBase {
map.put(FIELD_WH_CODE, StringUtils.toString(whCode, eiMetadata.getMeta(FIELD_WH_CODE)));
map.put(FIELD_WH_NAME, StringUtils.toString(whName, eiMetadata.getMeta(FIELD_WH_NAME)));
map.put(FIELD_DEPOSIT_USER, StringUtils.toString(depositUser, eiMetadata.getMeta(FIELD_DEPOSIT_USER)));
map.put(FIELD_STATUS, StringUtils.toString(status, eiMetadata.getMeta(FIELD_STATUS)));
return map;
}
......
......@@ -37,6 +37,7 @@ public class HPBG003 extends DaoEPBase {
public static final String FIELD_WH_CODE = "whCode"; /* 仓库编码*/
public static final String FIELD_WH_NAME = "whName"; /* 仓库名称*/
public static final String FIELD_RECEIVE_USER = "receiveUser"; /* 领用人员*/
public static final String FIELD_STATUS = "status"; /* 审批状态0.未审核1.已审核*/
public static final String COL_ID = "ID";
public static final String COL_COMPANY_CODE = "COMPANY_CODE"; /* 企业编码*/
......@@ -77,6 +78,7 @@ public class HPBG003 extends DaoEPBase {
private String whCode = " "; /* 仓库编码*/
private String whName = " "; /* 仓库名称*/
private String receiveUser = " "; /* 领用人员*/
private Integer status = 2; /* 审批状态0.未审核1.已审核*/
/**
* initialize the metadata.
......@@ -145,7 +147,9 @@ public class HPBG003 extends DaoEPBase {
eiColumn.setDescName("领用人员");
eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_STATUS);
eiColumn.setDescName("审批状态0.未审核1.已审核");
eiMetadata.addMeta(eiColumn);
}
/**
......@@ -395,6 +399,15 @@ public class HPBG003 extends DaoEPBase {
public void setReceiveUser(String receiveUser) {
this.receiveUser = receiveUser;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
/**
* get the value from Map.
*
......@@ -418,6 +431,7 @@ public class HPBG003 extends DaoEPBase {
setWhCode(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_WH_CODE)), whCode));
setWhName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_WH_NAME)), whName));
setReceiveUser(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_RECEIVE_USER)), receiveUser));
setStatus(NumberUtils.toInteger(StringUtils.toString(map.get("status")), status));
}
/**
......@@ -442,6 +456,7 @@ public class HPBG003 extends DaoEPBase {
map.put(FIELD_WH_CODE, StringUtils.toString(whCode, eiMetadata.getMeta(FIELD_WH_CODE)));
map.put(FIELD_WH_NAME, StringUtils.toString(whName, eiMetadata.getMeta(FIELD_WH_NAME)));
map.put(FIELD_RECEIVE_USER, StringUtils.toString(receiveUser, eiMetadata.getMeta(FIELD_RECEIVE_USER)));
map.put("status", StringUtils.toString(status, eiMetadata.getMeta("status")));
return map;
}
......
......@@ -14,6 +14,7 @@ import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.service.impl.ServiceEPBase;
import com.baosight.iplat4j.ed.util.SequenceGenerator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
......@@ -56,6 +57,7 @@ public class ServiceHPBG001 extends ServiceEPBase {
try {
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
// 写入数据
List<HPBG001> hpbg001List = new ArrayList<>();
for (Map resultRow : resultRows) {
HPBG001 hpbg001 = new HPBG001();
hpbg001.fromMap(resultRow);
......@@ -64,7 +66,9 @@ public class ServiceHPBG001 extends ServiceEPBase {
} else {
this.modify(hpbg001);
}
hpbg001List.add(hpbg001);
}
inInfo.getBlock(EiConstant.resultBlock).setRows(hpbg001List);
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!");
} catch (Exception e) {
......
......@@ -5,8 +5,10 @@ import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.ReviewStatusEnum;
import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.bg.domain.HPBG001;
import com.baosight.hpjx.hp.bg.domain.HPBG002;
import com.baosight.hpjx.hp.bg.domain.HPBG002A;
import com.baosight.hpjx.hp.bg.domain.HPBG003A;
import com.baosight.hpjx.hp.bg.tools.HPBGTools;
import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.util.*;
......@@ -16,9 +18,8 @@ import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.service.impl.ServiceEPBase;
import com.baosight.iplat4j.ed.util.SequenceGenerator;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -56,15 +57,8 @@ public class ServiceHPBG002 extends ServiceEPBase {
List<Long> ids = ObjectUtils.listEpKey(resultRows, HPBG002.FIELD_ID);
List<HPBG002A> hpbg002AList = HPBGTools.HpBg002a.getByParentId(ids);
for (HPBG002 hpbg002: resultRows) {
hpbg002.setDeleteFlag(CommonConstant.YesNo.YES_1);
if (hpbg002.getId() == null || hpbg002.getId() == 0) {
continue;
}
List<HPBG002A> hpbg002As = hpbg002AList.stream().filter(hpbg002a1 -> hpbg002a1.getParentId().equals(hpbg002.getId())
&& hpbg002a1.getStatus().equals(ReviewStatusEnum.SUBMITTED.getCode())).collect(Collectors.toList());
AssertUtils.isTrue(hpbg002As.size()>0, "数据已提交,无法删除!");
DaoUtils.update(HPBG002.DELETE, hpbg002);
hpbg002As = hpbg002AList.stream().filter(hpbg002a1 -> hpbg002a1.getParentId().equals(hpbg002.getId())).collect(Collectors.toList());
List<HPBG002A> hpbg002As = hpbg002AList.stream().filter(hpbg002a1 -> hpbg002a1.getParentId().equals(hpbg002.getId())).collect(Collectors.toList());
hpbg002As.forEach(hpbg002a -> DaoUtils.update(HPBG002A.DELETE, hpbg002a));
}
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
......@@ -88,6 +82,7 @@ public class ServiceHPBG002 extends ServiceEPBase {
}
List<Map> detailRows = inInfo.getBlock(CommonConstant.Field.DETAIL).getRows();
List<HPBG002A> hpbg002aList = new ArrayList<>();
// 写入数据
for (Map detailRow : detailRows) {
HPBG002A hpbg002a = new HPBG002A();
......@@ -98,7 +93,10 @@ public class ServiceHPBG002 extends ServiceEPBase {
} else {
DaoUtils.update(HPBG002A.UPDATE, hpbg002a);
}
hpbg002aList.add(hpbg002a);
}
inInfo.getBlock(EiConstant.resultBlock).setRows(Collections.singletonList(hpbg002));
inInfo.getBlock(CommonConstant.Field.DETAIL).setRows(hpbg002aList);
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + detailRows.size() + "]条数据保存成功!");
} catch (Exception e) {
......@@ -121,4 +119,38 @@ public class ServiceHPBG002 extends ServiceEPBase {
public void modify(HPBG002 hpbg002) {
DaoUtils.update(HPBG002.UPDATE, hpbg002);
}
@OperationLogAnnotation(operModul = "办公用品入库",operType = "提交",operDesc = "提交操作")
public EiInfo submit(EiInfo inInfo) {
try {
List<HPBG002> resultRows = MapUtils.toDaoEPBases(inInfo,HPBG002.class);
List<Long> ids = ObjectUtils.listEpKey(resultRows, HPBG002.FIELD_ID);
List<HPBG002A> hpbg002As = HPBGTools.HpBg002a.getByParentId(ids);
List<String> itemCodes = ObjectUtils.listEpKey(hpbg002As, HPBG002A.FIELD_ITEM_CODE);
List<HPBG001> hpbg001s = HPBGTools.HpBg001.getByItemCode(itemCodes);
// 写入数据
for (HPBG002 hpbg002 : resultRows) {
AssertUtils.isTrue(hpbg002.getStatus().equals(ReviewStatusEnum.SUBMITTED.getCode()), "数据已提交,无法重复提交!");
List<HPBG002A> hpbg002aList = hpbg002As.stream().filter(hpbg002A -> hpbg002A.getParentId().equals(hpbg002.getId())).collect(Collectors.toList());
AssertUtils.isEmpty(hpbg002aList, "请先添加办公用品入库明细");
hpbg002aList.forEach(hpbg002A -> {
Map<String,HPBG001> hpbg001Map = hpbg001s.stream().filter(item -> item.getItemCode().equals(hpbg002A.getItemCode())).collect(Collectors.toMap(HPBG001::getItemCode, item -> item));
if (!hpbg001Map.isEmpty()){
HPBG001 hpbg001 = hpbg001Map.get(hpbg002A.getItemCode());
BigDecimal invQty = hpbg001.getInvQty().add(hpbg002A.getInvQty());
hpbg001.setInvQty(invQty.compareTo(BigDecimal.ZERO) < 0?BigDecimal.ZERO:invQty);
DaoUtils.update(HPBG001.UPDATE, hpbg001);
}
});
hpbg002.setStatus(ReviewStatusEnum.SUBMITTED.getCode());
DaoUtils.update(HPBG002.UPDATE_BY_STATUS, hpbg002);
}
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!");
} catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "保存失败");
}
return inInfo;
}
}
......@@ -6,6 +6,7 @@ import com.baosight.hpjx.common.ReviewStatusEnum;
import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.bg.domain.HPBG001;
import com.baosight.hpjx.hp.bg.domain.HPBG002;
import com.baosight.hpjx.hp.bg.domain.HPBG002A;
import com.baosight.hpjx.hp.bg.domain.HPBG004;
import com.baosight.hpjx.hp.bg.tools.HPBGTools;
......@@ -19,6 +20,7 @@ import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
......@@ -53,19 +55,18 @@ public class ServiceHPBG002A extends ServiceEPBase {
@Override
public EiInfo delete(EiInfo inInfo) {
try {
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
for (Map resultRow: resultRows) {
HPBG002A hpbg002a = new HPBG002A();
hpbg002a.fromMap(resultRow);
hpbg002a.setDeleteFlag(CommonConstant.YesNo.YES_1);
if (hpbg002a.getId() == null || hpbg002a.getId() == 0) {
continue;
}
AssertUtils.isTrue(hpbg002a.getStatus().equals(ReviewStatusEnum.SUBMITTED.getCode()), "数据已提交,无法删除!");
DaoUtils.update(HPBG002A.DELETE, hpbg002a);
List<HPBG002A> resultRows = MapUtils.toDaoEPBases(inInfo,HPBG002A.class);
List<String> ids = ObjectUtils.listEpKey(resultRows, HPBG002A.FIELD_PARENT_ID);
if (Objects.nonNull(ids)) {
HPBG002 hgbg002 = HPBGTools.HpBg002.get(resultRows.get(0).getParentId());
AssertUtils.isTrue(hgbg002.getStatus().equals(ReviewStatusEnum.SUBMITTED.getCode()), "数据已提交,无法删除!");
}
for (HPBG002A hpbg002A: resultRows) {
DaoUtils.update(HPBG002A.DELETE, hpbg002A);
}
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!");
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!");
}catch (Exception e){
LogUtils.setDetailMsg(inInfo, e, "删除失败");
}
......
......@@ -43,7 +43,7 @@ public class ServiceHPBG002C extends ServiceEPBase {
), null, false);
Long id = Long.parseLong(params.get(HPBG002.FIELD_ID));
HPBG002 hpbg002 = HPBGTools.HpBg002.get(id);
List<HPBG002A> hpbg002As = HPBGTools.HpBg002a.getByParentId(id,ReviewStatusEnum.UNSUBMITTED.getCode());
List<HPBG002A> hpbg002As = HPBGTools.HpBg002a.getByParentId(id);
EiBlock resultBlock =new EiBlock(EiConstant.resultBlock);
resultBlock.setBlockMeta(new HPBG002().eiMetadata);
resultBlock.setRows(Collections.singletonList(hpbg002));
......@@ -61,7 +61,8 @@ public class ServiceHPBG002C extends ServiceEPBase {
@Override
public EiInfo query(EiInfo inInfo) {
inInfo.setCell(EiConstant.queryBlock, ACConstants.ROW_CODE_0, HPBG002A.FIELD_DELETE_FLAG, CommonConstant.YesNo.NO_0);
inInfo.setCell(EiConstant.queryBlock, ACConstants.ROW_CODE_0, HPBG002A.FIELD_STATUS, ReviewStatusEnum.UNSUBMITTED.getCode());
inInfo.setCell(EiConstant.queryBlock, ACConstants.ROW_CODE_0, HPBG002A.FIELD_PARENT_ID,
inInfo.getCellStr(EiConstant.resultBlock, ACConstants.ROW_CODE_0, HPBG002A.FIELD_ID));
return super.query(inInfo, HPBG002A.QUERY,new HPBG002A(),false,new EiBlockMeta(),EiConstant.queryBlock,CommonConstant.Field.DETAIL,CommonConstant.Field.DETAIL);
}
......@@ -73,11 +74,6 @@ public class ServiceHPBG002C extends ServiceEPBase {
for (Map resultRow: resultRows) {
HPBG002A hpbg002a = new HPBG002A();
hpbg002a.fromMap(resultRow);
hpbg002a.setDeleteFlag(CommonConstant.YesNo.YES_1);
if (hpbg002a.getId() == null || hpbg002a.getId() == 0) {
continue;
}
AssertUtils.isTrue(hpbg002a.getStatus().equals(ReviewStatusEnum.SUBMITTED.getCode()), "数据已提交,无法删除!");
DaoUtils.update(HPBG002A.DELETE, hpbg002a);
}
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
......
......@@ -5,10 +5,7 @@ import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.ReviewStatusEnum;
import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.bg.domain.HPBG002;
import com.baosight.hpjx.hp.bg.domain.HPBG002A;
import com.baosight.hpjx.hp.bg.domain.HPBG003;
import com.baosight.hpjx.hp.bg.domain.HPBG003A;
import com.baosight.hpjx.hp.bg.domain.*;
import com.baosight.hpjx.hp.bg.tools.HPBGTools;
import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.util.*;
......@@ -18,9 +15,8 @@ import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.service.impl.ServiceEPBase;
import com.baosight.iplat4j.ed.util.SequenceGenerator;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -90,6 +86,7 @@ public class ServiceHPBG003 extends ServiceEPBase {
}
List<Map> detailRows = inInfo.getBlock(CommonConstant.Field.DETAIL).getRows();
List<HPBG003A> hpbg003AList = new ArrayList<>();
// 写入数据
for (Map detailRow : detailRows) {
HPBG003A hpbg003a = new HPBG003A();
......@@ -100,7 +97,10 @@ public class ServiceHPBG003 extends ServiceEPBase {
} else {
DaoUtils.update(HPBG003A.UPDATE, hpbg003a);
}
hpbg003AList.add(hpbg003a);
}
inInfo.getBlock(EiConstant.resultBlock).setRows(Collections.singletonList(hpbg003));
inInfo.getBlock(CommonConstant.Field.DETAIL).setRows(hpbg003AList);
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + detailRows.size() + "]条数据保存成功!");
} catch (Exception e) {
......@@ -123,4 +123,38 @@ public class ServiceHPBG003 extends ServiceEPBase {
public void modify(HPBG003 hpbg003) {
DaoUtils.update(HPBG003.UPDATE, hpbg003);
}
@OperationLogAnnotation(operModul = "办公用品入库",operType = "提交",operDesc = "提交操作")
public EiInfo submit(EiInfo inInfo) {
try {
List<HPBG003> resultRows = MapUtils.toDaoEPBases(inInfo,HPBG003.class);
List<Long> ids = ObjectUtils.listEpKey(resultRows, HPBG003.FIELD_ID);
List<HPBG003A> hpbg003As = HPBGTools.HpBg003a.getByParentId(ids);
List<String> itemCodes = ObjectUtils.listEpKey(hpbg003As, HPBG003A.FIELD_ITEM_CODE);
List<HPBG001> hpbg001s = HPBGTools.HpBg001.getByItemCode(itemCodes);
// 写入数据
for (HPBG003 hpbg003 : resultRows) {
AssertUtils.isTrue(hpbg003.getStatus().equals(ReviewStatusEnum.SUBMITTED.getCode()), "数据已提交,无法重复提交!");
List<HPBG003A> hpbg003aList = hpbg003As.stream().filter(hpbg002A -> hpbg002A.getParentId().equals(hpbg003.getId())).collect(Collectors.toList());
AssertUtils.isEmpty(hpbg003aList, "请先添加办公用品入库明细");
hpbg003aList.forEach(hpbg003A -> {
Map<String,HPBG001> hpbg001Map = hpbg001s.stream().filter(item -> item.getItemCode().equals(hpbg003A.getItemCode())).collect(Collectors.toMap(HPBG001::getItemCode, item -> item));
if (!hpbg001Map.isEmpty()){
HPBG001 hpbg001 = hpbg001Map.get(hpbg003A.getItemCode());
BigDecimal invQty = hpbg001.getInvQty().subtract(hpbg003A.getReceiveQty());
hpbg001.setInvQty(invQty.compareTo(BigDecimal.ZERO) < 0?BigDecimal.ZERO:invQty);
DaoUtils.update(HPBG001.UPDATE, hpbg001);
}
});
hpbg003.setStatus(ReviewStatusEnum.SUBMITTED.getCode());
DaoUtils.update(HPBG003.UPDATE_BY_STATUS, hpbg003);
}
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!");
} catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "保存失败");
}
return inInfo;
}
}
......@@ -17,6 +17,7 @@ import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
......@@ -50,16 +51,14 @@ public class ServiceHPBG003A extends ServiceEPBase {
@Override
public EiInfo delete(EiInfo inInfo) {
try {
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
for (Map resultRow: resultRows) {
HPBG003A hpbg003a = new HPBG003A();
hpbg003a.fromMap(resultRow);
hpbg003a.setDeleteFlag(CommonConstant.YesNo.YES_1);
if (hpbg003a.getId() == null || hpbg003a.getId() == 0) {
continue;
}
AssertUtils.isTrue(hpbg003a.getStatus().equals(ReviewStatusEnum.SUBMITTED.getCode()), "数据已提交,无法删除!");
DaoUtils.update(HPBG003A.DELETE, hpbg003a);
List<HPBG003A> resultRows = MapUtils.toDaoEPBases(inInfo,HPBG003A.class);
List<Long> ids = ObjectUtils.listEpKey(resultRows, HPBG003A.FIELD_PARENT_ID);
if (Objects.nonNull(ids)) {
HPBG003 hgbg003 = HPBGTools.HpBg003.get(resultRows.get(0).getParentId());
AssertUtils.isTrue(hgbg003.getStatus().equals(ReviewStatusEnum.SUBMITTED.getCode()), "数据已提交,无法删除!");
}
for (HPBG003A hpbg003A: resultRows) {
DaoUtils.update(HPBG003A.DELETE, hpbg003A);
}
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!");
......
......@@ -5,6 +5,7 @@ import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.ReviewStatusEnum;
import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.bg.domain.HPBG002A;
import com.baosight.hpjx.hp.bg.domain.HPBG003;
import com.baosight.hpjx.hp.bg.domain.HPBG003A;
import com.baosight.hpjx.hp.bg.tools.HPBGTools;
......@@ -42,7 +43,7 @@ public class ServiceHPBG003C extends ServiceEPBase {
), null, false);
Long id = Long.parseLong(params.get(HPBG003.FIELD_ID));
HPBG003 hpbg003 = HPBGTools.HpBg003.get(id);
List<HPBG003A> hpbg003As = HPBGTools.HpBg003a.getByParentId(id, ReviewStatusEnum.UNSUBMITTED.getCode());
List<HPBG003A> hpbg003As = HPBGTools.HpBg003a.getByParentId(id);
EiBlock resultBlock =new EiBlock(EiConstant.resultBlock);
resultBlock.setBlockMeta(new HPBG003().eiMetadata);
resultBlock.setRows(Collections.singletonList(hpbg003));
......@@ -60,7 +61,8 @@ public class ServiceHPBG003C extends ServiceEPBase {
@Override
public EiInfo query(EiInfo inInfo) {
inInfo.setCell(EiConstant.queryBlock, ACConstants.ROW_CODE_0, HPBG003A.FIELD_DELETE_FLAG, CommonConstant.YesNo.NO_0);
inInfo.setCell(EiConstant.queryBlock, ACConstants.ROW_CODE_0, HPBG003A.FIELD_STATUS, ReviewStatusEnum.UNSUBMITTED.getCode());
inInfo.setCell(EiConstant.queryBlock, ACConstants.ROW_CODE_0, HPBG002A.FIELD_PARENT_ID,
inInfo.getCellStr(EiConstant.resultBlock, ACConstants.ROW_CODE_0, HPBG002A.FIELD_ID));
return super.query(inInfo, HPBG003A.QUERY,new HPBG003A(),false,new EiBlockMeta(),EiConstant.queryBlock,CommonConstant.Field.DETAIL,CommonConstant.Field.DETAIL);
}
......@@ -72,11 +74,6 @@ public class ServiceHPBG003C extends ServiceEPBase {
for (Map resultRow: resultRows) {
HPBG003A hpbg003a = new HPBG003A();
hpbg003a.fromMap(resultRow);
hpbg003a.setDeleteFlag(CommonConstant.YesNo.YES_1);
if (hpbg003a.getId() == null || hpbg003a.getId() == 0) {
continue;
}
AssertUtils.isTrue(hpbg003a.getStatus().equals(ReviewStatusEnum.SUBMITTED.getCode()), "数据已提交,无法删除!");
DaoUtils.update(HPBG003A.DELETE, hpbg003a);
}
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
......
......@@ -16,6 +16,7 @@ import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.service.impl.ServiceEPBase;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
......@@ -60,6 +61,7 @@ public class ServiceHPBG004 extends ServiceEPBase {
try {
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
// 写入数据
List<HPBG004> hpbg004s = new ArrayList<>();
for (Map resultRow : resultRows) {
HPBG004 hpbg004 = new HPBG004();
hpbg004.fromMap(resultRow);
......@@ -68,7 +70,9 @@ public class ServiceHPBG004 extends ServiceEPBase {
} else {
this.modify(hpbg004);
}
hpbg004s.add(hpbg004);
}
inInfo.getBlock(EiConstant.resultBlock).setRows(hpbg004s);
inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!");
} catch (Exception e) {
......
......@@ -230,6 +230,9 @@
)
VALUES (#id#, #companyCode#, #depCode#, #createdBy#, #createdName#, #createdTime#, #deleteFlag#,
#whCode#, #whName#, #itemType#, #itemCode#, #itemName#, #itemModel#, #itemUnit#, #invQty#)
<selectKey resultClass="java.lang.Long" keyProperty="id" >
SELECT MAX(ID) as "id" FROM ${hpjxSchema}.T_HPBG001
</selectKey>
</insert>
<delete id="delete">
......
......@@ -54,7 +54,7 @@
DELETE_FLAG = #deleteFlag#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="depositDate">
DEPOSIT_DATE = #depositDate#
DEPOSIT_DATE = REPLACE(#depositDate#, '-', '')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="depositCode">
DEPOSIT_CODE = #depositCode#
......@@ -68,6 +68,9 @@
<isNotEmpty prepend=" AND " property="depositUser">
DEPOSIT_USER = #depositUser#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="status">
STATUS = #status#
</isNotEmpty>
</sql>
<select id="query" parameterClass="java.util.HashMap"
......@@ -87,7 +90,8 @@
DEPOSIT_CODE as "depositCode", <!-- 入库单号 -->
WH_CODE as "whCode", <!-- 仓库编码 -->
WH_NAME as "whName", <!-- 仓库名称 -->
DEPOSIT_USER as "depositUser" <!-- 入库人员 -->
DEPOSIT_USER as "depositUser", <!-- 入库人员 -->
STATUS as "status"
FROM ${hpjxSchema}.T_HPBG002 WHERE 1=1
<include refid="condition" />
<dynamic prepend="ORDER BY">
......@@ -166,10 +170,11 @@
DEPOSIT_CODE, <!-- 入库单号 -->
WH_CODE, <!-- 仓库编码 -->
WH_NAME, <!-- 仓库名称 -->
DEPOSIT_USER <!-- 入库人员 -->
DEPOSIT_USER, <!-- 入库人员 -->
STATUS
)
VALUES (#id#, #companyCode#, #depCode#, #createdBy#, #createdName#, #createdTime#, #deleteFlag#,
#depositDate#, #depositCode#, #whCode#, #whName#, #depositUser#)
#depositDate#, #depositCode#, #whCode#, #whName#, #depositUser#,#status#)
<selectKey resultClass="java.lang.Long" keyProperty="id" >
SELECT MAX(ID) as "id" FROM ${hpjxSchema}.T_HPBG002
</selectKey>
......@@ -202,7 +207,19 @@
DEPOSIT_CODE = #depositCode#, <!-- 入库单号 -->
WH_CODE = #whCode#, <!-- 仓库编码 -->
WH_NAME = #whName#, <!-- 仓库名称 -->
DEPOSIT_USER = #depositUser# <!-- 入库人员 -->
DEPOSIT_USER = #depositUser#, <!-- 入库人员 -->
STATUS = #status#
WHERE
ID = #id#
</update>
<update id="updateBystatus">
UPDATE ${hpjxSchema}.T_HPBG002
SET
UPDATED_BY = #updatedBy#, <!-- 更新人 -->
UPDATED_NAME = #updatedName#, <!-- 更新人名称 -->
UPDATED_TIME = #updatedTime#, <!-- 更新时间 -->
STATUS = #status# <!-- 审批状态0.未审核1.已审核 -->
WHERE
ID = #id#
</update>
......
......@@ -200,6 +200,9 @@
)
VALUES (#id#, #companyCode#, #depCode#, #createdBy#, #createdName#, #createdTime#, #deleteFlag#,
#itemType#, #itemCode#, #itemName#, #itemModel#, #itemUnit#, #invQty#, #status#, #parentId#)
<selectKey resultClass="java.lang.Long" keyProperty="id" >
SELECT MAX(ID) as "id" FROM ${hpjxSchema}.T_HPBG002A
</selectKey>
</insert>
<delete id="delete">
......
......@@ -54,7 +54,7 @@
DELETE_FLAG = #deleteFlag#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="receiveDate">
RECEIVE_DATE = #receiveDate#
RECEIVE_DATE = REPLACE(#receiveDate#, '-', '')
</isNotEmpty>
<isNotEmpty prepend=" AND " property="receiveCode">
RECEIVE_CODE = #receiveCode#
......@@ -68,6 +68,9 @@
<isNotEmpty prepend=" AND " property="receiveUser">
RECEIVE_USER = #receiveUser#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="status">
STATUS = #status#
</isNotEmpty>
</sql>
<select id="query" parameterClass="java.util.HashMap"
......@@ -87,7 +90,8 @@
RECEIVE_CODE as "receiveCode", <!-- 领用单号 -->
WH_CODE as "whCode", <!-- 仓库编码 -->
WH_NAME as "whName", <!-- 仓库名称 -->
RECEIVE_USER as "receiveUser" <!-- 领用人员 -->
RECEIVE_USER as "receiveUser", <!-- 领用人员 -->
STATUS as "status"
FROM ${hpjxSchema}.T_HPBG003 WHERE 1=1
<include refid="condition" />
<dynamic prepend="ORDER BY">
......@@ -166,10 +170,11 @@
RECEIVE_CODE, <!-- 领用单号 -->
WH_CODE, <!-- 仓库编码 -->
WH_NAME, <!-- 仓库名称 -->
RECEIVE_USER <!-- 领用人员 -->
RECEIVE_USER, <!-- 领用人员 -->
STATUS
)
VALUES (#id#, #companyCode#, #depCode#, #createdBy#, #createdName#, #createdTime#, #deleteFlag#,
#receiveDate#, #receiveCode#, #whCode#, #whName#, #receiveUser#)
#receiveDate#, #receiveCode#, #whCode#, #whName#, #receiveUser#, #status#)
<selectKey resultClass="java.lang.Long" keyProperty="id">
SELECT MAX(ID) as "id" FROM ${hpjxSchema}.T_HPBG003
</selectKey>
......@@ -202,7 +207,19 @@
RECEIVE_CODE = #receiveCode#, <!-- 领用单号 -->
WH_CODE = #whCode#, <!-- 仓库编码 -->
WH_NAME = #whName#, <!-- 仓库名称 -->
RECEIVE_USER = #receiveUser# <!-- 领用人员 -->
RECEIVE_USER = #receiveUser#, <!-- 领用人员 -->
STATUS = #status#
WHERE
ID = #id#
</update>
<update id="updateBystatus">
UPDATE ${hpjxSchema}.T_HPBG003
SET
UPDATED_BY = #updatedBy#, <!-- 更新人 -->
UPDATED_NAME = #updatedName#, <!-- 更新人名称 -->
UPDATED_TIME = #updatedTime#, <!-- 更新时间 -->
STATUS = #status# <!-- 审批状态0.未审核1.已审核 -->
WHERE
ID = #id#
</update>
......
......@@ -201,6 +201,9 @@
VALUES (#id#, #companyCode#, #depCode#, #createdBy#, #createdName#, #createdTime#, #deleteFlag#,
#itemType#, #itemCode#, #itemName#, #itemModel#, #itemUnit#, #receiveQty#,
#status#, #parentId#)
<selectKey resultClass="java.lang.Long" keyProperty="id" >
SELECT MAX(ID) as "id" FROM ${hpjxSchema}.T_HPBG003A
</selectKey>
</insert>
<delete id="delete">
......
......@@ -252,6 +252,9 @@
VALUES (#id#, #companyCode#, #depCode#, #createdBy#, #createdName#, #createdTime#, #deleteFlag#,
#takeStockDate#, #whCode#, #whName#, #itemType#, #itemCode#, #itemName#,
#itemModel#, #itemUnit#, #paperQty#, #actualQty#, #proLossQty#, #stoLoca#, #takeStockUser#, #status#)
<selectKey resultClass="java.lang.Long" keyProperty="id" >
SELECT MAX(ID) as "id" FROM ${hpjxSchema}.T_HPBG004
</selectKey>
</insert>
<delete id="delete">
......
......@@ -31,18 +31,17 @@ public class HPBGTools {
public static class HpBg002 {
public static HPBG002 get(Long id){
AssertUtils.isTrue(Objects.isNull(id)||id<=0, "委外入库单ID不能为空!");
AssertUtils.isTrue(Objects.isNull(id)|| id<=0, "委外入库单ID不能为空!");
HPBG002 hpbg002 = (HPBG002) DaoBase.getInstance().get(HPBG002.QUERY,HPBG002.FIELD_ID, id);
return hpbg002;
}
}
public static class HpBg002a {
public static List<HPBG002A> getByParentId(Long parentId,Integer status){
public static List<HPBG002A> getByParentId(Long parentId){
AssertUtils.isTrue(Objects.isNull(parentId)||parentId<=0, "委外入库单ID不能为空!");
Map params = new HashMap();
params.put("parentId", parentId);
params.put("status", status);
params.put("deleteFlag", 0);
List<HPBG002A> list = DaoBase.getInstance().query(HPBG002A.QUERY,params);
return CollectionUtils.isEmpty(list)?new ArrayList<>():list;
......@@ -67,11 +66,10 @@ public class HPBGTools {
}
public static class HpBg003a {
public static List<HPBG003A> getByParentId(Long parentId, Integer status){
public static List<HPBG003A> getByParentId(Long parentId){
AssertUtils.isTrue(Objects.isNull(parentId)||parentId<=0, "委外入库单ID不能为空!");
Map params = new HashMap();
params.put("parentId", parentId);
params.put("status", status);
params.put("deleteFlag", 0);
List<HPBG003A> list = DaoBase.getInstance().query(HPBG003A.QUERY,params);
return CollectionUtils.isEmpty(list)?new ArrayList<>():list;
......
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);
}
}
}
}
......@@ -144,7 +144,7 @@ public class HPYX003 extends DaoEPBase {
eiColumn = new EiColumn(FIELD_QUANTITY);
eiColumn.setType("N");
eiColumn.setScaleLength(0);
eiColumn.setScaleLength(4);
eiColumn.setFieldLength(20);
eiColumn.setDescName("产品数量");
eiMetadata.addMeta(eiColumn);
......
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"/>
......
......@@ -32,6 +32,7 @@ $(function() {
});
$("#BTN_INSERT").on("click",addFunc);
$("#BTN_UPDATE").on("click",updateFunc);
$("#SUBMIT").on("click", submitFunc)
},
onDelete: function (e) {
......@@ -114,7 +115,7 @@ function updateFunc() {
return;
}
if (rows[0].status == "3") {
message("已经提交的数据不能进行修改!");
message("数据已提交,不能进行修改!");
return;
}
JSColorbox.open({
......@@ -178,6 +179,14 @@ function deleteFunc(){
return;
}
let flag = true;
$.each(rows, function(index, item) {
let status= item.get("status");
if(isBlank(status) || status == 3){
message("选中的第"+(index+1)+"行\"已审批\",不能重复审批!");
flag = false;
return false;
}
});
if (flag){
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"保存\"操作? ", {
ok: function () {
......@@ -197,6 +206,35 @@ function deleteFunc(){
}
}
function submitFunc() {
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据");
return;
}
let flag = true;
$.each(rows, function(index, item) {
let status= item.get("status");
if(isBlank(status) || status == 3){
message("选中的第"+(index+1)+"行\"已审批\",不能重复审批!");
flag = false;
return false;
}
});
if(flag) {
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"提交\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HPBG002", "submit", true,
function (ei) {
if (ei.getStatus() != -1){
query();
}
});
}
});
}
}
/**
* 文件上传
*
......
......@@ -22,7 +22,7 @@
<EF:EFPage title="办公用品入库">
<EF:EFRegion id="inqu" title="查询条件">
<div class="row">
<EF:EFDatePicker blockId="inqu_status" row="0" ename="sellDate" cname="入库日期" role="date"
<EF:EFDatePicker blockId="inqu_status" row="0" ename="depositDate" cname="入库日期" role="date"
format="yyyy-MM-dd" parseFormats="['yyyyMMdd']" colWidth="3"/>
<EF:EFSelect blockId="inqu_status" row="0" ename="clientName" cname="仓库名称" colWidth="3" filter="contains">
<EF:EFOption label="全部" value=""/>
......@@ -57,6 +57,9 @@
align="center" filter="contains" sort="true">
<EF:EFOptions blockId="user_block_id" textField="textField" valueField="valueField"/>
</EF:EFComboColumn>
<EF:EFComboColumn ename="status" cname="审批状态" width="80" align="center" readonly="false" required="true" defaultValue="2">
<EF:EFCodeOption codeName="hpjx.hpcw.reviewStatus" condition="ITEM_CODE IN ('2','3')"/>
</EF:EFComboColumn>
<EF:EFColumn cname="创建人" ename="createdName" align="center" width="120" readonly="true" required="false"
enable="false"/>
<EF:EFColumn cname="创建时间" ename="createdTime" parseFormats="['yyyyMMddHHmmss']" editType="datetime"
......
......@@ -15,7 +15,6 @@ $(function() {
$("#QUERY").on("click", function () {
grid.dataSource.page(1);
});
$("#SUBMIT").on("click", submitFunc)
},
}
};
......@@ -41,31 +40,3 @@ let query = function () {
resultGrid.dataSource.page(1);
}
function submitFunc() {
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据");
return;
}
let flag = true;
$.each(rows, function(index, item) {
let status= item.get("status");
if(isBlank(status) || status == 3){
message("选中的第"+(index+1)+"行\"已审批\",不能重复审批!");
flag = false;
return false;
}
});
if(flag) {
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"提交\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HPBG002A", "submit", true,
function (ei) {
if (ei.getStatus() != -1){
query();
}
});
}
});
}
}
\ No newline at end of file
......@@ -46,9 +46,6 @@
displayType="0" sort="true" align="right" maxLength="15" required="true" defaultValue="0"
data-regex="/^-?[0-9]{1,15}?$/"
data-errorprompt="请输入数字,该值最大可设置15位整数!"/>
<EF:EFComboColumn ename="status" cname="审批状态" width="80" align="center" readonly="false" required="true" defaultValue="2">
<EF:EFCodeOption codeName="hpjx.hpcw.reviewStatus" condition="ITEM_CODE IN ('2','3')"/>
</EF:EFComboColumn>
</EF:EFGrid>
</EF:EFRegion>
</EF:EFPage>
......
......@@ -58,7 +58,7 @@ $(function() {
}
});
},
onAdd: function (e) {
beforeAdd: function (e) {
let whCode = $("#result-0-whCode").val();
if (isBlank(whCode)) {
message("请选择仓库名称!");
......
......@@ -56,9 +56,6 @@
displayType="0" sort="true" align="right" maxLength="15" required="true" defaultValue="0"
data-regex="/^-?[0-9]{1,15}?$/"
data-errorprompt="请输入数字,该值最大可设置15位整数!"/>
<EF:EFComboColumn ename="status" cname="审批状态" width="80" align="center" readonly="false" required="true" defaultValue="2" hidden="true">
<EF:EFCodeOption codeName="hpjx.hpcw.reviewStatus" condition="ITEM_CODE IN ('2','3')"/>
</EF:EFComboColumn>
</EF:EFGrid>
</EF:EFRegion>
<div class="row" style="display:flex;justify-content:center;">
......
......@@ -58,7 +58,7 @@ $(function() {
}
});
},
onAdd: function (e) {
beforeAdd: function (e) {
let whCode = $("#result-0-whCode").val();
if (isBlank(whCode)) {
message("请选择仓库名称!");
......
......@@ -59,9 +59,6 @@
displayType="0" sort="true" align="right" maxLength="15" required="true" defaultValue="0"
data-regex="/^-?[0-9]{1,15}?$/"
data-errorprompt="请输入数字,该值最大可设置15位整数!"/>
<EF:EFComboColumn ename="status" cname="审批状态" width="80" align="center" readonly="false" required="true" defaultValue="2">
<EF:EFCodeOption codeName="hpjx.hpcw.reviewStatus" condition="ITEM_CODE IN ('2','3')"/>
</EF:EFComboColumn>
</EF:EFGrid>
</EF:EFRegion>
<div class="row" style="display:flex;justify-content:center;">
......
......@@ -32,13 +32,18 @@ $(function() {
});
$("#BTN_INSERT").on("click",addFunc);
$("#BTN_UPDATE").on("click",updateFunc);
$("#SUBMIT").on("click", submitFunc)
},
onAdd: function (e) {
$.each(e.items, function (index, item) {
item['sellDate'] = currShortDate()
});
},
onDelete: function (e) {
// 阻止默认请求,使用自定义删除
e.preventDefault();
deleteFunc();
},
onSave: function (e) {
// 阻止默认请求,使用自定义保存
e.preventDefault();
......@@ -109,7 +114,7 @@ function updateFunc() {
return;
}
if (rows[0].status == "3") {
message("已经提交的数据不能进行修改!");
message("数据已提交,不能进行修改!");
return;
}
JSColorbox.open({
......@@ -121,40 +126,26 @@ function updateFunc() {
});
}
function btnSaveFunc(btnNode) {
function deleteFunc(){
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据")
return;
}
let flag = true;
rows.forEach(function (item,index){
if (isBlank(item.sellDate)){
message("选中的第"+(index+1)+"行\"推广日期\",不能为空!");
flag = false;
return false;
}
if (isBlank(item.sourceFunds)){
message("选中的第"+(index+1)+"行\"推广名称\",不能为空!");
flag = false;
return false;
}
if (isBlank(item.goalAmount) || !isNumber(item.goalAmount)){
message("选中的第"+(index+1)+"行\"目标销售额\",不能为空!");
$.each(rows, function(index, item) {
let status= item.get("status");
if(isBlank(status) || status == 3){
message("选中的第"+(index+1)+"行\"已审批\",不能重复审批!");
flag = false;
return false;
}
if (isBlank(item.budget) || !isNumber(item.budget)){
message("选中的第"+(index+1)+"行\"推广预算\",不能为空!");
flag = false;
return false;
}
})
});
if (flag){
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"保存\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HPYX010", "save",
true, function (e) {
JSUtils.submitGridsData("result", "HPBG003", "delete", true,
function (e) {
var status = e.getStatus();
if (status !== -1) {
NotificationUtil(e.msg);
......@@ -168,31 +159,32 @@ function btnSaveFunc(btnNode) {
}
});
}
}
function deleteFunc(){
function submitFunc() {
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据")
message("请选择数据");
return;
}
let flag = true;
if (flag){
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"保存\"操作? ", {
$.each(rows, function(index, item) {
let status= item.get("status");
if(isBlank(status) || status == 3){
message("选中的第"+(index+1)+"行\"已审批\",不能重复审批!");
flag = false;
return false;
}
});
if(flag) {
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"提交\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HPBG003", "delete", true,
function (e) {
var status = e.getStatus();
if (status !== -1) {
NotificationUtil(e.msg);
JSUtils.submitGridsData("result", "HPBG003", "submit", true,
function (ei) {
if (ei.getStatus() != -1){
query();
}else {
NotificationUtil(e.msg, "error");
}
btnNode.attr("disabled", false);
}
);
});
}
});
}
......
......@@ -57,6 +57,9 @@
align="center" filter="contains" sort="true">
<EF:EFOptions blockId="user_block_id" textField="textField" valueField="valueField"/>
</EF:EFComboColumn>
<EF:EFComboColumn ename="status" cname="审批状态" width="80" align="center" readonly="false" required="true" defaultValue="2">
<EF:EFCodeOption codeName="hpjx.hpcw.reviewStatus" condition="ITEM_CODE IN ('2','3')"/>
</EF:EFComboColumn>
<EF:EFColumn cname="创建人" ename="createdName" align="center" width="120" readonly="true" required="false"
enable="false"/>
<EF:EFColumn cname="创建时间" ename="createdTime" parseFormats="['yyyyMMddHHmmss']" editType="datetime"
......
......@@ -15,7 +15,6 @@ $(function() {
$("#QUERY").on("click", function () {
grid.dataSource.page(1);
});
$("#SUBMIT").on("click", submitFunc)
},
}
};
......@@ -41,31 +40,3 @@ let query = function () {
resultGrid.dataSource.page(1);
}
function submitFunc() {
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据");
return;
}
let flag = true;
$.each(rows, function(index, item) {
let status= item.get("status");
if(isBlank(status) || status == 3){
message("选中的第"+(index+1)+"行\"已审批\",不能重复审批!");
flag = false;
return false;
}
});
if(flag) {
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"提交\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HPBG003A", "submit", true,
function (ei) {
if (ei.getStatus() != -1){
query();
}
});
}
});
}
}
\ No newline at end of file
......@@ -46,9 +46,6 @@
displayType="0" sort="true" align="right" maxLength="15" required="true" defaultValue="0"
data-regex="/^-?[0-9]{1,15}?$/"
data-errorprompt="请输入数字,该值最大可设置15位整数!"/>
<EF:EFComboColumn ename="status" cname="审批状态" width="80" align="center" readonly="false" required="true" defaultValue="2">
<EF:EFCodeOption codeName="hpjx.hpcw.reviewStatus" condition="ITEM_CODE IN ('2','3')"/>
</EF:EFComboColumn>
</EF:EFGrid>
</EF:EFRegion>
</EF:EFPage>
......
......@@ -53,7 +53,7 @@ $(function() {
}
});
},
onAdd: function (e) {
beforeAdd: function (e) {
let whCode = $("#result-0-whCode").val();
if (isBlank(whCode)) {
message("请选择仓库名称!");
......
......@@ -56,9 +56,6 @@
displayType="0" sort="true" align="right" maxLength="15" required="true" defaultValue="0"
data-regex="/^-?[0-9]{1,15}?$/"
data-errorprompt="请输入数字,该值最大可设置15位整数!"/>
<EF:EFComboColumn ename="status" cname="审批状态" width="80" enable="false" align="center" readonly="false" required="true" defaultValue="2">
<EF:EFCodeOption codeName="hpjx.hpcw.reviewStatus" condition="ITEM_CODE IN ('2','3')"/>
</EF:EFComboColumn>
</EF:EFGrid>
</EF:EFRegion>
<div class="row" style="display:flex;justify-content:center;">
......
......@@ -59,7 +59,7 @@ $(function() {
}
});
},
onAdd: function (e) {
beforeAdd: function (e) {
let whCode = $("#result-0-whCode").val();
if (isBlank(whCode)) {
message("请选择仓库名称!");
......@@ -136,12 +136,6 @@ function btnSaveFunc() {
flag = false;
return false;
}
let status= item.get("status");
if(status == 3){
message("选中的第"+(index+1)+"行\"审批状态\"已提交,无法操作");
flag = false;
return false;
}
})
if(flag)
JSUtils.confirm("确定对数据做\"保存\"操作? ", {
......
......@@ -59,9 +59,6 @@
displayType="0" sort="true" align="right" maxLength="15" required="true" defaultValue="0"
data-regex="/^-?[0-9]{1,15}?$/"
data-errorprompt="请输入数字,该值最大可设置15位整数!"/>
<EF:EFComboColumn ename="status" cname="审批状态" width="80" align="center" readonly="false" required="true" defaultValue="2">
<EF:EFCodeOption codeName="hpjx.hpcw.reviewStatus" condition="ITEM_CODE IN ('2','3')"/>
</EF:EFComboColumn>
</EF:EFGrid>
</EF:EFRegion>
<div class="row" style="display:flex;justify-content:center;">
......
$(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>
......@@ -105,12 +105,12 @@
dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/>
<EF:EFColumn ename="district" cname="区域" width="120" enable="true" readonly="false" align="center" required="true"/>
<EF:EFColumn ename="productName" cname="产品名称" width="120" enable="true" readonly="false" align="center" required="false"/>
<EF:EFColumn ename="quantity" cname="产品数量" maxLength="15" displayType="0.00" format="{0:N0}"
data-regex="/^-?[0-9]{1,12}$/" align="right"
data-errorprompt="请输入数字,该值最大可设置12位整数!" sumType="all"/>
<EF:EFColumn ename="price" cname="价格" maxLength="15" displayType="0.00" format="{0:C2}"
data-regex="/^-?[0-9]{1,12}([.][0-9]{1,3})?$/" align="right"
data-errorprompt="请输入数字,该值最大可设置12位整数和3位小数!" sumType="all"/>
<EF:EFColumn ename="quantity" cname="产品数量" maxLength="16" displayType="0.0000" format="{0:N4}"
data-regex="/^-?[0-9]{1,16}([.][0-9]{1,4})?$/" align="right"
data-errorprompt="请输入数字,该值最大可设置16位整数和4位小数!" sumType="all"/>
<EF:EFColumn ename="price" cname="价格" maxLength="16" displayType="0.00" format="{0:C2}"
data-regex="/^-?[0-9]{1,16}([.][0-9]{1,2})?$/" align="right"
data-errorprompt="请输入数字,该值最大可设置16位整数和2位小数!" sumType="all"/>
<EF:EFColumn ename="quality" cname="质量" width="120" enable="true" readonly="false" align="center" required="false"/>
<EF:EFComboColumn ename="surveyUser" cname="调查人员" columnTemplate="#=textField#" itemTemplate="#=textField#"
textField="textField" valueField="valueField" defaultValue="${loginName}"
......
......@@ -279,7 +279,8 @@ function currShortDate() {
const year = date.getFullYear();
const month = date.getMonth() + 1; // 月份从0开始,需要加1
const day = date.getDate();
return year + (month < 10 ? '0' + month : month.toString()) + (day < 10 ? '0' + day : day);
return year.toString() + (month < 10 ? '0' + month : month.toString())
+ (day < 10 ? '0' + day : day.toString());
}
/**
......@@ -291,7 +292,7 @@ function currShortMonth() {
const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1; // 月份从0开始,需要加1
return year + (month < 10 ? '0' + month : month);
return year.toString() + (month < 10 ? '0' + month : month.toString());
}
/**
......
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