centaline-data-driven 1.1.55 → 1.1.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/.babelrc +12 -12
  2. package/.editorconfig +9 -9
  3. package/.gitattributes +63 -63
  4. package/.postcssrc.js +10 -10
  5. package/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache +0 -0
  6. package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/db.lock +0 -0
  7. package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/storage.ide +0 -0
  8. package/Centaline.Front_End.DataDriven.csproj +37 -37
  9. package/Centaline.Front_End.DataDriven.sln +25 -25
  10. package/Properties/launchSettings.json +26 -26
  11. package/README.md +140 -140
  12. package/build/build.js +41 -41
  13. package/build/centaline/centaline.path.js +59 -59
  14. package/build/centaline/webpack.centaline.conf.js +106 -106
  15. package/build/check-versions.js +54 -54
  16. package/build/utils.js +102 -102
  17. package/build/vue-loader.conf.js +22 -22
  18. package/build/webpack.base.conf.js +82 -82
  19. package/build/webpack.dev.conf.js +111 -111
  20. package/build/webpack.prod.conf.js +145 -145
  21. package/config/dev.env.js +12 -12
  22. package/config/index.js +73 -73
  23. package/config/prod.env.js +4 -4
  24. package/index.html +14 -14
  25. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.dgspec.json +73 -0
  26. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.props +29 -0
  27. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.targets +15 -0
  28. package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.AssemblyInfo.cs +23 -0
  29. package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.RazorAssemblyInfo.cs +20 -0
  30. package/obj/project.assets.json +11907 -0
  31. package/package.json +75 -75
  32. package/src/App.vue +10 -10
  33. package/src/Detail.vue +29 -26
  34. package/src/Edit.vue +32 -32
  35. package/src/Form.vue +45 -29
  36. package/src/SearchList.vue +41 -40
  37. package/src/SearchTree.vue +51 -51
  38. package/src/Tabs.vue +19 -19
  39. package/src/centaline/api/index.js +249 -249
  40. package/src/centaline/comfirm/index.js +11 -11
  41. package/src/centaline/comfirm/src/comfirm.vue +44 -44
  42. package/src/centaline/common/index.js +738 -738
  43. package/src/centaline/css/common.css +752 -748
  44. package/src/centaline/css/max.css +208 -208
  45. package/src/centaline/dialogList/index.js +11 -11
  46. package/src/centaline/dialogList/src/dialog.vue +210 -210
  47. package/src/centaline/dialogList/src/dialogList.vue +65 -65
  48. package/src/centaline/dialogList/src/dialogNew.vue +78 -78
  49. package/src/centaline/dialogList/src/drag.js +77 -77
  50. package/src/centaline/directives/index.js +23 -23
  51. package/src/centaline/dynamicBtn/index.js +11 -11
  52. package/src/centaline/dynamicBtn/src/dynamicBtn.vue +100 -100
  53. package/src/centaline/dynamicCb/index.js +11 -11
  54. package/src/centaline/dynamicCb/src/dynamicCb.vue +72 -72
  55. package/src/centaline/dynamicCheckbox/index.js +11 -11
  56. package/src/centaline/dynamicCheckbox/src/dynamicCheckbox.vue +128 -128
  57. package/src/centaline/dynamicComboBoxWithTextBox/index.js +11 -11
  58. package/src/centaline/dynamicComboBoxWithTextBox/src/dynamicComboBoxWithTextBox.vue +240 -240
  59. package/src/centaline/dynamicD/index.js +11 -11
  60. package/src/centaline/dynamicD/src/dynamicD.vue +92 -92
  61. package/src/centaline/dynamicDetail/index.js +10 -10
  62. package/src/centaline/dynamicDetail/src/dynamicDetail.vue +40 -40
  63. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +1280 -1280
  64. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +1346 -1293
  65. package/src/centaline/dynamicDrop/index.js +11 -11
  66. package/src/centaline/dynamicDrop/src/dynamicDrop.vue +54 -54
  67. package/src/centaline/dynamicDtd/index.js +11 -11
  68. package/src/centaline/dynamicDtd/src/dynamicDtd.vue +125 -125
  69. package/src/centaline/dynamicDtd/src/dynamicDtdOld.vue +93 -93
  70. package/src/centaline/dynamicFile/index.js +11 -11
  71. package/src/centaline/dynamicFile/src/dynamicFile.vue +289 -288
  72. package/src/centaline/dynamicForm/index.js +24 -24
  73. package/src/centaline/dynamicForm/src/dynamicForm.vue +564 -564
  74. package/src/centaline/dynamicForm/src/dynamicFormList.vue +209 -209
  75. package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +376 -376
  76. package/src/centaline/dynamicGp/index.js +11 -11
  77. package/src/centaline/dynamicGp/src/dynamicGp.vue +27 -27
  78. package/src/centaline/dynamicHyperLink/index.js +10 -10
  79. package/src/centaline/dynamicHyperLink/src/dynamicHyperLink.vue +54 -54
  80. package/src/centaline/dynamicInput/index.js +35 -35
  81. package/src/centaline/dynamicInput/src/dynamicInput.vue +35 -35
  82. package/src/centaline/dynamicInputNumber/index.js +11 -11
  83. package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +157 -157
  84. package/src/centaline/dynamicIti/index.js +11 -11
  85. package/src/centaline/dynamicIti/src/dynamicIti.vue +148 -148
  86. package/src/centaline/dynamicL/index.js +11 -11
  87. package/src/centaline/dynamicL/src/dynamicL.vue +37 -37
  88. package/src/centaline/dynamicLabel/index.js +11 -11
  89. package/src/centaline/dynamicLabel/src/dynamicLabel.vue +73 -73
  90. package/src/centaline/dynamicLs/index.js +22 -22
  91. package/src/centaline/dynamicLs/src/dynamicLs.vue +233 -233
  92. package/src/centaline/dynamicMo/index.js +13 -13
  93. package/src/centaline/dynamicMo/src/dynamicMo.vue +421 -421
  94. package/src/centaline/dynamicMt/index.js +11 -11
  95. package/src/centaline/dynamicMt/src/dynamicMt.vue +44 -44
  96. package/src/centaline/dynamicPlaceHolder/index.js +10 -10
  97. package/src/centaline/dynamicPlaceHolder/src/dynamicPlaceHolder.vue +29 -29
  98. package/src/centaline/dynamicPopupSearchList/index.js +11 -11
  99. package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchList.vue +157 -157
  100. package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchListTable.vue +239 -239
  101. package/src/centaline/dynamicRichText/index.js +11 -11
  102. package/src/centaline/dynamicRichText/src/dynamicRichText.vue +33 -33
  103. package/src/centaline/dynamicSearchList/index.js +11 -11
  104. package/src/centaline/dynamicSearchList/src/dynamicSearchCategory.vue +121 -121
  105. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +135 -135
  106. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +206 -206
  107. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +1082 -1069
  108. package/src/centaline/dynamicSearchList/src/dynamicTableStatistics.vue +30 -30
  109. package/src/centaline/dynamicSearchList/src/dynamicTableTip.vue +46 -46
  110. package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +61 -61
  111. package/src/centaline/dynamicSeg/index.js +11 -11
  112. package/src/centaline/dynamicSeg/src/dynamicSeg.vue +100 -100
  113. package/src/centaline/dynamicSensitiveEye/index.js +11 -11
  114. package/src/centaline/dynamicSensitiveEye/src/dynamicSensitiveEye.vue +74 -74
  115. package/src/centaline/dynamicSo/index.js +14 -14
  116. package/src/centaline/dynamicSo/src/dynamicSo.vue +329 -328
  117. package/src/centaline/dynamicSo/src/dynamicSo/345/211/257/346/234/254.vue +69 -69
  118. package/src/centaline/dynamicSos/index.js +14 -14
  119. package/src/centaline/dynamicSos/src/dynamicSos - /345/244/215/345/210/266.vue" +223 -223
  120. package/src/centaline/dynamicSos/src/dynamicSos.vue +261 -260
  121. package/src/centaline/dynamicSw/index.js +11 -11
  122. package/src/centaline/dynamicSw/src/dynamicSw.vue +74 -74
  123. package/src/centaline/dynamicT/index.js +11 -11
  124. package/src/centaline/dynamicT/src/dynamicT.vue +79 -79
  125. package/src/centaline/dynamicTab/index.js +11 -11
  126. package/src/centaline/dynamicTab/src/dynamicTab.vue +49 -49
  127. package/src/centaline/dynamicTabs/index.js +11 -11
  128. package/src/centaline/dynamicTabs/src/dynamicTabs.vue +69 -69
  129. package/src/centaline/dynamicTags/index.js +13 -13
  130. package/src/centaline/dynamicTags/src/dynamicTags - /345/244/215/345/210/266.vue" +391 -391
  131. package/src/centaline/dynamicTags/src/dynamicTags.vue +427 -427
  132. package/src/centaline/dynamicTimeSelect/index.js +11 -11
  133. package/src/centaline/dynamicTimeSelect/src/dynamicTimeSelect.vue +141 -141
  134. package/src/centaline/dynamicTree/index.js +11 -11
  135. package/src/centaline/dynamicTree/src/dynamicSearchTree.vue +66 -66
  136. package/src/centaline/dynamicTree/src/dynamicTree.vue +233 -233
  137. package/src/centaline/dynamicTree/src/dynamicTreeList.vue +74 -74
  138. package/src/centaline/formData/index.js +290 -290
  139. package/src/centaline/imgPreview/index.js +42 -42
  140. package/src/centaline/imgPreview/src/imgPreview.vue +26 -26
  141. package/src/centaline/index.js +51 -51
  142. package/src/centaline/loader/index.js +157 -157
  143. package/src/centaline/loader/src/ctl/Base.js +270 -261
  144. package/src/centaline/loader/src/ctl/Button.js +44 -44
  145. package/src/centaline/loader/src/ctl/Cb.js +27 -27
  146. package/src/centaline/loader/src/ctl/Checkbox.js +107 -107
  147. package/src/centaline/loader/src/ctl/ComboBoxWithTextBox.js +162 -162
  148. package/src/centaline/loader/src/ctl/D.js +31 -31
  149. package/src/centaline/loader/src/ctl/Detail.js +228 -175
  150. package/src/centaline/loader/src/ctl/Dtd.js +115 -115
  151. package/src/centaline/loader/src/ctl/DtdOld.js +129 -129
  152. package/src/centaline/loader/src/ctl/File.js +292 -292
  153. package/src/centaline/loader/src/ctl/Form.js +380 -380
  154. package/src/centaline/loader/src/ctl/FormList.js +428 -428
  155. package/src/centaline/loader/src/ctl/GM.js +20 -20
  156. package/src/centaline/loader/src/ctl/Gp.js +9 -9
  157. package/src/centaline/loader/src/ctl/Hd.js +13 -13
  158. package/src/centaline/loader/src/ctl/HyperLink.js +24 -24
  159. package/src/centaline/loader/src/ctl/InputNumber.js +51 -51
  160. package/src/centaline/loader/src/ctl/Iti.js +108 -108
  161. package/src/centaline/loader/src/ctl/L.js +18 -18
  162. package/src/centaline/loader/src/ctl/Mo.js +183 -183
  163. package/src/centaline/loader/src/ctl/Mt.js +20 -20
  164. package/src/centaline/loader/src/ctl/PlaceHolder.js +15 -15
  165. package/src/centaline/loader/src/ctl/Router.js +273 -273
  166. package/src/centaline/loader/src/ctl/SearchCategory.js +54 -54
  167. package/src/centaline/loader/src/ctl/SearchScreen.js +236 -236
  168. package/src/centaline/loader/src/ctl/SearchTable.js +787 -772
  169. package/src/centaline/loader/src/ctl/Seg.js +37 -37
  170. package/src/centaline/loader/src/ctl/SensitiveEye.js +65 -65
  171. package/src/centaline/loader/src/ctl/So.js +117 -117
  172. package/src/centaline/loader/src/ctl/Sos.js +128 -128
  173. package/src/centaline/loader/src/ctl/Sw.js +27 -27
  174. package/src/centaline/loader/src/ctl/T.js +65 -65
  175. package/src/centaline/loader/src/ctl/Tabs.js +57 -57
  176. package/src/centaline/loader/src/ctl/Tags.js +191 -191
  177. package/src/centaline/loader/src/ctl/TimeSelect.js +87 -87
  178. package/src/centaline/loader/src/ctl/Tree.js +151 -151
  179. package/src/centaline/loader/src/ctl/Ttts.js +78 -78
  180. package/src/centaline/loader/src/ctl/lib/Enum.js +580 -563
  181. package/src/centaline/loader/src/ctl/lib/LibFunction.js +364 -364
  182. package/src/centaline/loader/src/ctl.js +36 -36
  183. package/src/centaline/mixins/dynamicElement.js +151 -151
  184. package/src/centaline/mixins/dynamicSelect.js +84 -84
  185. package/src/centaline/mixins/emitter.js +33 -33
  186. package/src/centaline/progress/index.js +11 -11
  187. package/src/centaline/progress/src/progress.vue +70 -70
  188. package/src/centaline/quickInput/src/quickInput.vue +64 -64
  189. package/src/centaline/selectOption/src/selectOption.vue +61 -61
  190. package/src/centaline/selectOption/src/selectOptionVertical.vue +80 -80
  191. package/src/centaline/templateControls/index.js +17 -17
  192. package/src/centaline/templateControls/src/dynamicTableA.vue +20 -20
  193. package/src/centaline/templateControls/src/dynamicTableCurrency.vue +62 -62
  194. package/src/centaline/templateControls/src/dynamicTableImg.vue +25 -25
  195. package/src/centaline/templates/index.js +34 -34
  196. package/src/centaline/templates/src/ContractSearch.js +67 -67
  197. package/src/centaline/templates/src/test.js +44 -44
  198. package/src/centaline/validate/index.js +332 -332
  199. package/src/main.js +55 -46
  200. package/src/router/index.js +44 -44
  201. package/wwwroot/static/centaline/centaline-data-driven.js +1 -1
  202. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
@@ -1,380 +1,380 @@
1
- import base from '../../index';
2
- import LibFunction from './lib/LibFunction';
3
- import Enum from './lib/Enum';
4
- import Router from './Router';
5
- import valid from '../../../validate/index';
6
- import common from '../../../common';
7
- import formData from '../../../formData';
8
- import Vue from 'vue';
9
-
10
- const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
11
- var init = function (source) {
12
- //source.layoutOrientation = Enum.Orientation.Horizontal;
13
- let rtn = {
14
- get source() {
15
- return source;
16
- },
17
- get title() {
18
- return source.title;
19
- },
20
- set title(v) {
21
- source.title = v;
22
- },
23
- get flagShowTitle() {
24
- let v=false;
25
- if(source.flagShowTitle)v=source.flagShowTitle;
26
- return v;
27
- },
28
- isChanged: false,
29
- get isHorizontalLayout() {
30
- return source.layoutOrientation === Enum.Orientation.Horizontal
31
- },
32
- get notification() {
33
- return source.notification;
34
- },
35
- get flagAlertClose() {
36
- return source.flagAlertCloseWindowAfterSave === true;
37
- },
38
- _fieldsDic: null,//字典,方便取值
39
- get fieldsDic() {
40
- if (rtn._fieldsDic !== null) {
41
- return rtn._fieldsDic;
42
- }
43
- rtn._fieldsDic = {};
44
- if (rtn.fields) {
45
- rtn.fields.forEach((f) => {
46
- rtn._fieldsDic[f.id] = f;
47
- });
48
- }
49
- return rtn._fieldsDic;
50
- },
51
- _fields: null,//数组,方便遍历
52
- get fields() {
53
- if (rtn._fields !== null) {
54
- return rtn._fields;
55
- }
56
- rtn._fields = [];
57
- for (var key in source.fields) {
58
- let value = source.fields[key];
59
-
60
- let showLabel = true;
61
- let isList = false;
62
- if (isFormList) {
63
- showLabel = false;
64
- isList = true;
65
- }
66
- let item = LibFunction.GetControl(value, source, showLabel, isList);
67
-
68
- if (item instanceof Object) {
69
- item.form = rtn;
70
-
71
- rtn.hiddenHandle(item);//是否隐藏关联组件
72
-
73
- rtn._fields.push(item);
74
- }
75
- }
76
- rtn.allRequiredHandle();//必填关联组件
77
- return rtn._fields;
78
- },
79
- get col() {
80
- return source.colSpan || 3;
81
- },
82
- set col(v) {
83
- source.colSpan = v;
84
- },
85
- _buttons: null,
86
- get buttons() {
87
- if (rtn._buttons !== null) {
88
- return rtn._buttons;
89
- }
90
- else {
91
- rtn._buttons = [];
92
- if (source.buttons) {
93
- source.buttons.forEach((v) => {
94
- var button = Router(v);
95
- button.is = "ct-btn";
96
- rtn._buttons.push(button);
97
- });
98
- }
99
- return rtn._buttons;
100
- }
101
- },
102
- _links: null,
103
- get links() {
104
- if (rtn._links !== null) {
105
- return rtn._links;
106
- }
107
- else {
108
- rtn._links = [];
109
- if (source.links) {
110
- source.links.forEach((v) => {
111
- var button = Router(v);
112
- button.is = "ct-btn";
113
- if (button.show) {
114
- rtn._links.push(button);
115
- }
116
- });
117
- }
118
- return rtn._links;
119
- }
120
- },
121
- _actionRouters: null,
122
- get actionRouters() {
123
- if (rtn._actionRouters !== null) {
124
- return rtn._actionRouters;
125
- }
126
- else {
127
- rtn._actionRouters = [];
128
- if (source.actionRouters) {
129
- source.actionRouters.forEach((v) => {
130
- var button = Router(v);
131
- button.is = "ct-btn";
132
- rtn._actionRouters.push(button);
133
- });
134
- }
135
- return rtn._actionRouters;
136
- }
137
- },
138
- get optionApi() {
139
- return source.parameterAction;
140
- },
141
- _pageDisabled:false,
142
- get pageDisabled() {
143
- return this._pageDisabled;
144
- },
145
- set pageDisabled(v) {
146
- this._pageDisabled = v;
147
- },
148
- get saveButtonAction() {
149
- return source.saveButtonAction;
150
- },
151
- //获取新的初始化的方法
152
- _scripts: null,
153
- get scripts() {
154
- if (rtn._scripts !== null) {
155
- return rtn._scripts;
156
- }
157
- else {
158
- if (typeof source.scripts !== 'undefined') {
159
- rtn._scripts = base.common.eval(source.scripts);
160
- return rtn._scripts;
161
- }
162
- }
163
- },
164
- get formData() {
165
- return formData;
166
- },
167
- getFormObj() {
168
- var rtnFormObj = {};
169
- rtn.fields.forEach((f) => {
170
- if (typeof f.id !== 'undefined') {
171
- Object.assign(rtnFormObj, f.getFormObj());
172
- }
173
- });
174
- return rtnFormObj;
175
- },
176
- updateFields(data, callback) {
177
- var self = this;
178
- if (data.responseData.ClientAction === Enum.ClientActionType.Copy) {
179
- var tempData = data.responseData.content;
180
- for (var k in tempData) {
181
- var tempFd = self.fields.find((v) => {
182
- return v.id === k;
183
- });
184
- if (tempFd) {
185
- tempFd.value = tempData[k];
186
- }
187
- var tempFd1 = self.fields.find((v) => {
188
- return v.id1 === k;
189
- });
190
- if (tempFd1) {
191
- tempFd1.value1 = tempFd1.text = tempData[k];
192
- }
193
- }
194
- }
195
- else if (data.responseData.ClientAction === Enum.ClientActionType.ExcuteScript) {
196
- var f = new Function(data.responseData.content);
197
- self.scripts.$tempUpdate = common.initFunction(f);
198
- common.excute.call(self.scripts, '$tempUpdate();');
199
- delete self.scripts.$tempUpdate;
200
- }
201
- callback();
202
- },
203
- //获取查询数据参数
204
- get searchData() {
205
- var rtn = {
206
- fields: []
207
- };
208
- this.fields.forEach((v) => {
209
- var tempObj = v.searchObj;
210
- if (tempObj && tempObj.searchValue1 && tempObj.searchValue1 !== '') {
211
- rtn.fields.push(tempObj);
212
- }
213
- });
214
- return rtn;
215
- },
216
- hatchHandle(itemId, attrName, attrValue, item) {
217
- switch (attrName) {
218
- case 'code1':
219
- rtn.validMrf(item);//验证必填关联组件
220
- rtn.hiddenHandle(item, true);
221
- break;
222
- //case 'lk':
223
- case 'locked':
224
- if (item.self && item.self.resize) {
225
- item.self.resize();//重新计算多选框长度
226
- }
227
- break;
228
- default:
229
- break;
230
- }
231
- },
232
- //隐藏关联组件
233
- hiddenHandle(item, update) {
234
- if (item.id) {
235
- let sign = false;
236
- let field = null;
237
-
238
- for (var i in rtn.source.fields) {
239
- if (rtn.source.fields[i].hiddenRelationField === item.id) {
240
- field = rtn.source.fields[i];
241
-
242
- if (field) {
243
- let hiddenValueArr = field.hiddenRelationFieldValue.split(',');
244
- if (hiddenValueArr.indexOf(item.code1) > -1) {
245
- field.show = false;
246
- }
247
- else {
248
- field.show = true;
249
- }
250
- sign = true;
251
-
252
- if (update && rtn.self && sign) {
253
- rtn.self.$forceUpdate();
254
- }
255
- }
256
- }
257
- }
258
-
259
- }
260
- },
261
- //验证必填关联组件
262
- validMrf(item) {
263
- let field = rtn.fields[item.mrf];
264
-
265
- if (field && field.self) {
266
- if (field.type === Enum.ControlType.List) {
267
- //f.required = '0';
268
- }
269
- else {
270
- field.self.validExcute();
271
- }
272
- }
273
- },
274
- allRequiredHandle() {
275
- rtn.fields.forEach(v => {
276
- rtn.requiredHandle(v, null, false);
277
- });
278
- },
279
- //处理必填关联组件
280
- requiredHandle(item, update, doMrf) {
281
- if (item.id) {
282
- let field = null;
283
-
284
- for (var i in rtn.source.fields) {
285
- if (rtn.source.fields[i].requiredRelationField === item.id) {
286
- field = rtn.source.fields[i];
287
- let f = rtn.fieldsDic[field.fieldName1];
288
-
289
- if (field) {
290
- let hiddenValueArr = field.requiredRelationFieldValue.split(',');
291
- if (hiddenValueArr.indexOf(item.value) > -1) {
292
- field.required = true;
293
- }
294
- else {
295
- field.required = false;
296
- }
297
-
298
- if (f && f.self && f.self.$forceUpdate) {
299
- f.self.$forceUpdate();
300
- }
301
-
302
- if (update && rtn.self) {
303
- rtn.self.$forceUpdate();
304
- }
305
- }
306
- }
307
- }
308
-
309
- if (doMrf !== false) {
310
- rtn.validMrf(item);
311
- }
312
- }
313
- },
314
- //绑定联动参数组件
315
- getRefFieldPara(refFieldNameArr) {
316
- let submitData = {};
317
- var tempFormData = rtn.getFormObj();
318
- refFieldNameArr.forEach((v) => {
319
- submitData[v] = tempFormData[v];
320
- });
321
- return submitData;
322
- },
323
- getParentFieldPara(parentFieldNameArr) {
324
- let submitData = {};
325
- var tempFormData = rtn.getFormObj();
326
- parentFieldNameArr.forEach((v) => {
327
- submitData[v] = tempFormData[v];
328
- });
329
-
330
- if(JSON.stringify(submitData) == "{}"){
331
- return '';
332
- }
333
- else{
334
- if(parentFieldNameArr.length>1){
335
- return JSON.stringify(submitData);
336
- }
337
- else{
338
- return submitData[parentFieldNameArr[0]];
339
- }
340
- }
341
- },
342
- //检查是否关闭tab后触发来源页面操作
343
- checkCloseTabThen(notification) {
344
- var rtn = false;
345
- if (notification == Enum.ActionType.CloseTabThenDelete
346
- || notification == Enum.ActionType.CloseTabThenDelete
347
- || notification == Enum.ActionType.CloseTabThenDelete) {
348
- rtn = true;
349
- }
350
- return rtn;
351
- }
352
- };
353
- valid.InitForm(rtn);
354
- return rtn;
355
- };
356
- if (typeof source === 'string') {
357
- apiParam = apiParam ? apiParam : {};
358
- Vue.prototype.$api.postHandler(common.globalUri(), { "action": source, "para": apiParam }).then(
359
- function (response) {
360
- if (response.rtnCode === Enum.ReturnCode.Successful) {
361
- var data = response.content;
362
- var rtn = init(data);
363
- if (callBack) {
364
- callBack(rtn);
365
- }
366
- }
367
- else {
368
- if (failCallBack) {
369
- failCallBack();
370
- }
371
- }
372
- }
373
- );
374
- }
375
- else {
376
- var data = source;
377
- return init(data);
378
- }
379
- };
380
- export default Form;
1
+ import base from '../../index';
2
+ import LibFunction from './lib/LibFunction';
3
+ import Enum from './lib/Enum';
4
+ import Router from './Router';
5
+ import valid from '../../../validate/index';
6
+ import common from '../../../common';
7
+ import formData from '../../../formData';
8
+ import Vue from 'vue';
9
+
10
+ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
11
+ var init = function (source) {
12
+ //source.layoutOrientation = Enum.Orientation.Horizontal;
13
+ let rtn = {
14
+ get source() {
15
+ return source;
16
+ },
17
+ get title() {
18
+ return source.title;
19
+ },
20
+ set title(v) {
21
+ source.title = v;
22
+ },
23
+ get flagShowTitle() {
24
+ let v=false;
25
+ if(source.flagShowTitle)v=source.flagShowTitle;
26
+ return v;
27
+ },
28
+ isChanged: false,
29
+ get isHorizontalLayout() {
30
+ return source.layoutOrientation === Enum.Orientation.Horizontal
31
+ },
32
+ get notification() {
33
+ return source.notification;
34
+ },
35
+ get flagAlertClose() {
36
+ return source.flagAlertCloseWindowAfterSave === true;
37
+ },
38
+ _fieldsDic: null,//字典,方便取值
39
+ get fieldsDic() {
40
+ if (rtn._fieldsDic !== null) {
41
+ return rtn._fieldsDic;
42
+ }
43
+ rtn._fieldsDic = {};
44
+ if (rtn.fields) {
45
+ rtn.fields.forEach((f) => {
46
+ rtn._fieldsDic[f.id] = f;
47
+ });
48
+ }
49
+ return rtn._fieldsDic;
50
+ },
51
+ _fields: null,//数组,方便遍历
52
+ get fields() {
53
+ if (rtn._fields !== null) {
54
+ return rtn._fields;
55
+ }
56
+ rtn._fields = [];
57
+ for (var key in source.fields) {
58
+ let value = source.fields[key];
59
+
60
+ let showLabel = true;
61
+ let isList = false;
62
+ if (isFormList) {
63
+ showLabel = false;
64
+ isList = true;
65
+ }
66
+ let item = LibFunction.GetControl(value, source, showLabel, isList);
67
+
68
+ if (item instanceof Object) {
69
+ item.form = rtn;
70
+
71
+ rtn.hiddenHandle(item);//是否隐藏关联组件
72
+
73
+ rtn._fields.push(item);
74
+ }
75
+ }
76
+ rtn.allRequiredHandle();//必填关联组件
77
+ return rtn._fields;
78
+ },
79
+ get col() {
80
+ return source.colSpan || 3;
81
+ },
82
+ set col(v) {
83
+ source.colSpan = v;
84
+ },
85
+ _buttons: null,
86
+ get buttons() {
87
+ if (rtn._buttons !== null) {
88
+ return rtn._buttons;
89
+ }
90
+ else {
91
+ rtn._buttons = [];
92
+ if (source.buttons) {
93
+ source.buttons.forEach((v) => {
94
+ var button = Router(v);
95
+ button.is = "ct-btn";
96
+ rtn._buttons.push(button);
97
+ });
98
+ }
99
+ return rtn._buttons;
100
+ }
101
+ },
102
+ _links: null,
103
+ get links() {
104
+ if (rtn._links !== null) {
105
+ return rtn._links;
106
+ }
107
+ else {
108
+ rtn._links = [];
109
+ if (source.links) {
110
+ source.links.forEach((v) => {
111
+ var button = Router(v);
112
+ button.is = "ct-btn";
113
+ if (button.show) {
114
+ rtn._links.push(button);
115
+ }
116
+ });
117
+ }
118
+ return rtn._links;
119
+ }
120
+ },
121
+ _actionRouters: null,
122
+ get actionRouters() {
123
+ if (rtn._actionRouters !== null) {
124
+ return rtn._actionRouters;
125
+ }
126
+ else {
127
+ rtn._actionRouters = [];
128
+ if (source.actionRouters) {
129
+ source.actionRouters.forEach((v) => {
130
+ var button = Router(v);
131
+ button.is = "ct-btn";
132
+ rtn._actionRouters.push(button);
133
+ });
134
+ }
135
+ return rtn._actionRouters;
136
+ }
137
+ },
138
+ get optionApi() {
139
+ return source.parameterAction;
140
+ },
141
+ _pageDisabled:false,
142
+ get pageDisabled() {
143
+ return this._pageDisabled;
144
+ },
145
+ set pageDisabled(v) {
146
+ this._pageDisabled = v;
147
+ },
148
+ get saveButtonAction() {
149
+ return source.saveButtonAction;
150
+ },
151
+ //获取新的初始化的方法
152
+ _scripts: null,
153
+ get scripts() {
154
+ if (rtn._scripts !== null) {
155
+ return rtn._scripts;
156
+ }
157
+ else {
158
+ if (typeof source.scripts !== 'undefined') {
159
+ rtn._scripts = base.common.eval(source.scripts);
160
+ return rtn._scripts;
161
+ }
162
+ }
163
+ },
164
+ get formData() {
165
+ return formData;
166
+ },
167
+ getFormObj() {
168
+ var rtnFormObj = {};
169
+ rtn.fields.forEach((f) => {
170
+ if (typeof f.id !== 'undefined') {
171
+ Object.assign(rtnFormObj, f.getFormObj());
172
+ }
173
+ });
174
+ return rtnFormObj;
175
+ },
176
+ updateFields(data, callback) {
177
+ var self = this;
178
+ if (data.responseData.ClientAction === Enum.ClientActionType.Copy) {
179
+ var tempData = data.responseData.content;
180
+ for (var k in tempData) {
181
+ var tempFd = self.fields.find((v) => {
182
+ return v.id === k;
183
+ });
184
+ if (tempFd) {
185
+ tempFd.value = tempData[k];
186
+ }
187
+ var tempFd1 = self.fields.find((v) => {
188
+ return v.id1 === k;
189
+ });
190
+ if (tempFd1) {
191
+ tempFd1.value1 = tempFd1.text = tempData[k];
192
+ }
193
+ }
194
+ }
195
+ else if (data.responseData.ClientAction === Enum.ClientActionType.ExcuteScript) {
196
+ var f = new Function(data.responseData.content);
197
+ self.scripts.$tempUpdate = common.initFunction(f);
198
+ common.excute.call(self.scripts, '$tempUpdate();');
199
+ delete self.scripts.$tempUpdate;
200
+ }
201
+ callback();
202
+ },
203
+ //获取查询数据参数
204
+ get searchData() {
205
+ var rtn = {
206
+ fields: []
207
+ };
208
+ this.fields.forEach((v) => {
209
+ var tempObj = v.searchObj;
210
+ if (tempObj && tempObj.searchValue1 && tempObj.searchValue1 !== '') {
211
+ rtn.fields.push(tempObj);
212
+ }
213
+ });
214
+ return rtn;
215
+ },
216
+ hatchHandle(itemId, attrName, attrValue, item) {
217
+ switch (attrName) {
218
+ case 'code1':
219
+ rtn.validMrf(item);//验证必填关联组件
220
+ rtn.hiddenHandle(item, true);
221
+ break;
222
+ //case 'lk':
223
+ case 'locked':
224
+ if (item.self && item.self.resize) {
225
+ item.self.resize();//重新计算多选框长度
226
+ }
227
+ break;
228
+ default:
229
+ break;
230
+ }
231
+ },
232
+ //隐藏关联组件
233
+ hiddenHandle(item, update) {
234
+ if (item.id) {
235
+ let sign = false;
236
+ let field = null;
237
+
238
+ for (var i in rtn.source.fields) {
239
+ if (rtn.source.fields[i].hiddenRelationField === item.id) {
240
+ field = rtn.source.fields[i];
241
+
242
+ if (field) {
243
+ let hiddenValueArr = field.hiddenRelationFieldValue.split(',');
244
+ if (hiddenValueArr.indexOf(item.code1) > -1) {
245
+ field.show = false;
246
+ }
247
+ else {
248
+ field.show = true;
249
+ }
250
+ sign = true;
251
+
252
+ if (update && rtn.self && sign) {
253
+ rtn.self.$forceUpdate();
254
+ }
255
+ }
256
+ }
257
+ }
258
+
259
+ }
260
+ },
261
+ //验证必填关联组件
262
+ validMrf(item) {
263
+ let field = rtn.fields[item.mrf];
264
+
265
+ if (field && field.self) {
266
+ if (field.type === Enum.ControlType.List) {
267
+ //f.required = '0';
268
+ }
269
+ else {
270
+ field.self.validExcute();
271
+ }
272
+ }
273
+ },
274
+ allRequiredHandle() {
275
+ rtn.fields.forEach(v => {
276
+ rtn.requiredHandle(v, null, false);
277
+ });
278
+ },
279
+ //处理必填关联组件
280
+ requiredHandle(item, update, doMrf) {
281
+ if (item.id) {
282
+ let field = null;
283
+
284
+ for (var i in rtn.source.fields) {
285
+ if (rtn.source.fields[i].requiredRelationField === item.id) {
286
+ field = rtn.source.fields[i];
287
+ let f = rtn.fieldsDic[field.fieldName1];
288
+
289
+ if (field) {
290
+ let hiddenValueArr = field.requiredRelationFieldValue.split(',');
291
+ if (hiddenValueArr.indexOf(item.value) > -1) {
292
+ field.required = true;
293
+ }
294
+ else {
295
+ field.required = false;
296
+ }
297
+
298
+ if (f && f.self && f.self.$forceUpdate) {
299
+ f.self.$forceUpdate();
300
+ }
301
+
302
+ if (update && rtn.self) {
303
+ rtn.self.$forceUpdate();
304
+ }
305
+ }
306
+ }
307
+ }
308
+
309
+ if (doMrf !== false) {
310
+ rtn.validMrf(item);
311
+ }
312
+ }
313
+ },
314
+ //绑定联动参数组件
315
+ getRefFieldPara(refFieldNameArr) {
316
+ let submitData = {};
317
+ var tempFormData = rtn.getFormObj();
318
+ refFieldNameArr.forEach((v) => {
319
+ submitData[v] = tempFormData[v];
320
+ });
321
+ return submitData;
322
+ },
323
+ getParentFieldPara(parentFieldNameArr) {
324
+ let submitData = {};
325
+ var tempFormData = rtn.getFormObj();
326
+ parentFieldNameArr.forEach((v) => {
327
+ submitData[v] = tempFormData[v];
328
+ });
329
+
330
+ if(JSON.stringify(submitData) == "{}"){
331
+ return '';
332
+ }
333
+ else{
334
+ if(parentFieldNameArr.length>1){
335
+ return JSON.stringify(submitData);
336
+ }
337
+ else{
338
+ return submitData[parentFieldNameArr[0]];
339
+ }
340
+ }
341
+ },
342
+ //检查是否关闭tab后触发来源页面操作
343
+ checkCloseTabThen(notification) {
344
+ var rtn = false;
345
+ if (notification == Enum.ActionType.CloseTabThenDelete
346
+ || notification == Enum.ActionType.CloseTabThenDelete
347
+ || notification == Enum.ActionType.CloseTabThenDelete) {
348
+ rtn = true;
349
+ }
350
+ return rtn;
351
+ }
352
+ };
353
+ valid.InitForm(rtn);
354
+ return rtn;
355
+ };
356
+ if (typeof source === 'string') {
357
+ apiParam = apiParam ? apiParam : {};
358
+ Vue.prototype.$api.postHandler(common.globalUri(), { "action": source, "para": apiParam }).then(
359
+ function (response) {
360
+ if (response.rtnCode === Enum.ReturnCode.Successful) {
361
+ var data = response.content;
362
+ var rtn = init(data);
363
+ if (callBack) {
364
+ callBack(rtn);
365
+ }
366
+ }
367
+ else {
368
+ if (failCallBack) {
369
+ failCallBack();
370
+ }
371
+ }
372
+ }
373
+ );
374
+ }
375
+ else {
376
+ var data = source;
377
+ return init(data);
378
+ }
379
+ };
380
+ export default Form;