Browse Source

添加多选列表

master
wangchun 4 years ago
parent
commit
873ca5e433
  1. 8
      ureport2-core/src/main/java/com/bstek/ureport/definition/searchform/RangeDateUtils.java
  2. 29
      ureport2-core/src/main/java/com/bstek/ureport/definition/searchform/SelectInputComponent.java
  3. BIN
      ureport2-core/target/classes/com/bstek/ureport/definition/searchform/RangeDateUtils.class
  4. BIN
      ureport2-core/target/classes/com/bstek/ureport/definition/searchform/SelectInputComponent.class
  5. 2
      ureport2-core/target/maven-archiver/pom.properties
  6. BIN
      ureport2-core/target/ureport2-core-2.2.9-sources.jar
  7. BIN
      ureport2-core/target/ureport2-core-2.2.9.jar

8
ureport2-core/src/main/java/com/bstek/ureport/definition/searchform/RangeDateUtils.java

@ -37,6 +37,14 @@ public abstract class RangeDateUtils {
* 多选结尾标志
*/
public static final String MULTIPLE_SELECT = "Multiple";
/**
* 判断是否需要分组
*/
public static final String CHARGE_ITEM = "收费科目";
/**
* 是否抄表
*/
public static final String IS_METER_READING = "Y";
/**
* 构造样式

29
ureport2-core/src/main/java/com/bstek/ureport/definition/searchform/SelectInputComponent.java

@ -37,7 +37,7 @@ public class SelectInputComponent extends InputComponent {
String name=getBindParameter();
Object pvalue=context.getParameter(name)==null ? "" : context.getParameter(name);
StringBuilder sb=new StringBuilder();
sb.append("<select style='padding:3px' title = '请选择"+this.getLabel()+"' data-live-search='true' data-size='5' id='"+context.buildComponentId(this)+"' name='"+name+"' class='form-control selectpicker' ");
sb.append("<select style='padding:3px' title = '请选择"+this.getLabel()+"' data-live-search='true' data-size='7' id='"+context.buildComponentId(this)+"' name='"+name+"' class='form-control selectpicker' ");
if(name.endsWith(RangeDateUtils.MULTIPLE_SELECT)){
sb.append("data-selected-text-format='count > 3' data-actions-box='true' multiple");
}
@ -47,15 +47,33 @@ public class SelectInputComponent extends InputComponent {
if(ds==null){
throw new DatasetUndefinitionException(dataset);
}
//需要对收费科目做分组处理
boolean isNeedGroup = false;
StringBuilder meterReading = new StringBuilder("<optgroup label='抄表'>");
StringBuilder unMeterReading = new StringBuilder("<optgroup label='非抄表'>");
if(StringUtils.equals(RangeDateUtils.CHARGE_ITEM,this.getLabel())){
isNeedGroup = true;
}
for(Object obj:ds.getData()){
Object label=Utils.getProperty(obj, labelField);
Object value=Utils.getProperty(obj, valueField);
String selected=value.equals(pvalue) ? "selected" : "";
sb.append("<option value='"+value+"' "+selected+">"+label+"</option>");
String option = "<option value='"+value+"' "+selected+">"+label+"</option>";
if(isNeedGroup){
if (RangeDateUtils.IS_METER_READING.equals(Utils.getProperty(obj, "ifMeterReading"))) {
meterReading.append(option);
} else {
unMeterReading.append(option);
}
}else{
sb.append(option);
}
}
if(isNeedGroup){
meterReading.append("</optgroup>");
unMeterReading.append("</optgroup>");
sb.append(meterReading).append(unMeterReading);
}
/*if(pvalue.equals("")){
sb.append("<option value='' selected></option>");
}*/
}else{
for(Option option:options){
String value=option.getValue();
@ -66,6 +84,7 @@ public class SelectInputComponent extends InputComponent {
sb.append("<option value='' selected></option>");
}*/
}
sb.append("</select>");
return sb.toString();
}

BIN
ureport2-core/target/classes/com/bstek/ureport/definition/searchform/RangeDateUtils.class

Binary file not shown.

BIN
ureport2-core/target/classes/com/bstek/ureport/definition/searchform/SelectInputComponent.class

Binary file not shown.

2
ureport2-core/target/maven-archiver/pom.properties

@ -1,5 +1,5 @@
#Generated by Maven
#Wed Jul 08 10:44:50 CST 2020
#Thu Jul 09 09:38:18 CST 2020
version=2.2.9
groupId=com.bstek.ureport
artifactId=ureport2-core

BIN
ureport2-core/target/ureport2-core-2.2.9-sources.jar

Binary file not shown.

BIN
ureport2-core/target/ureport2-core-2.2.9.jar

Binary file not shown.
Loading…
Cancel
Save