Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doc-transform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
doc-transform
Commits
8bc5e74d
Commit
8bc5e74d
authored
Sep 19, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
引入新的表单生成器
parent
a7d6d6b9
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1551 additions
and
1 deletion
+1551
-1
doc-transform-manager/src/main/java/com/mortals/xhx/common/code/ComponentEnum.java
.../main/java/com/mortals/xhx/common/code/ComponentEnum.java
+3
-1
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/ChildrenItem.java
.../java/com/mortals/xhx/common/formdesign/ChildrenItem.java
+18
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/ColumnsItem.java
...n/java/com/mortals/xhx/common/formdesign/ColumnsItem.java
+167
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/Config.java
...c/main/java/com/mortals/xhx/common/formdesign/Config.java
+42
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/DesignComponent.java
...va/com/mortals/xhx/common/formdesign/DesignComponent.java
+55
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/ListItem.java
...main/java/com/mortals/xhx/common/formdesign/ListItem.java
+379
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/OptionsItem.java
...n/java/com/mortals/xhx/common/formdesign/OptionsItem.java
+22
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/PickerOptions.java
...java/com/mortals/xhx/common/formdesign/PickerOptions.java
+12
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/Props.java
...rc/main/java/com/mortals/xhx/common/formdesign/Props.java
+42
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/Response.java
...main/java/com/mortals/xhx/common/formdesign/Response.java
+17
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/RulesItem.java
...ain/java/com/mortals/xhx/common/formdesign/RulesItem.java
+12
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/TableColItem.java
.../java/com/mortals/xhx/common/formdesign/TableColItem.java
+25
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignButtonComponent.java
...hx/common/formdesign/component/DesignButtonComponent.java
+55
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignCheckboxComponent.java
.../common/formdesign/component/DesignCheckboxComponent.java
+93
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignDateComponent.java
.../xhx/common/formdesign/component/DesignDateComponent.java
+64
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignDynamicTableComponent.java
...mon/formdesign/component/DesignDynamicTableComponent.java
+101
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignImageComponent.java
...xhx/common/formdesign/component/DesignImageComponent.java
+98
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignInputComponent.java
...xhx/common/formdesign/component/DesignInputComponent.java
+66
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignRadioComponent.java
...xhx/common/formdesign/component/DesignRadioComponent.java
+88
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignSelectComponent.java
...hx/common/formdesign/component/DesignSelectComponent.java
+120
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignTextAreaComponent.java
.../common/formdesign/component/DesignTextAreaComponent.java
+66
-0
doc-transform-manager/src/main/java/com/mortals/xhx/common/pdu/gen/component/ComponentCons.java
...m/mortals/xhx/common/pdu/gen/component/ComponentCons.java
+6
-0
No files found.
doc-transform-manager/src/main/java/com/mortals/xhx/common/code/ComponentEnum.java
View file @
8bc5e74d
...
...
@@ -14,9 +14,11 @@ public enum ComponentEnum {
SELECT
(
"s"
,
"下拉选择框"
),
BUTTON
(
"btn"
,
"按钮"
),
CHECKBOX
(
"ck"
,
"复选框"
),
RADIO
(
"r"
,
"单选框"
),
DATE
(
"date"
,
"日期选择栏"
),
AREA
(
"area"
,
"区域选择栏"
),
IMAGE
(
"image"
,
"图片选择"
);
IMAGE
(
"image"
,
"图片选择"
),
DYNAMIC_TABLE
(
"dt"
,
"动态表格"
),;
private
String
value
;
private
String
desc
;
...
...
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/ChildrenItem.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
java.util.List
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
ChildrenItem
{
@JSONField
(
name
=
"children"
)
private
List
<
ChildrenItem
>
children
;
@JSONField
(
name
=
"label"
)
private
String
label
;
@JSONField
(
name
=
"value"
)
private
String
value
;
}
\ No newline at end of file
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/ColumnsItem.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
java.util.List
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
ColumnsItem
{
@JSONField
(
name
=
"labelWidth"
)
private
int
labelWidth
;
@JSONField
(
name
=
"rules"
)
private
List
<
RulesItem
>
rules
;
@JSONField
(
name
=
"compName"
)
private
String
compName
;
@JSONField
(
name
=
"showLabel"
)
private
boolean
showLabel
;
@JSONField
(
name
=
"required"
)
private
boolean
required
;
@JSONField
(
name
=
"compType"
)
private
String
compType
;
@JSONField
(
name
=
"type"
)
private
String
type
;
@JSONField
(
name
=
"options"
)
private
List
<
OptionsItem
>
options
;
@JSONField
(
name
=
"action"
)
private
String
action
;
@JSONField
(
name
=
"disabled"
)
private
boolean
disabled
;
@JSONField
(
name
=
"id"
)
private
String
id
;
@JSONField
(
name
=
"placeholder"
)
private
String
placeholder
;
@JSONField
(
name
=
"compIcon"
)
private
String
compIcon
;
@JSONField
(
name
=
"value"
)
private
String
value
;
@JSONField
(
name
=
"ele"
)
private
String
ele
;
@JSONField
(
name
=
"filterable"
)
private
boolean
filterable
;
@JSONField
(
name
=
"clearable"
)
private
boolean
clearable
;
@JSONField
(
name
=
"plain"
)
private
boolean
plain
;
@JSONField
(
name
=
"round"
)
private
boolean
round
;
@JSONField
(
name
=
"circle"
)
private
boolean
circle
;
@JSONField
(
name
=
"loading"
)
private
boolean
loading
;
@JSONField
(
name
=
"icon"
)
private
String
icon
;
@JSONField
(
name
=
"range-separator"
)
private
String
rangeSeparator
;
@JSONField
(
name
=
"format"
)
private
String
format
;
@JSONField
(
name
=
"value-format"
)
private
String
valueFormat
;
@JSONField
(
name
=
"dataType"
)
private
String
dataType
;
@JSONField
(
name
=
"multiple"
)
private
boolean
multiple
;
@JSONField
(
name
=
"collapse-tags"
)
private
boolean
collapseTags
;
@JSONField
(
name
=
"label"
)
private
String
label
;
@JSONField
(
name
=
"layout"
)
private
String
layout
;
@JSONField
(
name
=
"gutter"
)
private
int
gutter
;
@JSONField
(
name
=
"ruleError"
)
private
String
ruleError
;
@JSONField
(
name
=
"viewType"
)
private
String
viewType
;
@JSONField
(
name
=
"vertical"
)
private
String
vertical
;
@JSONField
(
name
=
"text"
)
private
String
text
;
@JSONField
(
name
=
"size"
)
private
String
size
;
@JSONField
(
name
=
"optionType"
)
private
String
optionType
;
@JSONField
(
name
=
"_id"
)
private
String
_id
;
@JSONField
(
name
=
"config"
)
private
boolean
config
;
@JSONField
(
name
=
"border"
)
private
boolean
border
;
@JSONField
(
name
=
"show-word-limit"
)
private
boolean
showWordLimit
;
@JSONField
(
name
=
"maxLength"
)
private
int
maxLength
;
@JSONField
(
name
=
"rows"
)
private
int
rows
;
@JSONField
(
name
=
"span"
)
private
int
span
;
@JSONField
(
name
=
"rulesType"
)
private
String
rulesType
;
@JSONField
(
name
=
"prepend"
)
private
String
prepend
;
@JSONField
(
name
=
"prefix-icon"
)
private
String
prefixIcon
;
@JSONField
(
name
=
"readonly"
)
private
boolean
readonly
;
@JSONField
(
name
=
"suffix-icon"
)
private
String
suffixIcon
;
@JSONField
(
name
=
"width"
)
private
String
width
;
@JSONField
(
name
=
"append"
)
private
String
append
;
@JSONField
(
name
=
"status"
)
private
String
status
;
}
\ No newline at end of file
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/Config.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
Config
{
@JSONField
(
name
=
"formRef"
)
private
String
formRef
;
@JSONField
(
name
=
"gutter"
)
private
int
gutter
;
@JSONField
(
name
=
"size"
)
private
String
size
;
@JSONField
(
name
=
"formRules"
)
private
String
formRules
;
@JSONField
(
name
=
"labelPosition"
)
private
String
labelPosition
;
@JSONField
(
name
=
"dynamicTableAllowed"
)
private
boolean
dynamicTableAllowed
;
@JSONField
(
name
=
"rules"
)
private
String
rules
;
@JSONField
(
name
=
"labelWidth"
)
private
int
labelWidth
;
@JSONField
(
name
=
"disabled"
)
private
boolean
disabled
;
@JSONField
(
name
=
"formModel"
)
private
String
formModel
;
@JSONField
(
name
=
"version"
)
private
String
version
;
}
\ No newline at end of file
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/DesignComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.component.*
;
import
com.mortals.xhx.common.pdu.gen.FieldsItem
;
import
com.mortals.xhx.common.pdu.gen.component.*
;
public
abstract
class
DesignComponent
{
private
String
type
;
public
DesignComponent
(
String
type
)
{
this
.
type
=
type
;
}
public
abstract
ListItem
buildDefaultComponent
(
ComponentCons
cons
);
public
static
DesignComponent
createType
(
String
type
)
{
if
(
type
.
equals
(
ComponentEnum
.
INPUT
.
getValue
()))
{
return
new
DesignInputComponent
(
type
);
}
else
if
(
type
.
equals
(
ComponentEnum
.
TEXTAREA
.
getValue
()))
{
return
new
DesignTextAreaComponent
(
type
);
}
else
if
(
type
.
equals
(
ComponentEnum
.
SELECT
.
getValue
()))
{
return
new
DesignSelectComponent
(
type
);
}
else
if
(
type
.
equals
(
ComponentEnum
.
CHECKBOX
.
getValue
()))
{
return
new
DesignCheckboxComponent
(
type
);
}
else
if
(
type
.
equals
(
ComponentEnum
.
RADIO
.
getValue
()))
{
return
new
DesignRadioComponent
(
type
);
}
else
if
(
type
.
equals
(
ComponentEnum
.
BUTTON
.
getValue
()))
{
return
new
DesignButtonComponent
(
type
);
}
else
if
(
type
.
equals
(
ComponentEnum
.
DATE
.
getValue
()))
{
return
new
DesignDateComponent
(
type
);
}
else
if
(
type
.
equals
(
ComponentEnum
.
IMAGE
.
getValue
()))
{
return
new
DesignImageComponent
(
type
);
}
// else if (type.equals(ComponentEnum.AREA.getValue())) {
// return new AreaComponent(type);
// }
else
{
throw
new
AppException
(
String
.
format
(
"不支持当前组件类型,Type:%s"
,
type
));
}
}
public
abstract
String
getType
();
public
static
void
main
(
String
[]
args
)
{
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/ListItem.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
java.util.List
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
ListItem
{
@JSONField
(
name
=
"showIndex"
)
private
boolean
showIndex
;
@JSONField
(
name
=
"visible"
)
private
boolean
visible
;
@JSONField
(
name
=
"multiCheck"
)
private
boolean
multiCheck
;
@JSONField
(
name
=
"columns"
)
private
List
<
ColumnsItem
>
columns
;
@JSONField
(
name
=
"buttonDel"
)
private
boolean
buttonDel
;
@JSONField
(
name
=
"labelWidth"
)
private
int
labelWidth
;
@JSONField
(
name
=
"summary-text"
)
private
String
summaryText
;
@JSONField
(
name
=
"compName"
)
private
String
compName
;
@JSONField
(
name
=
"showLabel"
)
private
boolean
showLabel
;
@JSONField
(
name
=
"show-summary"
)
private
boolean
showSummary
;
@JSONField
(
name
=
"layout"
)
private
String
layout
;
@JSONField
(
name
=
"compType"
)
private
String
compType
;
@JSONField
(
name
=
"id"
)
private
String
id
;
@JSONField
(
name
=
"_id"
)
private
String
_id
;
@JSONField
(
name
=
"compIcon"
)
private
String
compIcon
;
@JSONField
(
name
=
"config"
)
private
boolean
config
;
@JSONField
(
name
=
"ele"
)
private
String
ele
;
@JSONField
(
name
=
"buttonAdd"
)
private
boolean
buttonAdd
;
@JSONField
(
name
=
"sum-text"
)
private
String
sumText
;
@JSONField
(
name
=
"format"
)
private
String
format
;
@JSONField
(
name
=
"lineColor"
)
private
String
lineColor
;
@JSONField
(
name
=
"label"
)
private
String
label
;
@JSONField
(
name
=
"displayValue"
)
private
boolean
displayValue
;
@JSONField
(
name
=
"form"
)
private
boolean
form
;
@JSONField
(
name
=
"background"
)
private
String
background
;
@JSONField
(
name
=
"viewType"
)
private
String
viewType
;
@JSONField
(
name
=
"width"
)
private
String
width
;
@JSONField
(
name
=
"fontSize"
)
private
int
fontSize
;
@JSONField
(
name
=
"value"
)
private
String
value
;
@JSONField
(
name
=
"span"
)
private
int
span
;
@JSONField
(
name
=
"height"
)
private
int
height
;
@JSONField
(
name
=
"content-position"
)
private
String
contentPosition
;
@JSONField
(
name
=
"text"
)
private
String
text
;
@JSONField
(
name
=
"icon"
)
private
String
icon
;
@JSONField
(
name
=
"type"
)
private
String
type
;
@JSONField
(
name
=
"loading"
)
private
boolean
loading
;
@JSONField
(
name
=
"size"
)
private
String
size
;
@JSONField
(
name
=
"round"
)
private
boolean
round
;
@JSONField
(
name
=
"plain"
)
private
boolean
plain
;
@JSONField
(
name
=
"disabled"
)
private
boolean
disabled
;
@JSONField
(
name
=
"circle"
)
private
boolean
circle
;
@JSONField
(
name
=
"closable"
)
private
boolean
closable
;
@JSONField
(
name
=
"center"
)
private
boolean
center
;
@JSONField
(
name
=
"description"
)
private
String
description
;
@JSONField
(
name
=
"title"
)
private
String
title
;
@JSONField
(
name
=
"show-icon"
)
private
boolean
showIcon
;
@JSONField
(
name
=
"effect"
)
private
String
effect
;
@JSONField
(
name
=
"close-text"
)
private
String
closeText
;
@JSONField
(
name
=
"color"
)
private
String
color
;
@JSONField
(
name
=
"show"
)
private
boolean
show
;
@JSONField
(
name
=
"bold"
)
private
int
bold
;
@JSONField
(
name
=
"align"
)
private
String
align
;
@JSONField
(
name
=
"underline"
)
private
boolean
underline
;
@JSONField
(
name
=
"target"
)
private
String
target
;
@JSONField
(
name
=
"href"
)
private
String
href
;
@JSONField
(
name
=
"colConf"
)
private
String
colConf
;
@JSONField
(
name
=
"required"
)
private
boolean
required
;
@JSONField
(
name
=
"multi"
)
private
boolean
multi
;
@JSONField
(
name
=
"dval"
)
private
String
dval
;
@JSONField
(
name
=
"dlabel"
)
private
String
dlabel
;
@JSONField
(
name
=
"action"
)
private
String
action
;
@JSONField
(
name
=
"gutter"
)
private
int
gutter
;
@JSONField
(
name
=
"list-type"
)
private
String
listType
;
@JSONField
(
name
=
"tips"
)
private
String
tips
;
@JSONField
(
name
=
"show-file-list"
)
private
boolean
showFileList
;
@JSONField
(
name
=
"buttonText"
)
private
String
buttonText
;
@JSONField
(
name
=
"showTip"
)
private
boolean
showTip
;
@JSONField
(
name
=
"multiple"
)
private
boolean
multiple
;
@JSONField
(
name
=
"accept"
)
private
String
accept
;
@JSONField
(
name
=
"fileSize"
)
private
int
fileSize
;
@JSONField
(
name
=
"name"
)
private
String
name
;
@JSONField
(
name
=
"dataType"
)
private
String
dataType
;
@JSONField
(
name
=
"props"
)
private
Props
props
;
@JSONField
(
name
=
"options"
)
private
List
<
OptionsItem
>
options
;
@JSONField
(
name
=
"placeholder"
)
private
String
placeholder
;
@JSONField
(
name
=
"china-area-data"
)
private
boolean
chinaAreaData
;
@JSONField
(
name
=
"color-format"
)
private
String
colorFormat
;
@JSONField
(
name
=
"show-alpha"
)
private
boolean
showAlpha
;
@JSONField
(
name
=
"predefine"
)
private
List
<
Object
>
predefine
;
@JSONField
(
name
=
"validateMaxText"
)
private
boolean
validateMaxText
;
@JSONField
(
name
=
"max"
)
private
int
max
;
@JSONField
(
name
=
"customRules"
)
private
List
<
RulesItem
>
customRules
;
@JSONField
(
name
=
"picker-options"
)
private
PickerOptions
pickerOptions
;
@JSONField
(
name
=
"rules"
)
private
List
<
RulesItem
>
rules
;
@JSONField
(
name
=
"readonly"
)
private
boolean
readonly
;
@JSONField
(
name
=
"arrow-control"
)
private
boolean
arrowControl
;
@JSONField
(
name
=
"is-range"
)
private
boolean
isRange
;
@JSONField
(
name
=
"clearable"
)
private
boolean
clearable
;
@JSONField
(
name
=
"range-separator"
)
private
String
rangeSeparator
;
@JSONField
(
name
=
"value-format"
)
private
String
valueFormat
;
@JSONField
(
name
=
"maxLength"
)
private
int
maxLength
;
@JSONField
(
name
=
"start-placeholder"
)
private
String
startPlaceholder
;
@JSONField
(
name
=
"end-placeholder"
)
private
String
endPlaceholder
;
@JSONField
(
name
=
"show-score"
)
private
boolean
showScore
;
@JSONField
(
name
=
"allow-half"
)
private
boolean
allowHalf
;
@JSONField
(
name
=
"show-stops"
)
private
boolean
showStops
;
@JSONField
(
name
=
"range"
)
private
boolean
range
;
@JSONField
(
name
=
"show-tooltip"
)
private
boolean
showTooltip
;
@JSONField
(
name
=
"min"
)
private
int
min
;
@JSONField
(
name
=
"step"
)
private
int
step
;
@JSONField
(
name
=
"maxlength"
)
private
int
maxlength
;
@JSONField
(
name
=
"rows"
)
private
int
rows
;
@JSONField
(
name
=
"ruleError"
)
private
String
ruleError
;
@JSONField
(
name
=
"show-word-limit"
)
private
boolean
showWordLimit
;
@JSONField
(
name
=
"status"
)
private
String
status
;
@JSONField
(
name
=
"step-strictly"
)
private
boolean
stepStrictly
;
@JSONField
(
name
=
"precision"
)
private
int
precision
;
@JSONField
(
name
=
"controls-position"
)
private
String
controlsPosition
;
@JSONField
(
name
=
"regList"
)
private
List
<
Object
>
regList
;
@JSONField
(
name
=
"inactive-color"
)
private
String
inactiveColor
;
@JSONField
(
name
=
"active-color"
)
private
String
activeColor
;
@JSONField
(
name
=
"active-value"
)
private
String
activeValue
;
@JSONField
(
name
=
"inactive-value"
)
private
String
inactiveValue
;
@JSONField
(
name
=
"vertical"
)
private
boolean
vertical
;
@JSONField
(
name
=
"optionType"
)
private
String
optionType
;
@JSONField
(
name
=
"border"
)
private
boolean
border
;
@JSONField
(
name
=
"filterable"
)
private
boolean
filterable
;
@JSONField
(
name
=
"collapse-tags"
)
private
boolean
collapseTags
;
@JSONField
(
name
=
"rulesType"
)
private
String
rulesType
;
@JSONField
(
name
=
"prepend"
)
private
String
prepend
;
@JSONField
(
name
=
"prefix-icon"
)
private
String
prefixIcon
;
@JSONField
(
name
=
"suffix-icon"
)
private
String
suffixIcon
;
@JSONField
(
name
=
"append"
)
private
String
append
;
}
\ No newline at end of file
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/OptionsItem.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
java.util.List
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
OptionsItem
{
@JSONField
(
name
=
"label"
)
private
String
label
;
@JSONField
(
name
=
"value"
)
private
String
value
;
@JSONField
(
name
=
"disabled"
)
private
boolean
disabled
;
@JSONField
(
name
=
"children"
)
private
List
<
ChildrenItem
>
children
;
}
\ No newline at end of file
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/PickerOptions.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
PickerOptions
{
@JSONField
(
name
=
"selectableRange"
)
private
String
selectableRange
;
}
\ No newline at end of file
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/Props.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
Props
{
@JSONField
(
name
=
"filterable"
)
private
boolean
filterable
;
@JSONField
(
name
=
"clearable"
)
private
boolean
clearable
;
@JSONField
(
name
=
"show-all-levels"
)
private
boolean
showAllLevels
;
@JSONField
(
name
=
"separator"
)
private
String
separator
;
@JSONField
(
name
=
"props"
)
private
Props
props
;
@JSONField
(
name
=
"children"
)
private
String
children
;
@JSONField
(
name
=
"multiple"
)
private
boolean
multiple
;
@JSONField
(
name
=
"checkStrictly"
)
private
boolean
checkStrictly
;
@JSONField
(
name
=
"label"
)
private
String
label
;
@JSONField
(
name
=
"expandTrigger"
)
private
String
expandTrigger
;
@JSONField
(
name
=
"value"
)
private
String
value
;
}
\ No newline at end of file
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/Response.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
java.util.List
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
Response
{
@JSONField
(
name
=
"list"
)
private
List
<
ListItem
>
list
;
@JSONField
(
name
=
"config"
)
private
Config
config
;
}
\ No newline at end of file
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/RulesItem.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
com.alibaba.fastjson.annotation.JSONField
;
public
class
RulesItem
{
@JSONField
(
name
=
"msg"
)
private
String
msg
;
@JSONField
(
name
=
"rule"
)
private
String
rule
;
}
\ No newline at end of file
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/TableColItem.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign
;
import
lombok.Data
;
/**
* 表格组件
*
* @author:
* @date: 2022/9/19 15:53
*/
@Data
public
class
TableColItem
{
/**
* 列名称
*/
private
String
name
;
private
String
label
;
/**
* 列类型
*/
private
String
colType
;
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignButtonComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign.component
;
import
cn.hutool.core.util.IdUtil
;
import
com.google.common.collect.Lists
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.ColumnsItem
;
import
com.mortals.xhx.common.formdesign.DesignComponent
;
import
com.mortals.xhx.common.formdesign.ListItem
;
import
com.mortals.xhx.common.pdu.gen.*
;
import
com.mortals.xhx.common.pdu.gen.component.ComponentCons
;
/**
* 按钮组件
*
* @author: zxfei
* @date: 2021/10/26 10:35
* @description:
**/
public
class
DesignButtonComponent
extends
DesignComponent
{
public
DesignButtonComponent
(
String
type
)
{
super
(
type
);
}
@Override
public
ListItem
buildDefaultComponent
(
ComponentCons
cons
)
{
ListItem
columnsItem
=
new
ListItem
();
//form提交id,唯一
String
id
=
"fd_"
+
IdUtil
.
fastSimpleUUID
();
columnsItem
.
setId
(
id
);
columnsItem
.
set_id
(
id
);
columnsItem
.
setCompType
(
"button"
);
columnsItem
.
setCompName
(
cons
.
getLabel
());
columnsItem
.
setCompIcon
(
"button"
);
columnsItem
.
setEle
(
"el-button"
);
columnsItem
.
setViewType
(
"component"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setType
(
"primary"
);
columnsItem
.
setText
(
"按钮"
);
columnsItem
.
setPlain
(
true
);
columnsItem
.
setRound
(
false
);
columnsItem
.
setCircle
(
false
);
columnsItem
.
setLoading
(
false
);
columnsItem
.
setLayout
(
"colItem"
);
return
columnsItem
;
}
@Override
public
String
getType
()
{
return
ComponentEnum
.
BUTTON
.
getValue
();
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignCheckboxComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign.component
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.google.common.collect.Lists
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.ColumnsItem
;
import
com.mortals.xhx.common.formdesign.DesignComponent
;
import
com.mortals.xhx.common.formdesign.ListItem
;
import
com.mortals.xhx.common.formdesign.OptionsItem
;
import
com.mortals.xhx.common.pdu.gen.component.ComponentCons
;
import
com.mortals.xhx.common.utils.ExportDocUtil
;
import
com.mortals.xhx.common.utils.StringUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 复选框组件
*
* @author: zxfei
* @date: 2021/10/26 10:35
* @description:
**/
public
class
DesignCheckboxComponent
extends
DesignComponent
{
public
DesignCheckboxComponent
(
String
type
)
{
super
(
type
);
}
@Override
public
ListItem
buildDefaultComponent
(
ComponentCons
cons
)
{
ListItem
columnsItem
=
new
ListItem
();
String
id
=
"fd_"
+
IdUtil
.
fastSimpleUUID
();
columnsItem
.
setId
(
id
);
columnsItem
.
set_id
(
id
);
columnsItem
.
setCompType
(
"checkbox"
);
columnsItem
.
setCompName
(
cons
.
getLabel
());
columnsItem
.
setCompIcon
(
"checkbox"
);
columnsItem
.
setEle
(
"el-checkbox-group"
);
columnsItem
.
setViewType
(
"component"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setPlaceholder
(
"请输入"
+
cons
.
getLabel
());
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setRequired
(
false
);
columnsItem
.
setMultiple
(
false
);
columnsItem
.
setCollapseTags
(
false
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setBorder
(
false
);
columnsItem
.
setSize
(
"medium"
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setOptionType
(
"default"
);
columnsItem
.
setDataType
(
"static"
);
columnsItem
.
setAction
(
"https://www.fastmock.site/mock/51715c0157535b99010bde55f2df33c8/formDesigner/api/options"
);
columnsItem
.
setClearable
(
false
);
columnsItem
.
setValue
(
""
);
columnsItem
.
setRules
(
Lists
.
newArrayList
());
columnsItem
.
setLayout
(
"colItem"
);
columnsItem
.
setRuleError
(
"该字段不能为空"
);
columnsItem
.
setRulesType
(
"default"
);
initDefaultCheckBoxValue
(
cons
,
columnsItem
);
return
columnsItem
;
}
private
void
initDefaultCheckBoxValue
(
ComponentCons
cons
,
ListItem
columnsItem
)
{
if
(
cons
.
getLabel
().
indexOf
(
"["
)
!=
-
1
)
{
String
cks
=
StringUtils
.
substringBetween
(
cons
.
getLabel
(),
"["
,
"]"
);
List
<
OptionsItem
>
optionsItemList
=
StrUtil
.
splitTrim
(
cks
,
"-"
,
-
1
).
stream
().
map
(
option
->
{
OptionsItem
options
=
new
OptionsItem
();
options
.
setLabel
(
option
);
options
.
setValue
(
option
);
return
options
;
}).
collect
(
Collectors
.
toList
());
columnsItem
.
setOptions
(
optionsItemList
);
cons
.
setVal
(
cons
.
getVal
().
substring
(
0
,
cons
.
getVal
().
indexOf
(
"["
)));
cons
.
setLabel
(
cons
.
getLabel
().
substring
(
0
,
cons
.
getLabel
().
indexOf
(
"["
)));
}
}
@Override
public
String
getType
()
{
return
ComponentEnum
.
CHECKBOX
.
getValue
();
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignDateComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign.component
;
import
cn.hutool.core.util.IdUtil
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.ColumnsItem
;
import
com.mortals.xhx.common.formdesign.DesignComponent
;
import
com.mortals.xhx.common.formdesign.ListItem
;
import
com.mortals.xhx.common.pdu.gen.Component
;
import
com.mortals.xhx.common.pdu.gen.Config
;
import
com.mortals.xhx.common.pdu.gen.FieldsItem
;
import
com.mortals.xhx.common.pdu.gen.Style
;
import
com.mortals.xhx.common.pdu.gen.component.ComponentCons
;
import
java.util.ArrayList
;
/**
* 时间组件
*
* @author: zxfei
* @date: 2021/10/26 10:35
* @description:
**/
public
class
DesignDateComponent
extends
DesignComponent
{
public
DesignDateComponent
(
String
type
)
{
super
(
type
);
}
@Override
public
ListItem
buildDefaultComponent
(
ComponentCons
cons
)
{
ListItem
columnsItem
=
new
ListItem
();
//form提交id,唯一
String
id
=
"fd_"
+
IdUtil
.
fastSimpleUUID
();
columnsItem
.
setId
(
id
);
columnsItem
.
set_id
(
id
);
columnsItem
.
setCompType
(
"date"
);
columnsItem
.
setEle
(
"el-date-picker"
);
columnsItem
.
setCompName
(
cons
.
getLabel
());
columnsItem
.
setCompIcon
(
"date"
);
columnsItem
.
setViewType
(
"text"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setType
(
"date"
);
columnsItem
.
setPlaceholder
(
"请选择"
+
cons
.
getLabel
());
columnsItem
.
setRequired
(
false
);
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setFormat
(
"yyyy 年 MM 月 dd 日"
);
columnsItem
.
setValueFormat
(
"yyyy 年 MM 月 dd 日"
);
columnsItem
.
setLayout
(
"colItem"
);
return
columnsItem
;
}
@Override
public
String
getType
()
{
return
ComponentEnum
.
DATE
.
getValue
();
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignDynamicTableComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign.component
;
import
cn.hutool.core.util.IdUtil
;
import
com.google.common.collect.Lists
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.ColumnsItem
;
import
com.mortals.xhx.common.formdesign.DesignComponent
;
import
com.mortals.xhx.common.formdesign.ListItem
;
import
com.mortals.xhx.common.formdesign.OptionsItem
;
import
com.mortals.xhx.common.pdu.gen.component.ComponentCons
;
import
org.springframework.util.ObjectUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 动态表格组件
*
* @author: zxfei
* @date: 2021/10/26 10:35
* @description:
**/
public
class
DesignDynamicTableComponent
extends
DesignComponent
{
public
DesignDynamicTableComponent
(
String
type
)
{
super
(
type
);
}
@Override
public
ListItem
buildDefaultComponent
(
ComponentCons
cons
)
{
ListItem
listItem
=
new
ListItem
();
String
id
=
"fd_"
+
IdUtil
.
fastSimpleUUID
();
listItem
.
setId
(
id
);
listItem
.
set_id
(
id
);
listItem
.
setCompType
(
"dynamicTable"
);
listItem
.
setEle
(
"dynamic-table"
);
listItem
.
setCompName
(
"动态表格"
);
listItem
.
setLayout
(
"dynamicItem"
);
listItem
.
setCompIcon
(
"table"
);
listItem
.
setLabelWidth
(
0
);
listItem
.
setShowLabel
(
false
);
listItem
.
setConfig
(
true
);
listItem
.
setButtonAdd
(
true
);
listItem
.
setButtonDel
(
true
);
listItem
.
setShowIndex
(
true
);
listItem
.
setVisible
(
true
);
listItem
.
setMultiCheck
(
false
);
listItem
.
setShowSummary
(
false
);
listItem
.
setSumText
(
"合计"
);
listItem
.
setSummaryText
(
"元"
);
if
(!
ObjectUtils
.
isEmpty
(
cons
.
getColList
()))
{
//动态生成列元素
List
<
ColumnsItem
>
columnsItemList
=
cons
.
getColList
().
stream
().
map
(
item
->
{
ColumnsItem
columnsItem
=
new
ColumnsItem
();
if
(
item
.
getColType
().
equals
(
ComponentEnum
.
INPUT
.
getValue
()))
{
//创建输入框出初始值
columnsItem
.
setId
(
item
.
getName
());
columnsItem
.
set_id
(
item
.
getName
());
columnsItem
.
setCompType
(
"input"
);
columnsItem
.
setCompName
(
"单行文本"
);
columnsItem
.
setCompIcon
(
"input"
);
columnsItem
.
setViewType
(
"text"
);
columnsItem
.
setEle
(
"input"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
item
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setPlaceholder
(
"请输入"
+
cons
.
getLabel
());
columnsItem
.
setRequired
(
false
);
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
24
);
columnsItem
.
setWidth
(
"100%"
);
columnsItem
.
setClearable
(
true
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setReadonly
(
false
);
columnsItem
.
setStatus
(
"normal"
);
columnsItem
.
setPrefixIcon
(
""
);
columnsItem
.
setValue
(
""
);
columnsItem
.
setRules
(
Lists
.
newArrayList
());
columnsItem
.
setRulesType
(
"default"
);
columnsItem
.
setAppend
(
""
);
columnsItem
.
setPrepend
(
""
);
columnsItem
.
setLayout
(
"colItem"
);
}
return
columnsItem
;
}).
collect
(
Collectors
.
toList
());
listItem
.
setColumns
(
columnsItemList
);
}
return
listItem
;
}
@Override
public
String
getType
()
{
return
ComponentEnum
.
DYNAMIC_TABLE
.
getValue
();
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignImageComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign.component
;
import
cn.hutool.core.util.IdUtil
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.DesignComponent
;
import
com.mortals.xhx.common.formdesign.ListItem
;
import
com.mortals.xhx.common.pdu.gen.Component
;
import
com.mortals.xhx.common.pdu.gen.Config
;
import
com.mortals.xhx.common.pdu.gen.FieldsItem
;
import
com.mortals.xhx.common.pdu.gen.Slot
;
import
com.mortals.xhx.common.pdu.gen.component.ComponentCons
;
import
java.util.ArrayList
;
/**
* 图片组件
*
* @author: zxfei
* @date: 2021/10/26 10:35
* @description:
**/
public
class
DesignImageComponent
extends
DesignComponent
{
public
DesignImageComponent
(
String
type
)
{
super
(
type
);
}
@Override
public
ListItem
buildDefaultComponent
(
ComponentCons
cons
)
{
ListItem
columnsItem
=
new
ListItem
();
//form提交id,唯一
String
id
=
"fd_"
+
IdUtil
.
fastSimpleUUID
();
columnsItem
.
setId
(
id
);
columnsItem
.
set_id
(
id
);
columnsItem
.
setCompType
(
"upload"
);
columnsItem
.
setCompName
(
cons
.
getLabel
());
columnsItem
.
setCompIcon
(
"button"
);
columnsItem
.
setEle
(
"el-upload"
);
columnsItem
.
setViewType
(
"component"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setType
(
"primary"
);
columnsItem
.
setText
(
"按钮"
);
columnsItem
.
setPlain
(
true
);
columnsItem
.
setRound
(
false
);
columnsItem
.
setCircle
(
false
);
columnsItem
.
setLoading
(
false
);
columnsItem
.
setLayout
(
"colItem"
);
return
columnsItem
;
/* //图片选择
FieldsItem fieldsItem = new FieldsItem();
Config config = new Config();
config.setLabel("日期选择");
config.setTag("el-upload");
config.setTagIcon("upload");
config.setButtonText("点击上传");
config.setFileSize(2);
config.setSizeUnit("MB");
config.setLabelWidth("");
config.setShowLabel(true);
config.setChangeTag(true);
config.setTag("el-upload");
config.setRequired(false);
config.setLayout("colFormItem");
config.setDocument("https://element.eleme.cn/#/zh-CN/component/upload");
config.setRegList(new ArrayList<>());
config.setSpan(12);
fieldsItem.setConfig(config);
Slot slot = new Slot();
slot.setListType(true);
fieldsItem.setSlot(slot);
fieldsItem.setAction("/m/file/commonupload?prePath=preview");
fieldsItem.setAccept("image/*");
fieldsItem.setName("file");
fieldsItem.setAutoUpload(true);
fieldsItem.setListType("picture-card");
fieldsItem.setMultiple(false);
fieldsItem.setClearable(true);
fieldsItem.setReadonly(false);
fieldsItem.setDisabled(false);
fieldsItem.setVModel("imageupload");
return fieldsItem;*/
}
@Override
public
String
getType
()
{
return
ComponentEnum
.
IMAGE
.
getValue
();
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignInputComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign.component
;
import
com.google.common.collect.Lists
;
import
cn.hutool.core.util.IdUtil
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.ColumnsItem
;
import
com.mortals.xhx.common.formdesign.DesignComponent
;
import
com.mortals.xhx.common.formdesign.ListItem
;
import
com.mortals.xhx.common.pdu.gen.*
;
import
com.mortals.xhx.common.pdu.gen.component.ComponentCons
;
import
java.util.ArrayList
;
/**
* 输入框组件
*
* @author: zxfei
* @date: 2021/10/26 10:35
* @description:
**/
public
class
DesignInputComponent
extends
DesignComponent
{
public
DesignInputComponent
(
String
type
)
{
super
(
type
);
}
@Override
public
ListItem
buildDefaultComponent
(
ComponentCons
cons
)
{
ListItem
columnsItem
=
new
ListItem
();
String
id
=
"fd_"
+
IdUtil
.
fastSimpleUUID
();
columnsItem
.
setId
(
id
);
columnsItem
.
set_id
(
id
);
columnsItem
.
setCompType
(
"input"
);
columnsItem
.
setCompName
(
cons
.
getLabel
());
columnsItem
.
setCompIcon
(
"input"
);
columnsItem
.
setEle
(
"input"
);
columnsItem
.
setViewType
(
"text"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setPlaceholder
(
"请输入"
+
cons
.
getLabel
());
columnsItem
.
setRequired
(
false
);
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setWidth
(
"100%"
);
columnsItem
.
setClearable
(
true
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setReadonly
(
false
);
columnsItem
.
setStatus
(
"normal"
);
columnsItem
.
setPrefixIcon
(
""
);
columnsItem
.
setValue
(
""
);
columnsItem
.
setRules
(
Lists
.
newArrayList
());
columnsItem
.
setRulesType
(
"default"
);
columnsItem
.
setAppend
(
""
);
columnsItem
.
setPrepend
(
""
);
columnsItem
.
setLayout
(
"colItem"
);
return
columnsItem
;
}
@Override
public
String
getType
()
{
return
ComponentEnum
.
INPUT
.
getValue
();
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignRadioComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign.component
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.google.common.collect.Lists
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.ColumnsItem
;
import
com.mortals.xhx.common.formdesign.DesignComponent
;
import
com.mortals.xhx.common.formdesign.ListItem
;
import
com.mortals.xhx.common.formdesign.OptionsItem
;
import
com.mortals.xhx.common.pdu.gen.component.ComponentCons
;
import
com.mortals.xhx.common.utils.StringUtils
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 复选框组件
*
* @author: zxfei
* @date: 2021/10/26 10:35
* @description:
**/
public
class
DesignRadioComponent
extends
DesignComponent
{
public
DesignRadioComponent
(
String
type
)
{
super
(
type
);
}
@Override
public
ListItem
buildDefaultComponent
(
ComponentCons
cons
)
{
ListItem
columnsItem
=
new
ListItem
();
String
id
=
"fd_"
+
IdUtil
.
fastSimpleUUID
();
columnsItem
.
setId
(
id
);
columnsItem
.
set_id
(
id
);
columnsItem
.
setCompType
(
"radio"
);
columnsItem
.
setCompName
(
cons
.
getLabel
());
columnsItem
.
setCompIcon
(
"radio"
);
columnsItem
.
setEle
(
"el-radio-group"
);
columnsItem
.
setViewType
(
"component"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setPlaceholder
(
"请输入"
+
cons
.
getLabel
());
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setRequired
(
false
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setBorder
(
false
);
columnsItem
.
setSize
(
"medium"
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setOptionType
(
"default"
);
columnsItem
.
setDataType
(
"static"
);
columnsItem
.
setAction
(
"https://www.fastmock.site/mock/51715c0157535b99010bde55f2df33c8/formDesigner/api/options"
);
columnsItem
.
setClearable
(
false
);
columnsItem
.
setValue
(
""
);
columnsItem
.
setRules
(
Lists
.
newArrayList
());
columnsItem
.
setLayout
(
"colItem"
);
columnsItem
.
setRuleError
(
"该字段不能为空"
);
columnsItem
.
setRulesType
(
"default"
);
initDefaultCheckBoxValue
(
cons
,
columnsItem
);
return
columnsItem
;
}
private
void
initDefaultCheckBoxValue
(
ComponentCons
cons
,
ListItem
columnsItem
)
{
if
(
cons
.
getLabel
().
indexOf
(
"["
)
!=
-
1
)
{
String
cks
=
StringUtils
.
substringBetween
(
cons
.
getLabel
(),
"["
,
"]"
);
List
<
OptionsItem
>
optionsItemList
=
StrUtil
.
splitTrim
(
cks
,
"-"
,
-
1
).
stream
().
map
(
option
->
{
OptionsItem
options
=
new
OptionsItem
();
options
.
setLabel
(
option
);
options
.
setValue
(
option
);
return
options
;
}).
collect
(
Collectors
.
toList
());
columnsItem
.
setOptions
(
optionsItemList
);
cons
.
setVal
(
cons
.
getVal
().
substring
(
0
,
cons
.
getVal
().
indexOf
(
"["
)));
cons
.
setLabel
(
cons
.
getLabel
().
substring
(
0
,
cons
.
getLabel
().
indexOf
(
"["
)));
}
}
@Override
public
String
getType
()
{
return
ComponentEnum
.
RADIO
.
getValue
();
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignSelectComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign.component
;
import
cn.hutool.core.util.IdUtil
;
import
com.google.common.collect.Lists
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.ColumnsItem
;
import
com.mortals.xhx.common.formdesign.DesignComponent
;
import
com.mortals.xhx.common.formdesign.ListItem
;
import
com.mortals.xhx.common.formdesign.OptionsItem
;
import
com.mortals.xhx.common.pdu.gen.component.ComponentCons
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 下拉框组件
*
* @author: zxfei
* @date: 2021/10/26 10:35
* @description:
**/
public
class
DesignSelectComponent
extends
DesignComponent
{
public
DesignSelectComponent
(
String
type
)
{
super
(
type
);
}
@Override
public
ListItem
buildDefaultComponent
(
ComponentCons
cons
)
{
ListItem
columnsItem
=
new
ListItem
();
String
id
=
"fd_"
+
IdUtil
.
fastSimpleUUID
();
columnsItem
.
setId
(
id
);
columnsItem
.
set_id
(
id
);
columnsItem
.
setCompType
(
"select"
);
columnsItem
.
setCompName
(
cons
.
getLabel
());
columnsItem
.
setCompIcon
(
"select"
);
columnsItem
.
setEle
(
"el-select"
);
columnsItem
.
setViewType
(
"component"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setPlaceholder
(
"请输入"
+
cons
.
getLabel
());
columnsItem
.
setMaxLength
(
50
);
columnsItem
.
setRequired
(
false
);
columnsItem
.
setMultiple
(
false
);
columnsItem
.
setCollapseTags
(
false
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
12
);
columnsItem
.
setDataType
(
"static"
);
columnsItem
.
setAction
(
"https://www.fastmock.site/mock/51715c0157535b99010bde55f2df33c8/formDesigner/api/options"
);
columnsItem
.
setClearable
(
false
);
columnsItem
.
setValue
(
""
);
columnsItem
.
setRules
(
Lists
.
newArrayList
());
columnsItem
.
setLayout
(
"colItem"
);
columnsItem
.
setRuleError
(
"该字段不能为空"
);
columnsItem
.
setRulesType
(
"default"
);
initDefaultSelectValue
(
cons
,
columnsItem
);
return
columnsItem
;
}
private
void
initDefaultSelectValue
(
ComponentCons
cons
,
ListItem
columnsItem
)
{
//判断如果包含年,月,日,选项框 基础化
if
(
cons
.
getVal
().
indexOf
(
"年"
)
!=
-
1
)
{
//初始化10年
List
<
OptionsItem
>
optionsItems
=
initYears
();
columnsItem
.
setOptions
(
optionsItems
);
}
else
if
(
cons
.
getVal
().
indexOf
(
"月"
)
!=
-
1
)
{
List
<
OptionsItem
>
optionsItems
=
initMonths
();
columnsItem
.
setOptions
(
optionsItems
);
}
else
if
(
cons
.
getVal
().
indexOf
(
"日"
)
!=
-
1
)
{
List
<
OptionsItem
>
optionsItems
=
initDays
();
columnsItem
.
setOptions
(
optionsItems
);
}
if
(
cons
.
getLabel
().
indexOf
(
"["
)
!=
-
1
)
{
//todo 初始选项框
}
}
public
List
<
OptionsItem
>
initYears
()
{
List
<
OptionsItem
>
list
=
new
ArrayList
<>();
for
(
int
i
=
2020
;
i
<
2030
;
i
++)
{
OptionsItem
optionsItem
=
new
OptionsItem
();
optionsItem
.
setLabel
(
i
+
""
);
optionsItem
.
setValue
(
i
+
""
);
list
.
add
(
optionsItem
);
}
return
list
;
}
public
List
<
OptionsItem
>
initMonths
()
{
List
<
OptionsItem
>
list
=
new
ArrayList
<>();
for
(
int
i
=
1
;
i
<=
12
;
i
++)
{
OptionsItem
optionsItem
=
new
OptionsItem
();
optionsItem
.
setLabel
(
i
+
""
);
optionsItem
.
setValue
(
i
+
""
);
list
.
add
(
optionsItem
);
}
return
list
;
}
public
List
<
OptionsItem
>
initDays
()
{
List
<
OptionsItem
>
list
=
new
ArrayList
<>();
for
(
int
i
=
1
;
i
<=
31
;
i
++)
{
OptionsItem
optionsItem
=
new
OptionsItem
();
optionsItem
.
setLabel
(
i
+
""
);
optionsItem
.
setValue
(
i
+
""
);
list
.
add
(
optionsItem
);
}
return
list
;
}
@Override
public
String
getType
()
{
return
ComponentEnum
.
SELECT
.
getValue
();
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/formdesign/component/DesignTextAreaComponent.java
0 → 100644
View file @
8bc5e74d
package
com.mortals.xhx.common.formdesign.component
;
import
cn.hutool.core.util.IdUtil
;
import
com.google.common.collect.Lists
;
import
com.mortals.xhx.common.code.ComponentEnum
;
import
com.mortals.xhx.common.formdesign.ColumnsItem
;
import
com.mortals.xhx.common.formdesign.DesignComponent
;
import
com.mortals.xhx.common.formdesign.ListItem
;
import
com.mortals.xhx.common.pdu.gen.*
;
import
com.mortals.xhx.common.pdu.gen.component.ComponentCons
;
import
java.util.ArrayList
;
/**
* 文本域组件
*
* @author: zxfei
* @date: 2021/10/26 10:35
* @description:
**/
public
class
DesignTextAreaComponent
extends
DesignComponent
{
public
DesignTextAreaComponent
(
String
type
)
{
super
(
type
);
}
@Override
public
ListItem
buildDefaultComponent
(
ComponentCons
cons
)
{
ListItem
columnsItem
=
new
ListItem
();
String
id
=
"fd_"
+
IdUtil
.
fastSimpleUUID
();
columnsItem
.
setId
(
id
);
columnsItem
.
set_id
(
id
);
columnsItem
.
setCompType
(
"textarea"
);
columnsItem
.
setEle
(
"el-input"
);
columnsItem
.
setCompName
(
cons
.
getLabel
());
columnsItem
.
setCompIcon
(
"textarea"
);
columnsItem
.
setViewType
(
"text"
);
columnsItem
.
setType
(
"textarea"
);
columnsItem
.
setConfig
(
true
);
columnsItem
.
setShowLabel
(
true
);
columnsItem
.
setLabel
(
cons
.
getLabel
());
columnsItem
.
setLabelWidth
(
120
);
columnsItem
.
setPlaceholder
(
"请输入"
+
cons
.
getLabel
());
columnsItem
.
setRequired
(
false
);
columnsItem
.
setMaxLength
(
200
);
columnsItem
.
setShowWordLimit
(
true
);
columnsItem
.
setGutter
(
15
);
columnsItem
.
setSpan
(
24
);
columnsItem
.
setClearable
(
true
);
columnsItem
.
setDisabled
(
false
);
columnsItem
.
setReadonly
(
false
);
columnsItem
.
setRows
(
4
);
columnsItem
.
setStatus
(
"normal"
);
columnsItem
.
setValue
(
""
);
//设置默认值
columnsItem
.
setRules
(
Lists
.
newArrayList
());
columnsItem
.
setRuleError
(
"该字段不能为空"
);
columnsItem
.
setRulesType
(
"default"
);
columnsItem
.
setLayout
(
"colItem"
);
return
columnsItem
;
}
@Override
public
String
getType
()
{
return
ComponentEnum
.
TEXTAREA
.
getValue
();
}
}
doc-transform-manager/src/main/java/com/mortals/xhx/common/pdu/gen/component/ComponentCons.java
View file @
8bc5e74d
package
com.mortals.xhx.common.pdu.gen.component
;
import
com.mortals.xhx.common.formdesign.TableColItem
;
import
com.mortals.xhx.common.pdu.NodeEntity
;
import
lombok.Data
;
import
org.w3c.dom.Document
;
...
...
@@ -25,4 +26,9 @@ public class ComponentCons {
private
List
<
NodeEntity
>
list
;
private
Document
document
;
private
List
<
TableColItem
>
colList
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment