ocpview-plus 1.3.15 → 1.3.17

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,29 +1,29 @@
1
- <template>
2
- <div>
3
- <Form ref="form" :model="form" :rules="formRules" :label-position="myConfig.labelPosition" :label-width="myConfig.labelWidth" :inline="myConfig.inline" :id="myConfig.name" @submit.enter.prevent>
4
- <Row type="flex" justify="start">
5
- <template v-for="(item,index) in items" :key="'form'+index">
6
- <Col v-if="item.status" :span="initFormItemCol(index)" v-show="item.visible !== false" >
7
- <FormItem v-if="item.type !== 'Divider' && item.status && item.visible !== false" :label="item.label" :prop="item.name||item.sname" :style="getFormItemStyle(item)" :show-message="false">
8
- <ControlBox :ref="item.name||item.sname" :valueData="form" :config="item" @inputValue="input" @doAction="doAction" ></ControlBox>
9
- </FormItem>
10
- <ControlBox v-if="item.type === 'Divider'" :ref="item.dividerName" :config="item"></ControlBox>
11
- </Col>
12
- </template>
13
- </Row>
14
- </Form>
15
- </div>
16
- </template>
17
- <script>
18
- import Base from './baseform.vue';
19
- export default {
20
- name: 'FormBox',
21
- extends: Base,
22
- created () {
23
- this.init();
24
- },
25
- methods:{
26
-
27
- }
28
- };
1
+ <template>
2
+ <div>
3
+ <Form ref="form" :model="form" :rules="formRules" :label-position="myConfig.labelPosition" :label-width="myConfig.labelWidth" :inline="myConfig.inline" :id="myConfig.name" @submit.enter.prevent>
4
+ <Row type="flex" justify="start">
5
+ <template v-for="(item,index) in items" :key="'form'+index">
6
+ <Col v-if="item.status" :span="initFormItemCol(index)" v-show="item.visible !== false" >
7
+ <FormItem v-if="item.type !== 'Divider' && item.status && item.visible !== false" :label="item.label" :prop="item.name||item.sname" :style="getFormItemStyle(item)" :show-message="false">
8
+ <ControlBox :ref="item.name||item.sname" :valueData="form" :config="item" @inputValue="input" @doAction="doAction" ></ControlBox>
9
+ </FormItem>
10
+ <ControlBox v-if="item.type === 'Divider'" :ref="item.dividerName" :config="item"></ControlBox>
11
+ </Col>
12
+ </template>
13
+ </Row>
14
+ </Form>
15
+ </div>
16
+ </template>
17
+ <script>
18
+ import Base from './baseform.vue';
19
+ export default {
20
+ name: 'FormBox',
21
+ extends: Base,
22
+ created () {
23
+ this.init();
24
+ },
25
+ methods:{
26
+
27
+ }
28
+ };
29
29
  </script>
@@ -1,268 +1,268 @@
1
- <template>
2
- <Card
3
- :padding="0"
4
- :bordered="myConfig.bordered"
5
- :dis-hover="myConfig.disHover"
6
- :class="cardClass"
7
- >
8
- <template #title>
9
- <p v-if="showTitle" :style="pStyle" @click="toggle">
10
- <span :class="titleClass" v-text="myConfig.title" />
11
- <Icon
12
- v-if="myConfig.hide"
13
- class="efuture-title-icon"
14
- :style="iconStyle"
15
- type="ios-arrow-forward"
16
- />
17
- </p>
18
- </template>
19
- <template #extra>
20
- <div v-if="$slots.btn">
21
- <slot name="btn"></slot>
22
- </div>
23
- <div v-else>
24
- <a
25
- v-if="showBtn && editFlag && !btnReadOnly"
26
- href="#"
27
- @click.prevent="editForm"
28
- >{{myConfig.editBtnText}}</a>
29
- <span v-if="showBtn && editFlag && btnReadOnly">{{myConfig.editBtnText}}</span>
30
- <a
31
- v-if="showBtn && !editFlag && saveFlag"
32
- style="margin-left: 10px;"
33
- href="#"
34
- @click.prevent="saveForm"
35
- >{{myConfig.saveBtnText}}</a>
36
- <a
37
- v-if="showBtn && !editFlag"
38
- style="margin-left: 10px;"
39
- href="#"
40
- @click.prevent="cancelForm"
41
- >{{myConfig.cancelBtnText}}</a>
42
- </div>
43
- </template>
44
- <div v-show="showForm" :style="myConfig.divStyle">
45
- <Form
46
- ref="form"
47
- :model="form"
48
- :rules="formRules"
49
- :label-position="myConfig.labelPosition"
50
- :label-width="myConfig.labelWidth"
51
- :inline="myConfig.inline"
52
- :id="myConfig.name"
53
- @submit.enter.prevent
54
- >
55
- <Row type="flex" justify="start">
56
- <template v-for="(item,index) in items" :key="'form_' + index">
57
- <Col
58
- v-if="item.status"
59
- :span="initFormItemCol(index)"
60
- v-show="item.visible !== false"
61
- >
62
- <FormItem
63
- v-if="item.type !== 'Divider' && item.status && item.visible !== false"
64
- :label="item.label"
65
- :prop="item.name||item.sname"
66
- :style="getFormItemStyle(item)"
67
- :show-message="false"
68
- >
69
- <ControlBox
70
- :ref="item.name||item.sname"
71
- :valueData="form"
72
- :config="item"
73
- @inputValue="input"
74
- @doAction="doAction"
75
- ></ControlBox>
76
- </FormItem>
77
- <ControlBox v-if="item.type === 'Divider'" :ref="item.dividerName" :config="item"></ControlBox>
78
- </Col>
79
- </template>
80
- </Row>
81
- </Form>
82
- </div>
83
- </Card>
84
- </template>
85
- <script>
86
- import Base from './baseform.vue';
87
- export default {
88
- name: 'FormCardBox',
89
- extends: Base,
90
- data() {
91
- return {
92
- myConfig: {
93
- hide: true,
94
- titleType: 1,
95
- editBtnText: '编辑',
96
- saveBtnText: '保存',
97
- cancelBtnText: '放弃',
98
- showBtn: true,
99
- bordered: true,
100
- disHover: false,
101
- showSubSpecialStyle: false,
102
- divStyle: 'padding:16px',
103
- },
104
- btnReadOnly: false,
105
- showBtn: true,
106
- showForm: true,
107
- showTitle: true,
108
- editFlag: false,
109
- saveFlag: false,
110
- cancelFlag: false,
111
- pStyle: '',
112
- iconStyle: '',
113
- };
114
- },
115
- created() {
116
- this.init();
117
- },
118
- computed: {
119
- cardClass() {
120
- if (this.myConfig.showSubSpecialStyle) {
121
- return (`efuture-card-head-title-${this.myConfig.titleType}` + ' efuture-card-head-title' + ` efuture-card-extra-title-${this.myConfig.titleType}`);
122
- } else {
123
- if (!this.showForm) {
124
- return ( `efuture-card-head-title-${this.myConfig.titleType}` + ' efuture-card-head-title-nobottom' + ` efuture-card-extra-title-${this.myConfig.titleType}`);
125
- } else {
126
- return `efuture-card-head-title-${this.myConfig.titleType}` + ` efuture-card-extra-title-${this.myConfig.titleType}`;
127
- }
128
- }
129
- },
130
- titleClass() {
131
- return `efuture-title-font-${this.myConfig.titleType}`;
132
- },
133
- },
134
- methods: {
135
-
136
- customInit() {
137
- if (this.myConfig.hide) {
138
- this.pStyle = 'cursor:pointer';
139
- this.iconStyle = 'transform: rotate(90deg)';
140
- }
141
- if (!this.myConfig.title) {
142
- if (this.myConfig.titleType !== 1) {
143
- this.showTitle = true;
144
- } else {
145
- this.showTitle = false;
146
- }
147
- }
148
-
149
- if (this.myConfig.readOnly !== undefined) {
150
- this.readOnly = this.myConfig.readOnly;
151
- }
152
- if (this.myConfig.titleType !== 1) {
153
- if (this.config.hide === undefined) {
154
- this.myConfig.hide = false;
155
- }
156
- if (this.config.bordered === undefined) {
157
- this.myConfig.bordered = false;
158
- }
159
- if (this.config.disHover === undefined) {
160
- this.myConfig.disHover = true;
161
- }
162
- }
163
- this.showBtn = this.myConfig.showBtn;
164
- if (this.myConfig.cancelBtn !== undefined) {
165
- this.cancelFlag = this.myConfig.cancelBtn;
166
- }
167
- // let _this = this;
168
- // document.addEventListener("keydown", _this.watchEnter);
169
- },
170
- setFormReadOnly(value) {
171
- this.editFlag = value;
172
- if (!this.myConfig.items || this.myConfig.items.length === 0) {
173
- return false;
174
- }
175
- let self = this;
176
- this.myConfig.items.forEach(el => {
177
- let name = '';
178
- if (el.name) {
179
- name = el.name;
180
- } else if (el.sname) {
181
- name = el.sname;
182
- }
183
- if (!value) {
184
- if (this.myConfig.cellbeginedit) {
185
- let obj = {};
186
- obj.name = name;
187
- obj.form = this.$Method.copy(this.form);
188
- obj.formObject = self;
189
- let flag = this.myConfig.cellbeginedit(obj);
190
- if (flag) {
191
- this.setReadOnly(name, value);
192
- } else {
193
- this.setReadOnly(name, !value);
194
- }
195
- } else {
196
- this.setReadOnly(name, value);
197
- }
198
- } else {
199
- this.setReadOnly(name, value);
200
- }
201
- });
202
- },
203
- editForm() {
204
- let flag = true;
205
- if (this.myConfig.editObjectBefore) {
206
- flag = this.myConfig.editObjectBefore(this.myConfig.name);
207
- }
208
- if (flag) {
209
- this.setFormReadOnly(false);
210
- let obj = {};
211
- obj.name = 'editForm';
212
- obj.formname = this.myConfig.name;
213
- this.$emit('doAction', obj);
214
- }
215
- },
216
- cancelForm() {
217
- this.setData(this.oldForm);
218
- this.setFormReadOnly(true);
219
- let obj = {};
220
- obj.name = 'cancelForm';
221
- obj.formname = this.myConfig.name;
222
- this.$emit('doAction', obj);
223
- },
224
- saveForm() {
225
- this.checkValidate();
226
- if (this.errorFlag) {
227
- return false;
228
- }
229
- this.setFormReadOnly(true);
230
- let obj = {};
231
- obj.name = 'saveForm';
232
- obj.formname = this.myConfig.name;
233
- obj.para = this.getData();
234
- this.$emit('doAction', obj);
235
- },
236
- toggle() {
237
- if (this.myConfig.hide) {
238
- this.showForm = !this.showForm;
239
- this.setTitleStyle();
240
- this.$nextTick(() => {
241
- this.$emit('on-open-change',this.showForm);
242
- });
243
-
244
- }
245
- },
246
- setShowForm(value) {
247
- this.showForm = value;
248
- this.setTitleStyle();
249
- },
250
- setTitleStyle() {
251
- if (this.showForm) {
252
- this.iconStyle = 'transform: rotate(90deg)';
253
- } else {
254
- this.iconStyle = '';
255
- }
256
- },
257
- isEdit() {
258
- return this.editFlag;
259
- },
260
- setShowBtn(value) {
261
- this.showBtn = value;
262
- },
263
- setBtnReadOnly(value) {
264
- this.btnReadOnly = value;
265
- },
266
- },
267
- };
1
+ <template>
2
+ <Card
3
+ :padding="0"
4
+ :bordered="myConfig.bordered"
5
+ :dis-hover="myConfig.disHover"
6
+ :class="cardClass"
7
+ >
8
+ <template #title>
9
+ <p v-if="showTitle" :style="pStyle" @click="toggle">
10
+ <span :class="titleClass" v-text="myConfig.title" />
11
+ <Icon
12
+ v-if="myConfig.hide"
13
+ class="efuture-title-icon"
14
+ :style="iconStyle"
15
+ type="ios-arrow-forward"
16
+ />
17
+ </p>
18
+ </template>
19
+ <template #extra>
20
+ <div v-if="$slots.btn">
21
+ <slot name="btn"></slot>
22
+ </div>
23
+ <div v-else>
24
+ <a
25
+ v-if="showBtn && editFlag && !btnReadOnly"
26
+ href="#"
27
+ @click.prevent="editForm"
28
+ >{{myConfig.editBtnText}}</a>
29
+ <span v-if="showBtn && editFlag && btnReadOnly">{{myConfig.editBtnText}}</span>
30
+ <a
31
+ v-if="showBtn && !editFlag && saveFlag"
32
+ style="margin-left: 10px;"
33
+ href="#"
34
+ @click.prevent="saveForm"
35
+ >{{myConfig.saveBtnText}}</a>
36
+ <a
37
+ v-if="showBtn && !editFlag"
38
+ style="margin-left: 10px;"
39
+ href="#"
40
+ @click.prevent="cancelForm"
41
+ >{{myConfig.cancelBtnText}}</a>
42
+ </div>
43
+ </template>
44
+ <div v-show="showForm" :style="myConfig.divStyle">
45
+ <Form
46
+ ref="form"
47
+ :model="form"
48
+ :rules="formRules"
49
+ :label-position="myConfig.labelPosition"
50
+ :label-width="myConfig.labelWidth"
51
+ :inline="myConfig.inline"
52
+ :id="myConfig.name"
53
+ @submit.enter.prevent
54
+ >
55
+ <Row type="flex" justify="start">
56
+ <template v-for="(item,index) in items" :key="'form_' + index">
57
+ <Col
58
+ v-if="item.status"
59
+ :span="initFormItemCol(index)"
60
+ v-show="item.visible !== false"
61
+ >
62
+ <FormItem
63
+ v-if="item.type !== 'Divider' && item.status && item.visible !== false"
64
+ :label="item.label"
65
+ :prop="item.name||item.sname"
66
+ :style="getFormItemStyle(item)"
67
+ :show-message="false"
68
+ >
69
+ <ControlBox
70
+ :ref="item.name||item.sname"
71
+ :valueData="form"
72
+ :config="item"
73
+ @inputValue="input"
74
+ @doAction="doAction"
75
+ ></ControlBox>
76
+ </FormItem>
77
+ <ControlBox v-if="item.type === 'Divider'" :ref="item.dividerName" :config="item"></ControlBox>
78
+ </Col>
79
+ </template>
80
+ </Row>
81
+ </Form>
82
+ </div>
83
+ </Card>
84
+ </template>
85
+ <script>
86
+ import Base from './baseform.vue';
87
+ export default {
88
+ name: 'FormCardBox',
89
+ extends: Base,
90
+ data() {
91
+ return {
92
+ myConfig: {
93
+ hide: true,
94
+ titleType: 1,
95
+ editBtnText: '编辑',
96
+ saveBtnText: '保存',
97
+ cancelBtnText: '放弃',
98
+ showBtn: true,
99
+ bordered: true,
100
+ disHover: false,
101
+ showSubSpecialStyle: false,
102
+ divStyle: 'padding:16px',
103
+ },
104
+ btnReadOnly: false,
105
+ showBtn: true,
106
+ showForm: true,
107
+ showTitle: true,
108
+ editFlag: false,
109
+ saveFlag: false,
110
+ cancelFlag: false,
111
+ pStyle: '',
112
+ iconStyle: '',
113
+ };
114
+ },
115
+ created() {
116
+ this.init();
117
+ },
118
+ computed: {
119
+ cardClass() {
120
+ if (this.myConfig.showSubSpecialStyle) {
121
+ return (`efuture-card-head-title-${this.myConfig.titleType}` + ' efuture-card-head-title' + ` efuture-card-extra-title-${this.myConfig.titleType}`);
122
+ } else {
123
+ if (!this.showForm) {
124
+ return ( `efuture-card-head-title-${this.myConfig.titleType}` + ' efuture-card-head-title-nobottom' + ` efuture-card-extra-title-${this.myConfig.titleType}`);
125
+ } else {
126
+ return `efuture-card-head-title-${this.myConfig.titleType}` + ` efuture-card-extra-title-${this.myConfig.titleType}`;
127
+ }
128
+ }
129
+ },
130
+ titleClass() {
131
+ return `efuture-title-font-${this.myConfig.titleType}`;
132
+ },
133
+ },
134
+ methods: {
135
+
136
+ customInit() {
137
+ if (this.myConfig.hide) {
138
+ this.pStyle = 'cursor:pointer';
139
+ this.iconStyle = 'transform: rotate(90deg)';
140
+ }
141
+ if (!this.myConfig.title) {
142
+ if (this.myConfig.titleType !== 1) {
143
+ this.showTitle = true;
144
+ } else {
145
+ this.showTitle = false;
146
+ }
147
+ }
148
+
149
+ if (this.myConfig.readOnly !== undefined) {
150
+ this.readOnly = this.myConfig.readOnly;
151
+ }
152
+ if (this.myConfig.titleType !== 1) {
153
+ if (this.config.hide === undefined) {
154
+ this.myConfig.hide = false;
155
+ }
156
+ if (this.config.bordered === undefined) {
157
+ this.myConfig.bordered = false;
158
+ }
159
+ if (this.config.disHover === undefined) {
160
+ this.myConfig.disHover = true;
161
+ }
162
+ }
163
+ this.showBtn = this.myConfig.showBtn;
164
+ if (this.myConfig.cancelBtn !== undefined) {
165
+ this.cancelFlag = this.myConfig.cancelBtn;
166
+ }
167
+ // let _this = this;
168
+ // document.addEventListener("keydown", _this.watchEnter);
169
+ },
170
+ setFormReadOnly(value) {
171
+ this.editFlag = value;
172
+ if (!this.myConfig.items || this.myConfig.items.length === 0) {
173
+ return false;
174
+ }
175
+ let self = this;
176
+ this.myConfig.items.forEach(el => {
177
+ let name = '';
178
+ if (el.name) {
179
+ name = el.name;
180
+ } else if (el.sname) {
181
+ name = el.sname;
182
+ }
183
+ if (!value) {
184
+ if (this.myConfig.cellbeginedit) {
185
+ let obj = {};
186
+ obj.name = name;
187
+ obj.form = this.$Method.copy(this.form);
188
+ obj.formObject = self;
189
+ let flag = this.myConfig.cellbeginedit(obj);
190
+ if (flag) {
191
+ this.setReadOnly(name, value);
192
+ } else {
193
+ this.setReadOnly(name, !value);
194
+ }
195
+ } else {
196
+ this.setReadOnly(name, value);
197
+ }
198
+ } else {
199
+ this.setReadOnly(name, value);
200
+ }
201
+ });
202
+ },
203
+ editForm() {
204
+ let flag = true;
205
+ if (this.myConfig.editObjectBefore) {
206
+ flag = this.myConfig.editObjectBefore(this.myConfig.name);
207
+ }
208
+ if (flag) {
209
+ this.setFormReadOnly(false);
210
+ let obj = {};
211
+ obj.name = 'editForm';
212
+ obj.formname = this.myConfig.name;
213
+ this.$emit('doAction', obj);
214
+ }
215
+ },
216
+ cancelForm() {
217
+ this.setData(this.oldForm);
218
+ this.setFormReadOnly(true);
219
+ let obj = {};
220
+ obj.name = 'cancelForm';
221
+ obj.formname = this.myConfig.name;
222
+ this.$emit('doAction', obj);
223
+ },
224
+ saveForm() {
225
+ this.checkValidate();
226
+ if (this.errorFlag) {
227
+ return false;
228
+ }
229
+ this.setFormReadOnly(true);
230
+ let obj = {};
231
+ obj.name = 'saveForm';
232
+ obj.formname = this.myConfig.name;
233
+ obj.para = this.getData();
234
+ this.$emit('doAction', obj);
235
+ },
236
+ toggle() {
237
+ if (this.myConfig.hide) {
238
+ this.showForm = !this.showForm;
239
+ this.setTitleStyle();
240
+ this.$nextTick(() => {
241
+ this.$emit('on-open-change',this.showForm);
242
+ });
243
+
244
+ }
245
+ },
246
+ setShowForm(value) {
247
+ this.showForm = value;
248
+ this.setTitleStyle();
249
+ },
250
+ setTitleStyle() {
251
+ if (this.showForm) {
252
+ this.iconStyle = 'transform: rotate(90deg)';
253
+ } else {
254
+ this.iconStyle = '';
255
+ }
256
+ },
257
+ isEdit() {
258
+ return this.editFlag;
259
+ },
260
+ setShowBtn(value) {
261
+ this.showBtn = value;
262
+ },
263
+ setBtnReadOnly(value) {
264
+ this.btnReadOnly = value;
265
+ },
266
+ },
267
+ };
268
268
  </script>