#万能表单
包含
- 用户自主定制所需要的字段,允许定义文件类型的字段。理论上可支持任意类型的资料数据的管理
- 完成对自定义表单字段的增加,删除,修改和删除,导出等相关操作
2.项目特点**
免费的万能表单资料管理系统
用户自主定制所需要的字段,允许定义文件类型的字段
理论上可支持任意类型的资料数据的管理
完成对自定义表单字段的增加,删除,修改和删除,导出等相关操作
是中小企业的资料信息管理的最佳帮手
安装快捷方便,不联网即可在局域网内进行使用
演示效果图:
部分代码:
@QClass(name = "自定义类")
@Entity
@Table(name = "b_my_class")
public class MyClass extends BaseEntity {
@QField(name = "名称", as = {A.edit, A.show, A.query}, query = Q.like, nullable = false)
@Column(name = "name", columnDefinition = "varchar(100) COMMENT '名称'")
private String name;
@OneToMany(mappedBy = "myClass", cascade = CascadeType.ALL)
@JsonManagedReference
private List<MyProperty> properties;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<MyProperty> getProperties() {
return properties;
}
public void setProperties(List<MyProperty> properties) {
this.properties = properties;
}
}
@QClass(name = "动态实体")
@Entity
@Table(name = "b_my_object")
public class MyObject extends BaseEntity {
@ManyToOne
@JoinColumn(name = "my_class_id")
private MyClass myClass;
@OneToMany(mappedBy = "myObject", cascade = CascadeType.ALL)
@JsonManagedReference
private List<Item> items;
@Transient
private Map<String, String> propertyMap;
public MyClass getMyClass() {
return myClass;
}
public void setMyClass(MyClass myClass) {
this.myClass = myClass;
}
public List<Item> getItems() {
return items;
}
public void setItems(List<Item> items) {
this.items = items;
}
public Map<String, String> getPropertyMap() {
return propertyMap;
}
public void setPropertyMap(Map<String, String> propertyMap) {
this.propertyMap = propertyMap;
}
}
@QClass(name = "自定义属性")
@Entity
@Table(name = "b_my_property")
public class MyProperty extends BaseEntity {
@QField(name = "名称", as = {A.edit, A.show}, query =Q.like, nullable = false)
@Column(name = "name", columnDefinition = "varchar(100) COMMENT '名称'")
private String name;//名称
@QField(name = "字段", as = {A.edit, A.show}, query =Q.like)
@Column(name = "field", columnDefinition = "varchar(100) COMMENT '字段'")
private String field;//字段
@QField(name = "类型", as = {A.edit, A.show}, query =Q.like)
@Column(name = "field_type", columnDefinition = "varchar(50) COMMENT '类型'")
@Enumerated(EnumType.STRING)
private FieldType fieldType;//类型
@QField(name = "是否显示", as = {A.show}, query =Q.like)
@Column(name = "if_show")
private Boolean ifShow;//是否显示
@Column(name = "seq")
private Integer seq;
@ManyToOne
@JoinColumn(name = "my_class_id")
@JsonBackReference
private MyClass myClass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public FieldType getFieldType() {
return fieldType;
}
public void setFieldType(FieldType fieldType) {
this.fieldType = fieldType;
}
public Boolean getIfShow() {
return ifShow;
}
public void setIfShow(Boolean ifShow) {
this.ifShow = ifShow;
}
public Integer getSeq() {
return seq;
}
public void setSeq(Integer seq) {
this.seq = seq;
}
public MyClass getMyClass() {
return myClass;
}
public void setMyClass(MyClass myClass) {
this.myClass = myClass;
}
}