Skip to content

Commit 42af747

Browse files
author
weizhenzhao
committed
FormList Demo
1 parent 024d69b commit 42af747

File tree

2 files changed

+217
-0
lines changed

2 files changed

+217
-0
lines changed
Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://moqui.org/xsd/xml-screen-2.1.xsd"
3+
default-menu-title="表格演示" default-menu-index="3">
4+
5+
<transition name="editTestEntity">
6+
<default-response url="../TestEntity"/>
7+
</transition>
8+
<transition name="bulkSubmit">
9+
<actions>
10+
<iterate list="_requestBodyJsonList" entry="lineObj">
11+
<log message="提交的行数据==${lineObj}"/>
12+
</iterate>
13+
</actions>
14+
<default-response url="."/>
15+
</transition>
16+
17+
<transition name="bulkSetIndicator">
18+
<actions>
19+
<script>
20+
import com.fasterxml.jackson.databind.SerializationFeature
21+
import com.fasterxml.jackson.databind.JsonNode
22+
import org.moqui.impl.context.ContextJavaUtil
23+
24+
JsonNode jsonNode = ContextJavaUtil.jacksonMapper.readTree(TestEntityFormList)
25+
List selectedItemList = ContextJavaUtil.jacksonMapper.treeToValue(jsonNode, List.class)
26+
</script>
27+
<iterate list="selectedItemList" entry="selectedItem">
28+
<service-call name="update#moqui.test.TestEntity" in-map="[testId:selectedItem.testId,testIndicator:testIndicator]"/>
29+
</iterate>
30+
</actions>
31+
<default-response url="."/>
32+
</transition>
33+
34+
<transition name="deleteTestEntity">
35+
<service-call name="delete#moqui.test.TestEntity" in-map="[testId:testId]"/>
36+
<default-response url="."/>
37+
</transition>
38+
39+
<actions>
40+
</actions>
41+
42+
<widgets>
43+
<link url="bulkSubmit" htmlStyle="display:inline-block" btn-type="info" text="批量提交表格选中行" target-list="TestEntityFormList" confirmation="确认提交?"/>
44+
45+
<container-dialog id="SetupIndicatorDialog" button-text="批量处理标记字段">
46+
<form-single name="SetupIndicatorForm" transition="bulkSetIndicator" submit-with-list="TestEntityFormList" reload-dialog="SetupIndicatorDialog">
47+
<field name="testIndicator">
48+
<default-field title="标记">
49+
<radio no-current-selected-key="Y">
50+
<option key="Y" text=""/>
51+
<option key="N" text=""/>
52+
</radio>
53+
</default-field>
54+
</field>
55+
<field name="submitButton">
56+
<default-field title="提交">
57+
<submit/>
58+
</default-field>
59+
</field>
60+
</form-single>
61+
</container-dialog>
62+
63+
<form-list name="TestEntityFormList" list="testEntityList" use-widget="aggrid" multi="true" auto-stretch="true" select-columns="true" >
64+
<entity-find entity-name="moqui.test.TestEntity" list="testEntityList">
65+
<search-form-inputs/>
66+
</entity-find>
67+
<row-actions>
68+
<set field="testIndicatorText" value=""/>
69+
<if condition="testIndicator == 'Y'">
70+
<set field="testIndicatorText" value=""/>
71+
</if>
72+
<if condition="testIndicator == 'N'">
73+
<set field="testIndicatorText" value=""/>
74+
</if>
75+
<set field="redirectPage" value="FormListDemo"/>
76+
</row-actions>
77+
<field name="redirectPage">
78+
<default-field>
79+
<hidden/>
80+
</default-field>
81+
</field>
82+
<field name="testId" show-checkbox="true">
83+
<default-field title="ID">
84+
<display/>
85+
</default-field>
86+
</field>
87+
<field name="testMedium">
88+
<header-field>
89+
<text-find/>
90+
</header-field>
91+
<default-field title="字符">
92+
<display/>
93+
</default-field>
94+
</field>
95+
<field name="testLong">
96+
<header-field>
97+
<text-find/>
98+
</header-field>
99+
<default-field title="文本字段">
100+
<display/>
101+
</default-field>
102+
</field>
103+
<field name="testIndicator">
104+
<header-field>
105+
<drop-down allow-empty="true">
106+
<option key="Y" text=""/>
107+
<option key="N" text=""/>
108+
</drop-down>
109+
</header-field>
110+
<default-field title="标记字段">
111+
<display text="${testIndicatorText}"/>
112+
</default-field>
113+
</field>
114+
<field name="testDate">
115+
<header-field>
116+
<date-find type="date"/>
117+
</header-field>
118+
<default-field title="日期">
119+
<display/>
120+
</default-field>
121+
</field>
122+
<field name="testDateTime">
123+
<header-field>
124+
<date-find type="date-time"/>
125+
</header-field>
126+
<default-field title="日期-时间">
127+
<display/>
128+
</default-field>
129+
</field>
130+
<field name="testTime">
131+
<header-field>
132+
<date-find type="time"/>
133+
</header-field>
134+
<default-field title="日期-时间">
135+
<display/>
136+
</default-field>
137+
</field>
138+
<field name="testNumberInteger">
139+
<header-field>
140+
<range-find/>
141+
</header-field>
142+
<default-field title="整型">
143+
<display/>
144+
</default-field>
145+
</field>
146+
<field name="testNumberDecimal">
147+
<header-field>
148+
<range-find/>
149+
</header-field>
150+
<default-field title="Decimal">
151+
<display/>
152+
</default-field>
153+
</field>
154+
<field name="testNumberFloat">
155+
<header-field>
156+
<range-find/>
157+
</header-field>
158+
<default-field title="Float">
159+
<display/>
160+
</default-field>
161+
</field>
162+
<field name="testCurrencyAmount">
163+
<header-field>
164+
<range-find/>
165+
</header-field>
166+
<default-field title="金额" placeholder="金额">
167+
<display/>
168+
</default-field>
169+
</field>
170+
<field name="testCurrencyPrecise">
171+
<header-field>
172+
<range-find/>
173+
</header-field>
174+
<default-field title="确切金额" tooltip="用于财务计算">
175+
<display/>
176+
</default-field>
177+
</field>
178+
<field name="operationFields" is-action-column="true" width="280">
179+
<default-field title="操作">
180+
<link url="editTestEntity" link-parameters="{'testId':'testId','redirectPage':'redirectPage'}" text="跳转编辑" btn-type="info"/>
181+
<link url="editTestEntity" link-parameters="{'testId':'testId','redirectPage':'redirectPage'}" text="弹框编辑" btn-type="warning" target-dialog="dynamicDialog"/>
182+
<link url="editTestEntity" link-parameters="{'testId':'testId','redirectPage':'redirectPage'}" text="抽屉编辑" btn-type="success" target-dialog="dynamicDrawer"/>
183+
<link url="deleteTestEntity" link-parameters="{'testId':'testId'}" text="删除" btn-type="danger" confirmation="确认删除?"/>
184+
</default-field>
185+
</field>
186+
</form-list>
187+
<grid-dynamic-dialog id="dynamicDialog" title="编辑框"/>
188+
<grid-dynamic-dialog id="dynamicDrawer" title="编辑抽屉" show-type="drawer" placement="left"/>
189+
</widgets>
190+
</screen>

screen/tutorial/CRUDDemo/TestEntity.xml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,34 @@
33
default-menu-include="false">
44

55
<parameter name="testId"/>
6+
<parameter name="redirectPage"/>
67

78
<transition name="save">
89
<service-call name="store#moqui.test.TestEntity" in-map="context"/>
10+
<conditional-response url="../FormListDemo">
11+
<condition>
12+
<compare field="redirectPage" value="FormListDemo"/>
13+
</condition>
14+
</conditional-response>
915
<default-response url="../XmlDemo"/>
1016
</transition>
1117

18+
<transition name="goBack">
19+
<default-response url="../${redirectPage}"/>
20+
</transition>
21+
1222
<actions>
1323
<entity-find-one entity-name="moqui.test.TestEntity" value-field="testEntity">
1424
</entity-find-one>
1525
</actions>
1626
<widgets>
1727

1828
<form-single name="SaveForm1" transition="save" map="testEntity">
29+
<field name="redirectPage">
30+
<default-field>
31+
<hidden/>
32+
</default-field>
33+
</field>
1934
<field name="testId">
2035
<default-field>
2136
<hidden/>
@@ -60,6 +75,18 @@
6075
<field name="submitButton">
6176
<default-field title="Save">
6277
<submit/></default-field></field>
78+
<field name="cancelButton">
79+
<default-field title=" ">
80+
<link url="goBack" text="取消" btn-type="warning"/>
81+
</default-field>
82+
</field>
83+
<field-layout>
84+
<fields-not-referenced/>
85+
<field-row>
86+
<field-ref name="submitButton"/><field-ref name="cancelButton"/>
87+
</field-row>
88+
</field-layout>
89+
6390
</form-single>
6491

6592
</widgets>

0 commit comments

Comments
 (0)