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,11 +1,11 @@
1
- import { h } from 'vue';
2
-
3
- export default {
4
- name: 'NumberRangeAppend',
5
- props: {
6
- render: Function
7
- },
8
- render () {
9
- return this.render(h);
10
- }
11
- };
1
+ import { h } from 'vue';
2
+
3
+ export default {
4
+ name: 'NumberRangeAppend',
5
+ props: {
6
+ render: Function
7
+ },
8
+ render () {
9
+ return this.render(h);
10
+ }
11
+ };
@@ -1,4 +1,4 @@
1
- import NumberBox from "./numberbox.vue";
2
- import NumberRangeBox from "./numberrangebox.vue";
3
- import NumberBoxV1 from "./NumberBoxV1.vue";
4
- export { NumberBox, NumberRangeBox, NumberBoxV1 };
1
+ import NumberBox from "./numberbox.vue";
2
+ import NumberRangeBox from "./numberrangebox.vue";
3
+ import NumberBoxV1 from "./NumberBoxV1.vue";
4
+ export { NumberBox, NumberRangeBox, NumberBoxV1 };
@@ -1,303 +1,303 @@
1
- <template>
2
- <div v-show="myConfig.visible">
3
- <Input
4
- ref="myControl"
5
- v-model="label"
6
- :size="myConfig.size"
7
- :placeholder="myConfig.placeholder"
8
- :readonly="!myConfig.allowInput"
9
- :disabled="myConfig.readOnly"
10
- @on-focus="parser($event)"
11
- @on-blur="_setFatherValue"
12
- @keydown.enter.stop="_enterSetFatherValue"
13
- style="width:100%"
14
- >
15
- <template v-if="showPrefix" #prepend>
16
- <span>
17
- <CommonIcon :type="myConfig.prefix" size="20" />
18
- </span>
19
- </template>
20
- <template v-if="showUnit" #append>
21
- <span v-if="showUnit" >{{myConfig.unit}}</span>
22
- <div v-if="myConfig.unitCustom" :style="'min-width:' + myConfig.unitWidth + 'px'">
23
- <NumberRangeExpand :render="myConfig.unitRender" />
24
- </div>
25
- </template>
26
- </Input>
27
- </div>
28
- </template>
29
- <script>
30
- import Base from '@/components/base/controlbase.vue';
31
- import NumberRangeExpand from './append.js';
32
- export default {
33
- name: 'numberbox',
34
- extends: Base,
35
- data() {
36
- return {
37
- myConfig: {
38
- max: Infinity,
39
- min: -Infinity,
40
- precision: 0,
41
- format: 'n0',
42
- defaultValue: 0,
43
- allowInput: true,
44
- unit: '',
45
- prefix: '',
46
- showPrefix: false,
47
- boundaryValue: true,
48
- unitCustom:false,
49
- unitWidth: 80
50
- },
51
- showUnit: false,
52
- showPrefix: false,
53
- label: '',
54
- value: '',
55
- oldValue: ''
56
- };
57
- },
58
- props: {
59
- fatherValue: {
60
- type: [String, Number],
61
- default: '',
62
- },
63
- },
64
- components:{
65
- NumberRangeExpand
66
- },
67
- mounted() {
68
- if (this.$refs.myControl && this.$refs.myControl.$el) {
69
- if (this.myConfig.place === 'grid') {
70
- this.$refs.myControl.$el.onmouseleave = () => {
71
- this._setFatherValue();
72
- };
73
- }
74
- }
75
- },
76
- methods: {
77
- fatherValueToValue(value) {
78
- let obj = this.myConfig.defaultValue;
79
- if (this.config.defaultValue != undefined) {
80
- obj = this.config.defaultValue;
81
- }
82
- if (Number(value) || Number(value) === 0) {
83
- obj = Number(value);
84
- }
85
- if (value === '' && this.config.defaultValue === '') {
86
- obj = value;
87
- }
88
- return obj;
89
- },
90
- valueToFatherValue() {
91
- let para = {};
92
- para.value = this.value + '';
93
- return para;
94
- },
95
- _enterSetFatherValue() {
96
- this.isEnter = true;
97
- if (this.label === this.getLabel()) {
98
- if (this.$parent.enterKeyDown) {
99
- this.$parent.enterKeyDown();
100
- this.isEnter = false;
101
- }
102
- return;
103
- } else {
104
- this._setFatherValue();
105
- }
106
- },
107
- _setFatherValue(e) {
108
- if (this.label === this.getLabel()) {
109
- return;
110
- }
111
- if (this.label === '' && this.myConfig.defaultValue === '') {
112
- this.value = '';
113
- } else {
114
- if (!Number(this.label) && Number(this.label) !== 0) {
115
- this.label = this.myConfig.defaultValue;
116
- }
117
- if (this.myConfig.boundaryValue) {
118
- if (Number(this.label) < this.myConfig.min) {
119
- this.alert('输入值不能小于' + this.myConfig.min);
120
- this.label = this.myConfig.min;
121
- }
122
- if (Number(this.label) > this.myConfig.max) {
123
- this.alert('输入值不能大于' + this.myConfig.max);
124
- this.label = this.myConfig.max;
125
- }
126
- } else {
127
- if (Number(this.label) <= this.myConfig.min) {
128
- this.alert('输入值不能小于等于' + this.myConfig.min);
129
- this.setFatherValueFail();
130
- return false;
131
- }
132
- if (Number(this.label) >= this.myConfig.max) {
133
- this.alert('输入值不能大于等于' + this.myConfig.max);
134
- this.setFatherValueFail();
135
- return false;
136
- }
137
- }
138
- this.value = this.$Method.precisionNumber(this.label,this.myConfig.format);
139
- if (this.myConfig.proportional) {
140
- if (Number(this.label) < 1) {
141
- this.value = this.$Method.precisionNumber(
142
- this.label,
143
- 'p2',
144
- );
145
- }
146
- }
147
- if (this.label === '' && this.myConfig.defaultValue === '') {
148
- this.value = this.label;
149
- }
150
- }
151
- this.setFatherValue();
152
- },
153
-
154
- setFatherValueSuccess(para) {
155
- this.label = this.$Method.formatNumber(
156
- this.value,
157
- this.myConfig.format,
158
- this.myConfig.notzero
159
- );
160
- if (this.myConfig.proportional) {
161
- if (Number(this.value) < 1) {
162
- this.label = this.$Method.formatNumber(this.label, 'p2', this.myConfig.notzero);
163
- }
164
- }
165
- if (this.value === '' && this.myConfig.defaultValue === '') {
166
- this.label = this.value;
167
- }
168
- this.$emit('inputValue', para);
169
- },
170
- setFatherValueFail() {
171
- this.label = this.$Method.formatNumber(
172
- this.oldValue,
173
- this.myConfig.format,
174
- this.myConfig.notzero
175
- );
176
- this.value = this.oldValue;
177
- if (this.myConfig.proportional) {
178
- if (Number(this.oldValue) < 1) {
179
- this.label = this.$Method.formatNumber(this.oldValue, 'p2', this.myConfig.notzero);
180
- }
181
- }
182
- if (this.oldValue === '' && this.myConfig.defaultValue === '') {
183
- this.label = this.oldValue;
184
- }
185
- },
186
- customInit() {
187
- if (this.config.min !== undefined) {
188
- if (this.myConfig.boundaryValue) {
189
- this.myConfig.defaultValue = this.config.min;
190
- } else {
191
- this.myConfig.defaultValue = '';
192
- }
193
- }
194
- if (this.myConfig.unitRender) {
195
- this.myConfig.unitCustom = true;
196
- } else {
197
- this.myConfig.unitCustom = false;
198
- }
199
- if (this.myConfig.format && this.myConfig.format.length > 1) {
200
- this.myConfig.precision = Number(this.myConfig.format[1]);
201
- if (this.myConfig.showPrefix) {
202
- if (!this.myConfig.prefix) {
203
- if (this.myConfig.format.startsWith('c')) {
204
- this.showPrefix = true;
205
- this.myConfig.prefix = 'logo-yen';
206
- }
207
- } else {
208
- this.showPrefix = false;
209
- }
210
- } else {
211
- this.showPrefix = false;
212
- }
213
-
214
- if (this.myConfig.unit) {
215
- this.showUnit = true;
216
- }
217
-
218
- this.label = this.$Method.formatNumber(
219
- this.value,
220
- this.myConfig.format,
221
- this.myConfig.notzero
222
- );
223
- if (this.myConfig.proportional) {
224
- if (Number(this.value) < 1) {
225
- this.label = this.$Method.formatNumber(
226
- this.value,
227
- 'p2',
228
- this.myConfig.notzero
229
- );
230
- }
231
- }
232
- if (this.value === '' && this.myConfig.defaultValue === '') {
233
- this.label = this.value;
234
- }
235
- this.oldLabel = this.label;
236
- }
237
- },
238
-
239
- formatter(value) {
240
- if (this.myConfig.format) {
241
- if (Number(value) || value === 0) {
242
- return this.$Method.formatNumber(
243
- value,
244
- this.myConfig.format,
245
- this.myConfig.notzero
246
- );
247
- } else {
248
- return value;
249
- }
250
- }
251
- },
252
- parser(event) {
253
- this.label = this.getValueNumber(this.value)
254
- if (event) {
255
- event.currentTarget.select();
256
- }
257
- },
258
- getValueNumber(curlvalue) {
259
- if (curlvalue) {
260
- let value = Number(curlvalue)
261
- let float = 0;
262
- if (this.myConfig.format) {
263
- if (this.myConfig.format.length > 1) {
264
- float = Number(this.myConfig.format[1]);
265
- if ('p' === this.myConfig.format[0]) {
266
- float = float + 2;
267
- }
268
- }
269
- }
270
- return Number(value.toFixed(float));
271
- } else {
272
- return curlvalue;
273
- }
274
- },
275
- watchCustomFatherValue() {
276
- this.label = this.getLabel();
277
- },
278
- getLabel() {
279
- let label = this.$Method.formatNumber(
280
- this.value,
281
- this.myConfig.format,
282
- this.myConfig.notzero
283
- );
284
- if (this.myConfig.proportional) {
285
- if (Number(this.value) < 1) {
286
- label = this.$Method.formatNumber(this.value, 'p2', this.myConfig.notzero);
287
- }
288
- }
289
- if (this.value === '' && this.myConfig.defaultValue === '') {
290
- label = this.value;
291
- }
292
- return label;
293
- },
294
- setFocus(value) {
295
- if (value) {
296
- this.$refs.myControl.focus();
297
- } else {
298
- this.$refs.myControl.blur();
299
- }
300
- }
301
- }
302
- };
1
+ <template>
2
+ <div v-show="myConfig.visible">
3
+ <Input
4
+ ref="myControl"
5
+ v-model="label"
6
+ :size="myConfig.size"
7
+ :placeholder="myConfig.placeholder"
8
+ :readonly="!myConfig.allowInput"
9
+ :disabled="myConfig.readOnly"
10
+ @on-focus="parser($event)"
11
+ @on-blur="_setFatherValue"
12
+ @keydown.enter.stop="_enterSetFatherValue"
13
+ style="width:100%"
14
+ >
15
+ <template v-if="showPrefix" #prepend>
16
+ <span>
17
+ <CommonIcon :type="myConfig.prefix" size="20" />
18
+ </span>
19
+ </template>
20
+ <template v-if="showUnit" #append>
21
+ <span v-if="showUnit" >{{myConfig.unit}}</span>
22
+ <div v-if="myConfig.unitCustom" :style="'min-width:' + myConfig.unitWidth + 'px'">
23
+ <NumberRangeExpand :render="myConfig.unitRender" />
24
+ </div>
25
+ </template>
26
+ </Input>
27
+ </div>
28
+ </template>
29
+ <script>
30
+ import Base from '@/components/base/controlbase.vue';
31
+ import NumberRangeExpand from './append.js';
32
+ export default {
33
+ name: 'numberbox',
34
+ extends: Base,
35
+ data() {
36
+ return {
37
+ myConfig: {
38
+ max: Infinity,
39
+ min: -Infinity,
40
+ precision: 0,
41
+ format: 'n0',
42
+ defaultValue: 0,
43
+ allowInput: true,
44
+ unit: '',
45
+ prefix: '',
46
+ showPrefix: false,
47
+ boundaryValue: true,
48
+ unitCustom:false,
49
+ unitWidth: 80
50
+ },
51
+ showUnit: false,
52
+ showPrefix: false,
53
+ label: '',
54
+ value: '',
55
+ oldValue: ''
56
+ };
57
+ },
58
+ props: {
59
+ fatherValue: {
60
+ type: [String, Number],
61
+ default: '',
62
+ },
63
+ },
64
+ components:{
65
+ NumberRangeExpand
66
+ },
67
+ mounted() {
68
+ if (this.$refs.myControl && this.$refs.myControl.$el) {
69
+ if (this.myConfig.place === 'grid') {
70
+ this.$refs.myControl.$el.onmouseleave = () => {
71
+ this._setFatherValue();
72
+ };
73
+ }
74
+ }
75
+ },
76
+ methods: {
77
+ fatherValueToValue(value) {
78
+ let obj = this.myConfig.defaultValue;
79
+ if (this.config.defaultValue != undefined) {
80
+ obj = this.config.defaultValue;
81
+ }
82
+ if (Number(value) || Number(value) === 0) {
83
+ obj = Number(value);
84
+ }
85
+ if (value === '' && this.config.defaultValue === '') {
86
+ obj = value;
87
+ }
88
+ return obj;
89
+ },
90
+ valueToFatherValue() {
91
+ let para = {};
92
+ para.value = this.value + '';
93
+ return para;
94
+ },
95
+ _enterSetFatherValue() {
96
+ this.isEnter = true;
97
+ if (this.label === this.getLabel()) {
98
+ if (this.$parent.enterKeyDown) {
99
+ this.$parent.enterKeyDown();
100
+ this.isEnter = false;
101
+ }
102
+ return;
103
+ } else {
104
+ this._setFatherValue();
105
+ }
106
+ },
107
+ _setFatherValue(e) {
108
+ if (this.label === this.getLabel()) {
109
+ return;
110
+ }
111
+ if (this.label === '' && this.myConfig.defaultValue === '') {
112
+ this.value = '';
113
+ } else {
114
+ if (!Number(this.label) && Number(this.label) !== 0) {
115
+ this.label = this.myConfig.defaultValue;
116
+ }
117
+ if (this.myConfig.boundaryValue) {
118
+ if (Number(this.label) < this.myConfig.min) {
119
+ this.alert('输入值不能小于' + this.myConfig.min);
120
+ this.label = this.myConfig.min;
121
+ }
122
+ if (Number(this.label) > this.myConfig.max) {
123
+ this.alert('输入值不能大于' + this.myConfig.max);
124
+ this.label = this.myConfig.max;
125
+ }
126
+ } else {
127
+ if (Number(this.label) <= this.myConfig.min) {
128
+ this.alert('输入值不能小于等于' + this.myConfig.min);
129
+ this.setFatherValueFail();
130
+ return false;
131
+ }
132
+ if (Number(this.label) >= this.myConfig.max) {
133
+ this.alert('输入值不能大于等于' + this.myConfig.max);
134
+ this.setFatherValueFail();
135
+ return false;
136
+ }
137
+ }
138
+ this.value = this.$Method.precisionNumber(this.label,this.myConfig.format);
139
+ if (this.myConfig.proportional) {
140
+ if (Number(this.label) < 1) {
141
+ this.value = this.$Method.precisionNumber(
142
+ this.label,
143
+ 'p2',
144
+ );
145
+ }
146
+ }
147
+ if (this.label === '' && this.myConfig.defaultValue === '') {
148
+ this.value = this.label;
149
+ }
150
+ }
151
+ this.setFatherValue();
152
+ },
153
+
154
+ setFatherValueSuccess(para) {
155
+ this.label = this.$Method.formatNumber(
156
+ this.value,
157
+ this.myConfig.format,
158
+ this.myConfig.notzero
159
+ );
160
+ if (this.myConfig.proportional) {
161
+ if (Number(this.value) < 1) {
162
+ this.label = this.$Method.formatNumber(this.label, 'p2', this.myConfig.notzero);
163
+ }
164
+ }
165
+ if (this.value === '' && this.myConfig.defaultValue === '') {
166
+ this.label = this.value;
167
+ }
168
+ this.$emit('inputValue', para);
169
+ },
170
+ setFatherValueFail() {
171
+ this.label = this.$Method.formatNumber(
172
+ this.oldValue,
173
+ this.myConfig.format,
174
+ this.myConfig.notzero
175
+ );
176
+ this.value = this.oldValue;
177
+ if (this.myConfig.proportional) {
178
+ if (Number(this.oldValue) < 1) {
179
+ this.label = this.$Method.formatNumber(this.oldValue, 'p2', this.myConfig.notzero);
180
+ }
181
+ }
182
+ if (this.oldValue === '' && this.myConfig.defaultValue === '') {
183
+ this.label = this.oldValue;
184
+ }
185
+ },
186
+ customInit() {
187
+ if (this.config.min !== undefined) {
188
+ if (this.myConfig.boundaryValue) {
189
+ this.myConfig.defaultValue = this.config.min;
190
+ } else {
191
+ this.myConfig.defaultValue = '';
192
+ }
193
+ }
194
+ if (this.myConfig.unitRender) {
195
+ this.myConfig.unitCustom = true;
196
+ } else {
197
+ this.myConfig.unitCustom = false;
198
+ }
199
+ if (this.myConfig.format && this.myConfig.format.length > 1) {
200
+ this.myConfig.precision = Number(this.myConfig.format[1]);
201
+ if (this.myConfig.showPrefix) {
202
+ if (!this.myConfig.prefix) {
203
+ if (this.myConfig.format.startsWith('c')) {
204
+ this.showPrefix = true;
205
+ this.myConfig.prefix = 'logo-yen';
206
+ }
207
+ } else {
208
+ this.showPrefix = false;
209
+ }
210
+ } else {
211
+ this.showPrefix = false;
212
+ }
213
+
214
+ if (this.myConfig.unit) {
215
+ this.showUnit = true;
216
+ }
217
+
218
+ this.label = this.$Method.formatNumber(
219
+ this.value,
220
+ this.myConfig.format,
221
+ this.myConfig.notzero
222
+ );
223
+ if (this.myConfig.proportional) {
224
+ if (Number(this.value) < 1) {
225
+ this.label = this.$Method.formatNumber(
226
+ this.value,
227
+ 'p2',
228
+ this.myConfig.notzero
229
+ );
230
+ }
231
+ }
232
+ if (this.value === '' && this.myConfig.defaultValue === '') {
233
+ this.label = this.value;
234
+ }
235
+ this.oldLabel = this.label;
236
+ }
237
+ },
238
+
239
+ formatter(value) {
240
+ if (this.myConfig.format) {
241
+ if (Number(value) || value === 0) {
242
+ return this.$Method.formatNumber(
243
+ value,
244
+ this.myConfig.format,
245
+ this.myConfig.notzero
246
+ );
247
+ } else {
248
+ return value;
249
+ }
250
+ }
251
+ },
252
+ parser(event) {
253
+ this.label = this.getValueNumber(this.value)
254
+ if (event) {
255
+ event.currentTarget.select();
256
+ }
257
+ },
258
+ getValueNumber(curlvalue) {
259
+ if (curlvalue) {
260
+ let value = Number(curlvalue)
261
+ let float = 0;
262
+ if (this.myConfig.format) {
263
+ if (this.myConfig.format.length > 1) {
264
+ float = Number(this.myConfig.format[1]);
265
+ if ('p' === this.myConfig.format[0]) {
266
+ float = float + 2;
267
+ }
268
+ }
269
+ }
270
+ return Number(value.toFixed(float));
271
+ } else {
272
+ return curlvalue;
273
+ }
274
+ },
275
+ watchCustomFatherValue() {
276
+ this.label = this.getLabel();
277
+ },
278
+ getLabel() {
279
+ let label = this.$Method.formatNumber(
280
+ this.value,
281
+ this.myConfig.format,
282
+ this.myConfig.notzero
283
+ );
284
+ if (this.myConfig.proportional) {
285
+ if (Number(this.value) < 1) {
286
+ label = this.$Method.formatNumber(this.value, 'p2', this.myConfig.notzero);
287
+ }
288
+ }
289
+ if (this.value === '' && this.myConfig.defaultValue === '') {
290
+ label = this.value;
291
+ }
292
+ return label;
293
+ },
294
+ setFocus(value) {
295
+ if (value) {
296
+ this.$refs.myControl.focus();
297
+ } else {
298
+ this.$refs.myControl.blur();
299
+ }
300
+ }
301
+ }
302
+ };
303
303
  </script>