ocpview-plus 1.3.14 → 1.3.16

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 (213) hide show
  1. package/README.md +55 -43
  2. package/dist/ocpviewplus.min.esm.js +574 -482
  3. package/dist/ocpviewplus.min.js +9 -9
  4. package/dist/style.css +1 -1
  5. package/dist/styles/efviewplus.css +1 -1
  6. package/package.json +146 -146
  7. package/src/components/base/ContractPrintMixins.js +30 -30
  8. package/src/components/base/controlbase.vue +190 -190
  9. package/src/components/base/controlbox.vue +102 -102
  10. package/src/components/base/index.js +2 -2
  11. package/src/components/base/load.js +19 -19
  12. package/src/components/base/probase.js +220 -220
  13. package/src/components/base/size.js +78 -78
  14. package/src/components/billbox/billbox.vue +67 -67
  15. package/src/components/billbox/index.js +1 -1
  16. package/src/components/cascaderbox/cascaderbox.vue +184 -184
  17. package/src/components/cascaderbox/index.js +2 -2
  18. package/src/components/checkbox/checkbox.vue +75 -75
  19. package/src/components/checkbox/checkgroupbox.vue +103 -103
  20. package/src/components/checkbox/index.js +2 -2
  21. package/src/components/colorbox/colorbox.vue +43 -43
  22. package/src/components/colorbox/index.js +1 -1
  23. package/src/components/combobox/combobox.vue +219 -219
  24. package/src/components/combobox/index.js +1 -1
  25. package/src/components/conditionbox/conditionbase.vue +194 -194
  26. package/src/components/conditionbox/conditionbox.vue +62 -62
  27. package/src/components/conditionbox/conditionfilterbox.vue +479 -479
  28. package/src/components/conditionbox/conditionselectorbox.vue +237 -237
  29. package/src/components/conditionbox/index.js +4 -4
  30. package/src/components/conditionbox/queryconditionbox.vue +25 -25
  31. package/src/components/conditionbox/queryconditionboxbase.vue +123 -123
  32. package/src/components/conditionbox/searchconditionbox.vue +113 -113
  33. package/src/components/conditionbox/searchgrid.vue +391 -391
  34. package/src/components/datebox/DateBoxV1.vue +22 -22
  35. package/src/components/datebox/datebox.vue +129 -129
  36. package/src/components/datebox/daterangebox.vue +154 -154
  37. package/src/components/datebox/index.js +5 -5
  38. package/src/components/form/baseform.vue +676 -676
  39. package/src/components/form/detailsbox.vue +487 -487
  40. package/src/components/form/formbox.vue +28 -28
  41. package/src/components/form/formcardbox.vue +267 -267
  42. package/src/components/form/formcardbox2.vue +228 -228
  43. package/src/components/form/formcardgroupbox.vue +251 -251
  44. package/src/components/form/formcompro.js +18 -18
  45. package/src/components/form/formdetail.vue +128 -128
  46. package/src/components/form/formdetailtwo.vue +302 -302
  47. package/src/components/form/index.js +9 -9
  48. package/src/components/form/toolanchor.js +45 -45
  49. package/src/components/form/workform.vue +167 -167
  50. package/src/components/grid/basegrid.vue +1062 -1062
  51. package/src/components/grid/editgrid.vue +51 -51
  52. package/src/components/grid/editgridbase.vue +1062 -1062
  53. package/src/components/grid/editgridcard.vue +193 -193
  54. package/src/components/grid/expandrow.vue +137 -137
  55. package/src/components/grid/index.js +5 -5
  56. package/src/components/grid/viewgrid.vue +121 -121
  57. package/src/components/grid/viewgridbase.vue +1286 -1286
  58. package/src/components/icon/common-icon.vue +53 -53
  59. package/src/components/icon/eicon.vue +28 -28
  60. package/src/components/icon/icons.vue +42 -42
  61. package/src/components/icon/index.js +1 -1
  62. package/src/components/label/index.js +2 -2
  63. package/src/components/label/showtext.vue +94 -94
  64. package/src/components/load/loadcartoon.vue +227 -227
  65. package/src/components/map/index.js +1 -1
  66. package/src/components/map/mapbox.vue +348 -348
  67. package/src/components/masterplate/RewriteBillListDetails/BillInfoPanel.vue +184 -184
  68. package/src/components/masterplate/RewriteBillListDetails/BillInfoPanelEditTable.vue +838 -838
  69. package/src/components/masterplate/RewriteBillListDetails/BillInfoPanelEditTableControlbox.vue +126 -126
  70. package/src/components/masterplate/RewriteBillListDetails/BillInfoPanelEditTableControlboxNumberbox.vue +27 -27
  71. package/src/components/masterplate/RewriteBillListDetails/BillListPanel.vue +126 -126
  72. package/src/components/masterplate/RewriteBillListDetails/BillListPanelQueryBar.vue +280 -280
  73. package/src/components/masterplate/RewriteBillListDetails/BillListPanelTable.vue +346 -346
  74. package/src/components/masterplate/RewriteBillListDetails/index.vue +325 -325
  75. package/src/components/masterplate/RewriteBillListDetails/mixins/useVxeGridEditTypeKeydownEventHook.js +251 -251
  76. package/src/components/masterplate/RewriteListdetails/BillListPanelV2.vue +115 -115
  77. package/src/components/masterplate/RewriteListdetails/BillListPanelV2QueryBar.vue +24 -24
  78. package/src/components/masterplate/RewriteListdetails/BillListPanelV3.vue +121 -121
  79. package/src/components/masterplate/RewriteListdetails/BillListPanelV3QueryBar.vue +275 -275
  80. package/src/components/masterplate/RewriteListdetails/indexV2.vue +320 -320
  81. package/src/components/masterplate/RewriteListdetails/indexV3.vue +331 -331
  82. package/src/components/masterplate/appendix.vue +586 -586
  83. package/src/components/masterplate/approval.vue +863 -863
  84. package/src/components/masterplate/base.vue +1028 -1028
  85. package/src/components/masterplate/billasyncimport.vue +614 -614
  86. package/src/components/masterplate/billconditionbox.vue +223 -223
  87. package/src/components/masterplate/billconditionsbox.vue +427 -427
  88. package/src/components/masterplate/billdetailform.vue +1028 -1028
  89. package/src/components/masterplate/billimport.vue +301 -301
  90. package/src/components/masterplate/billquerygrid.vue +391 -391
  91. package/src/components/masterplate/billsinglegrid.vue +234 -234
  92. package/src/components/masterplate/birtreport.vue +185 -185
  93. package/src/components/masterplate/contractappendix.vue +688 -688
  94. package/src/components/masterplate/detailbtntoolbar.vue +311 -311
  95. package/src/components/masterplate/detailsbox.vue +386 -386
  96. package/src/components/masterplate/editgridcard.vue +292 -292
  97. package/src/components/masterplate/editgridcard2.vue +127 -127
  98. package/src/components/masterplate/formcard.vue +105 -105
  99. package/src/components/masterplate/formcardgroupbox.vue +167 -167
  100. package/src/components/masterplate/formdetailtwo.vue +366 -366
  101. package/src/components/masterplate/gridcolset.vue +226 -226
  102. package/src/components/masterplate/index.js +54 -54
  103. package/src/components/masterplate/layouttemplate.vue +51 -51
  104. package/src/components/masterplate/leftlistrightdetails.vue +581 -581
  105. package/src/components/masterplate/leftlistrightlist.vue +464 -464
  106. package/src/components/masterplate/lefttreerightdetails.vue +636 -636
  107. package/src/components/masterplate/levelreport.vue +510 -510
  108. package/src/components/masterplate/listbtntoolbar.vue +276 -276
  109. package/src/components/masterplate/listdetails.vue +768 -768
  110. package/src/components/masterplate/operlog.vue +272 -272
  111. package/src/components/masterplate/options.vue +110 -110
  112. package/src/components/masterplate/page.vue +102 -102
  113. package/src/components/masterplate/promptmessage.vue +73 -73
  114. package/src/components/masterplate/querybar.vue +490 -490
  115. package/src/components/masterplate/report.vue +357 -357
  116. package/src/components/masterplate/rowbtntoolbar.vue +126 -126
  117. package/src/components/masterplate/simpletree.vue +137 -137
  118. package/src/components/masterplate/simpleviewgrid.vue +144 -144
  119. package/src/components/mychart/bar/bar.vue +201 -201
  120. package/src/components/mychart/basechart.vue +190 -190
  121. package/src/components/mychart/complexmychart/barline.vue +153 -153
  122. package/src/components/mychart/gauge/gauge.vue +82 -82
  123. package/src/components/mychart/index.js +8 -8
  124. package/src/components/mychart/line/line.vue +201 -201
  125. package/src/components/mychart/liquidfill/liquidfill.vue +108 -108
  126. package/src/components/mychart/pie/pie.vue +95 -95
  127. package/src/components/mychart/radar/radar.vue +121 -121
  128. package/src/components/mychart/scatter/scatter.vue +75 -75
  129. package/src/components/numberbox/NumberBoxV1.vue +39 -39
  130. package/src/components/numberbox/append.js +11 -11
  131. package/src/components/numberbox/index.js +4 -4
  132. package/src/components/numberbox/numberbox.vue +302 -302
  133. package/src/components/numberbox/numberrangebox.vue +422 -422
  134. package/src/components/picturebox/filebox.vue +369 -369
  135. package/src/components/picturebox/index.js +2 -2
  136. package/src/components/picturebox/picturebox.vue +541 -541
  137. package/src/components/picturebox/uploadbox.vue +164 -164
  138. package/src/components/poptagbox/index.js +1 -1
  139. package/src/components/poptagbox/poptagbox.vue +388 -388
  140. package/src/components/poptextbox/index.js +1 -1
  141. package/src/components/poptextbox/poptextbox.vue +624 -624
  142. package/src/components/radiobox/index.js +1 -1
  143. package/src/components/radiobox/radiogroupbox.vue +75 -75
  144. package/src/components/richtextbox/editor.vue +150 -150
  145. package/src/components/richtextbox/index.js +1 -1
  146. package/src/components/richtextbox/richtextbox.vue +448 -448
  147. package/src/components/textbox/index.js +1 -1
  148. package/src/components/textbox/textbox.vue +97 -97
  149. package/src/components/timebox/index.js +1 -1
  150. package/src/components/timebox/timebox.vue +75 -75
  151. package/src/components/toolbar/ebutton.vue +169 -169
  152. package/src/components/toolbar/index.js +3 -3
  153. package/src/components/toolbar/toolbar.vue +445 -445
  154. package/src/components/tree/CompatTree.vue +297 -297
  155. package/src/components/tree/basetree.vue +1098 -1098
  156. package/src/components/tree/index.js +2 -2
  157. package/src/components/tree/treedata.vue +53 -53
  158. package/src/components/tree/treedatabase.vue +189 -189
  159. package/src/components/upload/billimport.vue +233 -233
  160. package/src/components/upload/index.js +1 -1
  161. package/src/components/videobox/index.js +1 -1
  162. package/src/components/videobox/uploadbox.vue +148 -148
  163. package/src/components/videobox/videobox.vue +503 -503
  164. package/src/components/wrichtextbox/editor.vue +219 -219
  165. package/src/components/wrichtextbox/index.js +1 -1
  166. package/src/components/wrichtextbox/wrichtextbox.vue +62 -62
  167. package/src/index.js +231 -231
  168. package/src/locale/format.js +51 -51
  169. package/src/locale/index.js +63 -63
  170. package/src/locale/lang/zh-CN.js +123 -123
  171. package/src/locale/lang/zh-TW.js +114 -114
  172. package/src/locale/lang/zh-UG.js +115 -115
  173. package/src/locale/lang.js +15 -15
  174. package/src/method/case/case.js +1274 -1274
  175. package/src/method/config/queryconfig.js +24 -24
  176. package/src/method/const/const.js +815 -815
  177. package/src/method/index.js +7 -7
  178. package/src/plugins/theme/theme-variable.css +114 -114
  179. package/src/plugins/vxeTable/index.js +241 -241
  180. package/src/plugins/vxeTable/renderer/components/TableFilterInput.vue +51 -51
  181. package/src/plugins/vxeTable/renderer/filter.js +32 -32
  182. package/src/static/excel/exportexcel.js +626 -626
  183. package/src/static/iview/coustom.js +462 -462
  184. package/src/store/index.js +18 -18
  185. package/src/store/modules/app.js +53 -53
  186. package/src/styles/README.md +3 -3
  187. package/src/styles/common.less +80 -80
  188. package/src/styles/components/anchor.less +74 -74
  189. package/src/styles/components/approval.less +135 -135
  190. package/src/styles/components/button.less +208 -208
  191. package/src/styles/components/card.less +51 -51
  192. package/src/styles/components/content.less +38 -38
  193. package/src/styles/components/font.less +313 -313
  194. package/src/styles/components/form.less +71 -71
  195. package/src/styles/components/iconfont/fonts/iconfont.less +1384 -1384
  196. package/src/styles/components/iconfont/fonts/iconfont.svg +703 -703
  197. package/src/styles/components/index.less +16 -16
  198. package/src/styles/components/input.less +290 -290
  199. package/src/styles/components/modal.less +203 -203
  200. package/src/styles/components/page.less +340 -340
  201. package/src/styles/components/select.less +361 -361
  202. package/src/styles/components/steps.less +367 -367
  203. package/src/styles/components/table.less +544 -544
  204. package/src/styles/components/tabs.less +249 -249
  205. package/src/styles/components/upload.less +82 -82
  206. package/src/styles/custom.less +67 -67
  207. package/src/styles/index.less +6 -6
  208. package/src/styles/pack.less +6 -6
  209. package/src/utils/EfuMessenger.js +155 -155
  210. package/src/utils/assist.js +353 -353
  211. package/src/utils/index.js +1 -1
  212. package/src/utils/random_str.js +10 -10
  213. package/src/components/masterplate/detailgridbox.vue +0 -386
@@ -1,302 +1,302 @@
1
- <template>
2
- <Card :padding="0">
3
- <FormCardBox ref="form" :config="myConfig" :dictData="dictData" >
4
- <template v-if="btnTypeValue === '1'" #btn>
5
- <a v-if="!editFlag && !readOnly" href="#" @click.prevent="edit">编辑</a>
6
- <a style="margin-left: 10px;" v-if="!editFlag && !readOnly" href="#" @click.prevent="del">删除</a>
7
- </template>
8
- <template v-else-if="btnTypeValue === '2'" #btn>
9
- <a href="#" @click.prevent="del">删除</a>
10
- </template>
11
- <template v-else #btn>
12
- <a v-if="showBtn && !btnReadOnly" href="#" @click.prevent="editStatic">编辑</a>
13
- <span v-if="showBtn && btnReadOnly" >编辑 </span>
14
- </template>
15
- </FormCardBox>
16
- <div v-if="showChildrenGrid">
17
- <EditGridCard ref="grid" :config="gridConfig" :dictData="dictData"></EditGridCard>
18
- </div>
19
- <Row v-if="btnTypeValue === '1' && editFlag" type="flex" justify="center" align="middle" style="margin-top: 10px;margin-bottom: 10px;" :gutter="16">
20
- <Col>
21
- <Button type="primary" @click="save">录入完成</Button>
22
- <Button style="margin-left: 20px;" @click="cancel">放弃</Button>
23
- </Col>
24
- </Row>
25
- </Card>
26
- </template>
27
-
28
- <script>
29
- import FormCardBox from './formcardbox.vue';
30
- export default {
31
- name:'formdetail',
32
- components:{
33
- FormCardBox
34
- },
35
- data () {
36
- return {
37
- editFlag:false,
38
- showChildrenGrid:false,
39
- girdFlag:false,
40
- gridConfig:{},
41
- myConfig:{},
42
- readOnly:false,
43
- showBtn:true,
44
- btnReadOnly:false,
45
- btnTypeValue:'1'
46
- };
47
- },
48
- props:{
49
- config:{
50
- type:Object,
51
- default:null
52
- },
53
- valueData:{
54
- type:Object,
55
- default () {
56
- return {};
57
- }
58
- },
59
- dictData: {
60
- type: Object,
61
- default:null
62
- },
63
- index:{
64
- type:String,
65
- default:''
66
- },
67
- isAdd:{
68
- type:Boolean,
69
- default:false
70
- },
71
- btnType:{
72
- type:String,
73
- default:'1'
74
- },
75
- },
76
- created () {
77
- this.init();
78
- },
79
- methods:{
80
- init () {
81
- if (this.isAdd) {
82
- this.editFlag = true;
83
- }
84
- this.myConfig = Object.assign({},this.myConfig, this.config.formConfig);
85
- this.myConfig.titleType = 2;
86
- this.myConfig.showBtn = false;
87
- this.myConfig.showSubSpecialStyle = true;
88
- if (this.config.gridConfig !== undefined && this.config.gridConfig.items && this.config.gridConfig.items.length > 0) {
89
- Object.assign(this.gridConfig, this.config.gridConfig);
90
- this.gridConfig.showDelRow = true;
91
- this.gridConfig.operFixedFlag = false;
92
- this.gridConfig.showCheckBox = false;
93
- this.gridConfig.showAddBtn = true;
94
- this.gridConfig.showTitle = false;
95
- this.gridConfig.addBtnType = '2';
96
- this.gridConfig.titleType = 2;
97
- this.gridConfig.addRowBefore = this.addRowBefore;
98
- this.gridConfig.delRowBefore = this.delRowBefore;
99
- this.gridConfig.tableSize = 'small';
100
- this.gridConfig.showBorder = false;
101
- //this.gridConfig.bordered = true;
102
- this.showChildrenGrid = true;
103
- if (this.gridConfig.height === undefined) {
104
- this.gridConfig.height = 200;
105
- }
106
- } else {
107
- this.showChildrenGrid = false;
108
- }
109
- this.btnTypeValue = this.btnType;
110
- if (this.myConfig.btnType) {
111
- this.btnTypeValue = this.myConfig.btnType;
112
- }
113
- },
114
- addRowBefore(e) {
115
- if (this.config.gridConfig.addRowBefore) {
116
- e.form = this.$refs.form.getData();
117
- return this.config.gridConfig.addRowBefore(e);
118
- }
119
- return true;
120
- },
121
- delRowBefore(e) {
122
- if (this.config.gridConfig.delRowBefore) {
123
- e.form = this.$refs.form.getData();
124
- return this.config.gridConfig.delRowBefore(e);
125
- }
126
- return true;
127
- },
128
- edit () {
129
- this.editFlag = true;
130
- if (this.$refs.form) {
131
- this.$refs.form.setFormReadOnly(false);
132
- }
133
- if (this.$refs.grid) {
134
- this.$refs.grid.setReadOnly(false);
135
- }
136
- let obj = {};
137
- obj.name = 'editForm';
138
- obj.para = {};
139
- obj.para.index = this.index;
140
- obj.para.formObject = this.$refs.form;
141
- obj.para.form = this.$refs.form.getData();
142
- if (this.$refs.grid) {
143
- obj.para.gridObject = this.$refs.grid;
144
- }
145
- this.$emit('doAction', obj);
146
- },
147
- del () {
148
- let obj = {};
149
- obj.name = 'delForm';
150
- obj.para = {};
151
- obj.para.index = this.index;
152
- this.$emit('doAction', obj);
153
- },
154
- checkValidate () {
155
- this.$refs.form.checkValidate();
156
- if (this.$refs.form.isError()) {
157
- return true;
158
- } else {
159
- return false;
160
- }
161
- },
162
- save () {
163
- this.$refs.form.checkValidate();
164
- if (this.$refs.form.isError()) {
165
- return false;
166
- }
167
- let obj = {};
168
- obj.name = 'saveForm';
169
- obj.para = {};
170
- obj.para.index = this.index;
171
- obj.para.data = this.$refs.form.getData();
172
- if (this.showChildrenGrid && this.$refs.grid) {
173
- if (this.$refs.grid.checkValidate()) {
174
- return false;
175
- }
176
- obj.para.data[this.config.gridName] = this.$refs.grid.getChangeData();
177
- if (obj.para.data[this.config.gridName].length > 0 && obj.para.data.flag === undefined) {
178
- obj.para.data.flag = 'U';
179
- }
180
- }
181
- if (!this.isAdd) {
182
- this.editFlag = false;
183
- }
184
- this.$emit('doAction', obj);
185
- },
186
- getChangeData () {
187
- let data = this.$refs.form.getData();
188
- if (data.flag === undefined) {
189
- data.flag = 'U';
190
- }
191
- if (this.showChildrenGrid && this.$refs.grid) {
192
- if (this.$refs.grid.checkValidate()) {
193
- return false;
194
- }
195
- data[this.config.gridName] = this.$refs.grid.getChangeData();
196
- if (data[this.config.gridName].length > 0 && data.flag === undefined) {
197
- data.flag = 'U';
198
- }
199
- }
200
- return data;
201
- },
202
- cancel () {
203
- if (!this.isAdd) {
204
- this.editFlag = false;
205
- }
206
- this.$refs.form.setData(this.valueData);
207
- this.$refs.form.setFormReadOnly(true);
208
- if (this.showChildrenGrid && this.$refs.grid) {
209
- this.$refs.grid.setReadOnly(true);
210
- this.$refs.grid.setData(this.valueData[this.config.gridName]);
211
- }
212
- let obj = {};
213
- obj.name = 'cancelForm';
214
- this.$emit('doAction', obj);
215
- },
216
-
217
- setReadOnly (value) {
218
- this.editFlag = !value;
219
- this.readOnly = value;
220
- this.$refs.form.setFormReadOnly(value);
221
- if (this.showChildrenGrid && this.$refs.grid) {
222
- this.$refs.grid.setReadOnly(value);
223
- }
224
- },
225
- clearData() {
226
- this.$refs.form.clearData();
227
- if (this.$refs.grid) {
228
- this.$refs.grid.clearData();
229
- }
230
- },
231
- isChange () {
232
- let flag = this.$refs.form.isChange();
233
- if (!flag) {
234
- if (this.showChildrenGrid && this.$refs.grid) {
235
- flag = this.$refs.grid.isChange();
236
- }
237
- }
238
- return flag;
239
- },
240
- setFormReadOnly(value) {
241
- this.readOnly = value;
242
- },
243
- setData(data) {
244
- this.customSetData(data);
245
- },
246
- getData() {
247
- let data = this.$refs.form.getData();
248
- if (this.showChildrenGrid && this.$refs.grid && this.config.gridName) {
249
- data[this.config.gridName] = this.$refs.grid.getData();
250
- }
251
- return data;
252
- },
253
- customSetData(data) {
254
- if (this.$refs.form) {
255
- this.$refs.form.setData(data);
256
- }
257
- if (this.showChildrenGrid && this.$refs.grid) {
258
- let gridData = [];
259
- if (data[this.config.gridName]) {
260
- gridData = data[this.config.gridName];
261
- }
262
- this.$refs.grid.setData(gridData);
263
- }
264
- },
265
- editStatic() {
266
- if (this.$parent && this.$parent.$parent && this.$parent.$parent.editDetails) {
267
- this.$parent.$parent.editDetails();
268
- }
269
- },
270
- setShowBtn(value) {
271
- this.showBtn = value;
272
- },
273
- setBtnReadOnly(value) {
274
- this.btnReadOnly = value;
275
- }
276
- },
277
- mounted () {
278
- this.$nextTick(()=> {
279
- this.customSetData(this.valueData);
280
- });
281
- if (this.btnType === '1') {
282
- if (this.isAdd) {
283
- this.setReadOnly(false);
284
- } else {
285
- this.setReadOnly(true);
286
- }
287
- } else if (this.btnType === '2') {
288
- this.setReadOnly(false);
289
- } else {
290
- this.setReadOnly(true);
291
- }
292
-
293
-
294
- }
295
- };
296
- </script>
297
- <style lang="less">
298
- .head-title-2{
299
- padding: 7px 16px;
300
- background-color:#f8f8f9
301
- }
302
- </style>
1
+ <template>
2
+ <Card :padding="0">
3
+ <FormCardBox ref="form" :config="myConfig" :dictData="dictData" >
4
+ <template v-if="btnTypeValue === '1'" #btn>
5
+ <a v-if="!editFlag && !readOnly" href="#" @click.prevent="edit">编辑</a>
6
+ <a style="margin-left: 10px;" v-if="!editFlag && !readOnly" href="#" @click.prevent="del">删除</a>
7
+ </template>
8
+ <template v-else-if="btnTypeValue === '2'" #btn>
9
+ <a href="#" @click.prevent="del">删除</a>
10
+ </template>
11
+ <template v-else #btn>
12
+ <a v-if="showBtn && !btnReadOnly" href="#" @click.prevent="editStatic">编辑</a>
13
+ <span v-if="showBtn && btnReadOnly" >编辑 </span>
14
+ </template>
15
+ </FormCardBox>
16
+ <div v-if="showChildrenGrid">
17
+ <EditGridCard ref="grid" :config="gridConfig" :dictData="dictData"></EditGridCard>
18
+ </div>
19
+ <Row v-if="btnTypeValue === '1' && editFlag" type="flex" justify="center" align="middle" style="margin-top: 10px;margin-bottom: 10px;" :gutter="16">
20
+ <Col>
21
+ <Button type="primary" @click="save">录入完成</Button>
22
+ <Button style="margin-left: 20px;" @click="cancel">放弃</Button>
23
+ </Col>
24
+ </Row>
25
+ </Card>
26
+ </template>
27
+
28
+ <script>
29
+ import FormCardBox from './formcardbox.vue';
30
+ export default {
31
+ name:'formdetail',
32
+ components:{
33
+ FormCardBox
34
+ },
35
+ data () {
36
+ return {
37
+ editFlag:false,
38
+ showChildrenGrid:false,
39
+ girdFlag:false,
40
+ gridConfig:{},
41
+ myConfig:{},
42
+ readOnly:false,
43
+ showBtn:true,
44
+ btnReadOnly:false,
45
+ btnTypeValue:'1'
46
+ };
47
+ },
48
+ props:{
49
+ config:{
50
+ type:Object,
51
+ default:null
52
+ },
53
+ valueData:{
54
+ type:Object,
55
+ default () {
56
+ return {};
57
+ }
58
+ },
59
+ dictData: {
60
+ type: Object,
61
+ default:null
62
+ },
63
+ index:{
64
+ type:String,
65
+ default:''
66
+ },
67
+ isAdd:{
68
+ type:Boolean,
69
+ default:false
70
+ },
71
+ btnType:{
72
+ type:String,
73
+ default:'1'
74
+ },
75
+ },
76
+ created () {
77
+ this.init();
78
+ },
79
+ methods:{
80
+ init () {
81
+ if (this.isAdd) {
82
+ this.editFlag = true;
83
+ }
84
+ this.myConfig = Object.assign({},this.myConfig, this.config.formConfig);
85
+ this.myConfig.titleType = 2;
86
+ this.myConfig.showBtn = false;
87
+ this.myConfig.showSubSpecialStyle = true;
88
+ if (this.config.gridConfig !== undefined && this.config.gridConfig.items && this.config.gridConfig.items.length > 0) {
89
+ Object.assign(this.gridConfig, this.config.gridConfig);
90
+ this.gridConfig.showDelRow = true;
91
+ this.gridConfig.operFixedFlag = false;
92
+ this.gridConfig.showCheckBox = false;
93
+ this.gridConfig.showAddBtn = true;
94
+ this.gridConfig.showTitle = false;
95
+ this.gridConfig.addBtnType = '2';
96
+ this.gridConfig.titleType = 2;
97
+ this.gridConfig.addRowBefore = this.addRowBefore;
98
+ this.gridConfig.delRowBefore = this.delRowBefore;
99
+ this.gridConfig.tableSize = 'small';
100
+ this.gridConfig.showBorder = false;
101
+ //this.gridConfig.bordered = true;
102
+ this.showChildrenGrid = true;
103
+ if (this.gridConfig.height === undefined) {
104
+ this.gridConfig.height = 200;
105
+ }
106
+ } else {
107
+ this.showChildrenGrid = false;
108
+ }
109
+ this.btnTypeValue = this.btnType;
110
+ if (this.myConfig.btnType) {
111
+ this.btnTypeValue = this.myConfig.btnType;
112
+ }
113
+ },
114
+ addRowBefore(e) {
115
+ if (this.config.gridConfig.addRowBefore) {
116
+ e.form = this.$refs.form.getData();
117
+ return this.config.gridConfig.addRowBefore(e);
118
+ }
119
+ return true;
120
+ },
121
+ delRowBefore(e) {
122
+ if (this.config.gridConfig.delRowBefore) {
123
+ e.form = this.$refs.form.getData();
124
+ return this.config.gridConfig.delRowBefore(e);
125
+ }
126
+ return true;
127
+ },
128
+ edit () {
129
+ this.editFlag = true;
130
+ if (this.$refs.form) {
131
+ this.$refs.form.setFormReadOnly(false);
132
+ }
133
+ if (this.$refs.grid) {
134
+ this.$refs.grid.setReadOnly(false);
135
+ }
136
+ let obj = {};
137
+ obj.name = 'editForm';
138
+ obj.para = {};
139
+ obj.para.index = this.index;
140
+ obj.para.formObject = this.$refs.form;
141
+ obj.para.form = this.$refs.form.getData();
142
+ if (this.$refs.grid) {
143
+ obj.para.gridObject = this.$refs.grid;
144
+ }
145
+ this.$emit('doAction', obj);
146
+ },
147
+ del () {
148
+ let obj = {};
149
+ obj.name = 'delForm';
150
+ obj.para = {};
151
+ obj.para.index = this.index;
152
+ this.$emit('doAction', obj);
153
+ },
154
+ checkValidate () {
155
+ this.$refs.form.checkValidate();
156
+ if (this.$refs.form.isError()) {
157
+ return true;
158
+ } else {
159
+ return false;
160
+ }
161
+ },
162
+ save () {
163
+ this.$refs.form.checkValidate();
164
+ if (this.$refs.form.isError()) {
165
+ return false;
166
+ }
167
+ let obj = {};
168
+ obj.name = 'saveForm';
169
+ obj.para = {};
170
+ obj.para.index = this.index;
171
+ obj.para.data = this.$refs.form.getData();
172
+ if (this.showChildrenGrid && this.$refs.grid) {
173
+ if (this.$refs.grid.checkValidate()) {
174
+ return false;
175
+ }
176
+ obj.para.data[this.config.gridName] = this.$refs.grid.getChangeData();
177
+ if (obj.para.data[this.config.gridName].length > 0 && obj.para.data.flag === undefined) {
178
+ obj.para.data.flag = 'U';
179
+ }
180
+ }
181
+ if (!this.isAdd) {
182
+ this.editFlag = false;
183
+ }
184
+ this.$emit('doAction', obj);
185
+ },
186
+ getChangeData () {
187
+ let data = this.$refs.form.getData();
188
+ if (data.flag === undefined) {
189
+ data.flag = 'U';
190
+ }
191
+ if (this.showChildrenGrid && this.$refs.grid) {
192
+ if (this.$refs.grid.checkValidate()) {
193
+ return false;
194
+ }
195
+ data[this.config.gridName] = this.$refs.grid.getChangeData();
196
+ if (data[this.config.gridName].length > 0 && data.flag === undefined) {
197
+ data.flag = 'U';
198
+ }
199
+ }
200
+ return data;
201
+ },
202
+ cancel () {
203
+ if (!this.isAdd) {
204
+ this.editFlag = false;
205
+ }
206
+ this.$refs.form.setData(this.valueData);
207
+ this.$refs.form.setFormReadOnly(true);
208
+ if (this.showChildrenGrid && this.$refs.grid) {
209
+ this.$refs.grid.setReadOnly(true);
210
+ this.$refs.grid.setData(this.valueData[this.config.gridName]);
211
+ }
212
+ let obj = {};
213
+ obj.name = 'cancelForm';
214
+ this.$emit('doAction', obj);
215
+ },
216
+
217
+ setReadOnly (value) {
218
+ this.editFlag = !value;
219
+ this.readOnly = value;
220
+ this.$refs.form.setFormReadOnly(value);
221
+ if (this.showChildrenGrid && this.$refs.grid) {
222
+ this.$refs.grid.setReadOnly(value);
223
+ }
224
+ },
225
+ clearData() {
226
+ this.$refs.form.clearData();
227
+ if (this.$refs.grid) {
228
+ this.$refs.grid.clearData();
229
+ }
230
+ },
231
+ isChange () {
232
+ let flag = this.$refs.form.isChange();
233
+ if (!flag) {
234
+ if (this.showChildrenGrid && this.$refs.grid) {
235
+ flag = this.$refs.grid.isChange();
236
+ }
237
+ }
238
+ return flag;
239
+ },
240
+ setFormReadOnly(value) {
241
+ this.readOnly = value;
242
+ },
243
+ setData(data) {
244
+ this.customSetData(data);
245
+ },
246
+ getData() {
247
+ let data = this.$refs.form.getData();
248
+ if (this.showChildrenGrid && this.$refs.grid && this.config.gridName) {
249
+ data[this.config.gridName] = this.$refs.grid.getData();
250
+ }
251
+ return data;
252
+ },
253
+ customSetData(data) {
254
+ if (this.$refs.form) {
255
+ this.$refs.form.setData(data);
256
+ }
257
+ if (this.showChildrenGrid && this.$refs.grid) {
258
+ let gridData = [];
259
+ if (data[this.config.gridName]) {
260
+ gridData = data[this.config.gridName];
261
+ }
262
+ this.$refs.grid.setData(gridData);
263
+ }
264
+ },
265
+ editStatic() {
266
+ if (this.$parent && this.$parent.$parent && this.$parent.$parent.editDetails) {
267
+ this.$parent.$parent.editDetails();
268
+ }
269
+ },
270
+ setShowBtn(value) {
271
+ this.showBtn = value;
272
+ },
273
+ setBtnReadOnly(value) {
274
+ this.btnReadOnly = value;
275
+ }
276
+ },
277
+ mounted () {
278
+ this.$nextTick(()=> {
279
+ this.customSetData(this.valueData);
280
+ });
281
+ if (this.btnType === '1') {
282
+ if (this.isAdd) {
283
+ this.setReadOnly(false);
284
+ } else {
285
+ this.setReadOnly(true);
286
+ }
287
+ } else if (this.btnType === '2') {
288
+ this.setReadOnly(false);
289
+ } else {
290
+ this.setReadOnly(true);
291
+ }
292
+
293
+
294
+ }
295
+ };
296
+ </script>
297
+ <style lang="less">
298
+ .head-title-2{
299
+ padding: 7px 16px;
300
+ background-color:#f8f8f9
301
+ }
302
+ </style>
@@ -1,9 +1,9 @@
1
- import FormDetail from './formdetail.vue';
2
- import FormBox from './formbox.vue';
3
- import FormCardBox from './formcardbox.vue';
4
- import FormCardGroupBox from './formcardgroupbox.vue';
5
- import DetailsBox from './detailsbox.vue';
6
- import WorkForm from './workform.vue';
7
- import BaseForm from './baseform.vue';
8
- import FormCardBox2 from './formcardbox2.vue';
9
- export {FormBox,FormDetail,WorkForm,BaseForm,FormCardBox,FormCardGroupBox,DetailsBox,FormCardBox2};
1
+ import FormDetail from './formdetail.vue';
2
+ import FormBox from './formbox.vue';
3
+ import FormCardBox from './formcardbox.vue';
4
+ import FormCardGroupBox from './formcardgroupbox.vue';
5
+ import DetailsBox from './detailsbox.vue';
6
+ import WorkForm from './workform.vue';
7
+ import BaseForm from './baseform.vue';
8
+ import FormCardBox2 from './formcardbox2.vue';
9
+ export {FormBox,FormDetail,WorkForm,BaseForm,FormCardBox,FormCardGroupBox,DetailsBox,FormCardBox2};