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,423 +1,423 @@
1
- <template>
2
- <Row v-show="myConfig.visible" type="flex" justify="start">
3
- <Col span="11">
4
- <Input
5
- ref="smyControl"
6
- v-model="slabel"
7
- :size="myConfig.size"
8
- :placeholder="myConfig.splaceholder"
9
- :disabled="myConfig.readOnly"
10
- :readonly="!myConfig.sallowInput"
11
- @on-focus="sparser($event)"
12
- @on-blur="_setFatherSvalue"
13
- @keydown.enter.stop="_enterSetFatherSvalue"
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 >
22
- <Tooltip content="最小值" placement="right">{{myConfig.unit}}</Tooltip>
23
- </span>
24
- <div v-if="myConfig.unitCustom" :style="'min-width:' + myConfig.unitWidth + 'px'">
25
- <NumberRangeExpand :render="myConfig.unitRender" />
26
- </div>
27
- </template>
28
- </Input>
29
- </Col>
30
- <Col span="2" style="text-align:center">{{myConfig.separate}}</Col>
31
- <Col span="11">
32
- <Input
33
- ref="emyControl"
34
- v-model="elabel"
35
- :size="myConfig.size"
36
- :placeholder="myConfig.eplaceholder"
37
- :disabled="myConfig.readOnly"
38
- :readonly="!myConfig.eallowInput"
39
- @on-focus="eparser($event)"
40
- @on-blur="_setFatherEvalue"
41
- @keydown.enter.stop="_enterSetFatherEvalue"
42
- >
43
- <template v-if="showPrefix" #prepend>
44
- <span >
45
- <CommonIcon :type="myConfig.prefix" size="20" />
46
- </span>
47
- </template>
48
- <template v-if="showUnit" #append>
49
- <span >
50
- <Tooltip content="最大值" placement="right">{{myConfig.unit}}</Tooltip>
51
- </span>
52
- <div v-if="myConfig.unitCustom" :style="'min-width:' + myConfig.unitWidth + 'px'">
53
- <NumberRangeExpand :render="myConfig.unitRender" />
54
- </div>
55
- </template>
56
- </Input>
57
- </Col>
58
- </Row>
59
- </template>
60
- <script>
61
- import Base from '@/components/base/controlbase.vue';
62
- import NumberRangeExpand from './append.js';
63
- export default {
64
- name: 'NumberRangeBox',
65
- extends: Base,
66
- data() {
67
- return {
68
- myConfig: {
69
- smax: Infinity,
70
- smin: -Infinity,
71
- emax: Infinity,
72
- emin: -Infinity,
73
- sallowInput: true,
74
- eallowInput: true,
75
- splaceholder: null,
76
- eplaceholder: null,
77
- separate: '~',
78
- precision: 0,
79
- format: 'n0',
80
- defaultValue: 0,
81
- rangeCheck: true,
82
- showPrefix: false,
83
- boundaryValue: true,
84
- unitCustom:false,
85
- unit: '',
86
- prefix: '',
87
- unitWidth: 80
88
- },
89
- prefix: '',
90
- showUnit: false,
91
- showPrefix: false,
92
- slabel: '',
93
- elabel: '',
94
- svalue: '',
95
- evalue: '',
96
- oldSvalue: '',
97
- oldEvalue: ''
98
- };
99
- },
100
- props: {
101
- fatherSvalue: {
102
- type: [String, Number],
103
- default: ''
104
- },
105
- fatherEvalue: {
106
- type: [String, Number],
107
- default: ''
108
- }
109
- },
110
- components:{
111
- NumberRangeExpand
112
- },
113
- methods: {
114
- fatherValueToValue(value) {
115
- let obj = this.myConfig.defaultValue;
116
- if (this.config.defaultValue != undefined) {
117
- obj = this.config.defaultValue;
118
- }
119
- if (Number(value) || Number(value) === 0) {
120
- obj = Number(value);
121
- }
122
- if (value === '' && this.config.defaultValue === '') {
123
- obj = value;
124
- }
125
- return obj;
126
- },
127
- _enterSetFatherSvalue() {
128
- this.isEnter = true;
129
- if (this.slabel === this.getLabel(this.svalue)) {
130
- this.$refs.smyControl.blur();
131
- this.$refs.emyControl.focus();
132
- this.isEnter = false;
133
- return;
134
- } else {
135
- this._setFatherSvalue();
136
- }
137
- },
138
- _enterSetFatherEvalue() {
139
- this.isEnter = true;
140
- if (this.elabel === this.getLabel(this.evalue)) {
141
- if (this.$parent.enterKeyDown) {
142
- this.$parent.enterKeyDown();
143
- this.isEnter = false;
144
- }
145
- return;
146
- } else {
147
- this._setFatherEvalue();
148
- }
149
- },
150
- valueToFatherValue() {
151
- let para = {};
152
- para.svalue = this.svalue + '';
153
- para.evalue = this.evalue + '';
154
- para.sname = this.config.sname;
155
- para.ename = this.config.ename;
156
- return para;
157
- },
158
- customInit() {
159
- if (this.myConfig.format && this.myConfig.format.length > 1) {
160
- this.myConfig.precision = Number(this.myConfig.format[1]);
161
- if (this.myConfig.showPrefix) {
162
- if (!this.myConfig.prefix) {
163
- if (this.myConfig.format.startsWith('c')) {
164
- this.showPrefix = true;
165
- this.myConfig.prefix = 'logo-yen';
166
- }
167
- } else {
168
- this.showPrefix = false;
169
- }
170
- } else {
171
- this.showPrefix = false;
172
- }
173
-
174
- if (this.myConfig.unit) {
175
- this.showUnit = true;
176
- }
177
- }
178
- if (this.myConfig.placeholder) {
179
- if (!this.myConfig.splaceholder) {
180
- this.myConfig.splaceholder = this.myConfig.placeholder;
181
- }
182
- if (!this.myConfig.eplaceholder) {
183
- this.myConfig.eplaceholder = this.myConfig.placeholder;
184
- }
185
- }
186
- if (this.myConfig.unitRender) {
187
- this.myConfig.unitCustom = true;
188
- } else {
189
- this.myConfig.unitCustom = false;
190
- }
191
-
192
- this.svalue = this._fatherValueToValue(this.fatherSvalue);
193
- this.oldSvalue = this.svalue;
194
- this.slabel = this.$Method.formatNumber(this.svalue, this.myConfig.format, this.myConfig.notzero);
195
- if (this.svalue === '' && this.myConfig.defaultValue === '') {
196
- this.slabel = this.svalue;
197
- }
198
-
199
- this.evalue = this._fatherValueToValue(this.fatherEvalue);
200
- this.oldEvalue = this.evalue;
201
- this.elabel = this.$Method.formatNumber(this.evalue, this.myConfig.format, this.myConfig.notzero);
202
- if (this.evalue === '' && this.myConfig.defaultValue === '') {
203
- this.elabel = this.evalue;
204
- }
205
- this.setFatherValue();
206
- },
207
-
208
- _setFatherSvalue() {
209
- if (this.slabel === this.getLabel(this.svalue)) {
210
- return;
211
- }
212
- if (this.slabel === '' && this.myConfig.defaultValue === '') {
213
- this.svalue = '';
214
- } else {
215
- if (!Number(this.slabel) && Number(this.slabel) !== 0) {
216
- this.slabel = this.myConfig.defaultValue;
217
- }
218
- if (this.myConfig.boundaryValue) {
219
- if (Number(this.slabel) < this.myConfig.smin) {
220
- this.alert('开始值不能小于' + this.myConfig.smin);
221
- this.slabel = this.myConfig.smin;
222
- }
223
- if (Number(this.slabel) > this.myConfig.smax) {
224
- this.alert('开始值不能大于' + this.myConfig.smax);
225
- this.slabel = this.myConfig.smax;
226
- }
227
- } else {
228
- if (Number(this.slabel) <= this.myConfig.smin) {
229
- this.alert('开始值不能小于且等于' + this.myConfig.smin);
230
- this.setSvalueFail();
231
- return false;
232
- }
233
- if (Number(this.slabel) >= this.myConfig.smax) {
234
- this.alert('开始值不能大于且等于' + this.myConfig.smax);
235
- this.slabel = this.myConfig.smax;
236
- this.setSvalueFail();
237
- return false;
238
- }
239
- }
240
-
241
- if (this.myConfig.rangeCheck) {
242
- if (this.elabel) {
243
- if (Number(this.slabel) > Number(this.evalue)) {
244
- this.alert('开始值不能大于结束值');
245
- this.slabel = this.evalue;
246
- }
247
- }
248
- }
249
- this.svalue = this.$Method.precisionNumber(this.slabel,this.myConfig.format);
250
- if (this.slabel === '' && this.myConfig.defaultValue === '') {
251
- this.svalue = this.slabel;
252
- }
253
- }
254
-
255
- this.setFatherValue('sname');
256
- },
257
- customEnterKeyDown(e) {
258
- if (e === 'sname') {
259
- this.smultiKeyDown();
260
- } else {
261
- if (this.$parent.enterKeyDown) {
262
- this.$parent.enterKeyDown();
263
- }
264
- }
265
- },
266
- _setFatherEvalue(e) {
267
- if (this.elabel === this.getLabel(this.evalue)) {
268
- return;
269
- }
270
- if (this.elabel === '' && this.myConfig.defaultValue === '') {
271
- this.evalue = '';
272
- } else {
273
- if (!Number(this.elabel) && Number(this.elabel) !== 0) {
274
- this.elabel = this.myConfig.defaultValue;
275
- }
276
- if (this.myConfig.boundaryValue) {
277
- if (Number(this.elabel) < this.myConfig.emin) {
278
- this.alert('结束值不能小于' + this.myConfig.emin);
279
- this.elabel = this.myConfig.emin;
280
- }
281
- if (Number(this.elabel) > this.myConfig.emax) {
282
- this.alert('结束值不能小于' + this.myConfig.emax);
283
- this.elabel = this.myConfig.emax;
284
- }
285
- } else {
286
- if (Number(this.elabel) <= this.myConfig.emin) {
287
- this.alert('结束值不能小于且等于' + this.myConfig.emin);
288
- this.setEvalueFail();
289
- return false;
290
- }
291
- if (Number(this.elabel) >= this.myConfig.emax) {
292
- this.alert('结束值不能大于且等于' + this.myConfig.emax);
293
- this.setEvalueFail();
294
- return false;
295
- }
296
- }
297
-
298
- if (this.myConfig.rangeCheck) {
299
- if (this.slabel) {
300
- if (Number(this.elabel) < Number(this.svalue)) {
301
- this.elabel = this.svalue;
302
- }
303
- }
304
- }
305
- this.evalue = this.$Method.precisionNumber(this.elabel,this.myConfig.format);
306
- if (this.elabel === '' && this.myConfig.defaultValue === '') {
307
- this.evalue = this.elabel;
308
- }
309
- }
310
-
311
- this.setFatherValue();
312
- },
313
- setFatherValueSuccess() {
314
- this.oldSvalue = this.svalue;
315
- this.slabel = this.$Method.formatNumber(this.svalue, this.myConfig.format, this.myConfig.notzero);
316
- if (this.svalue === '' && this.myConfig.defaultValue === '') {
317
- this.slabel = this.svalue;
318
- }
319
- this.oldEvalue = this.evalue;
320
- this.elabel = this.$Method.formatNumber(this.evalue, this.myConfig.format, this.myConfig.notzero);
321
- if (this.evalue === '' && this.myConfig.defaultValue === '') {
322
- this.elabel = this.evalue;
323
- }
324
- this.$emit('inputValue', this.valueToFatherValue());
325
- },
326
- setFatherValueFail(e) {
327
- if (e === 'sname') {
328
- this.setSvalueFail();
329
- } else {
330
- this.setEvalueFail();
331
- }
332
- },
333
- setSvalueFail() {
334
- this.svalue = this.oldSvalue;
335
- this.slabel = this.$Method.formatNumber(this.svalue, this.myConfig.format, this.myConfig.notzero);
336
- if (this.oldSvalue === '' && this.myConfig.defaultValue === '') {
337
- this.slabel = this.oldSvalue;
338
- }
339
- this.$nextTick(() => {
340
- this.$refs.smyControl.focus();
341
- });
342
- },
343
- setEvalueFail() {
344
- this.evalue = this.oldEvalue;
345
- this.elabel = this.$Method.formatNumber(this.evalue, this.myConfig.format, this.myConfig.notzero);
346
- if (this.oldEvalue === '' && this.myConfig.defaultValue === '') {
347
- this.elabel = this.oldEvalue;
348
- }
349
- this.$nextTick(() => {
350
- this.$refs.emyControl.focus();
351
- });
352
- },
353
- getValueNumber(curlvalue) {
354
- if (curlvalue) {
355
- let value = Number(curlvalue)
356
- let float = 0;
357
- if (this.myConfig.format) {
358
- if (this.myConfig.format.length > 1) {
359
- float = Number(this.myConfig.format[1]);
360
- if ('p' === this.myConfig.format[0]) {
361
- float = float + 2;
362
- }
363
- }
364
- }
365
- return Number(value.toFixed(float));
366
- } else {
367
- return curlvalue;
368
- }
369
- },
370
- sparser(event) {
371
- this.slabel = this.getValueNumber(this.svalue);
372
- if (event) {
373
- event.currentTarget.select();
374
- }
375
- },
376
- eparser(event) {
377
- this.elabel =this.getValueNumber(this.evalue);
378
- if (event) {
379
- event.currentTarget.select();
380
- }
381
- },
382
- smultiKeyDown(e) {
383
- this.$refs.smyControl.blur();
384
- this.$nextTick(() => {
385
- this.$refs.emyControl.focus();
386
- });
387
- // e.stopPropagation();
388
- },
389
- setFocus(value) {
390
- if (value) {
391
- this.$refs.smyControl.focus();
392
- } else {
393
- this.$refs.emyControl.blur();
394
- }
395
- },
396
- getLabel(value) {
397
- return this.$Method.formatNumber(value, this.myConfig.format, this.myConfig.notzero);
398
- }
399
- },
400
- watch: {
401
- fatherSvalue: {
402
- handler(newValue) {
403
- this.svalue = this._fatherValueToValue(newValue);
404
- this.oldSvalue = this.svalue;
405
- this.slabel = this.$Method.formatNumber(this.svalue, this.myConfig.format, this.myConfig.notzero);
406
- if (newValue === '' && this.myConfig.defaultValue === '') {
407
- this.slabel = newValue;
408
- }
409
- }
410
- },
411
- fatherEvalue: {
412
- handler(newValue) {
413
- this.evalue = this._fatherValueToValue(newValue);
414
- this.oldEvalue = this.evalue;
415
- this.elabel = this.$Method.formatNumber(this.evalue,this.myConfig.format, this.myConfig.notzero);
416
- if (newValue === '' && this.myConfig.defaultValue === '') {
417
- this.elabel = newValue;
418
- }
419
- }
420
- }
421
- }
422
- };
1
+ <template>
2
+ <Row v-show="myConfig.visible" type="flex" justify="start">
3
+ <Col span="11">
4
+ <Input
5
+ ref="smyControl"
6
+ v-model="slabel"
7
+ :size="myConfig.size"
8
+ :placeholder="myConfig.splaceholder"
9
+ :disabled="myConfig.readOnly"
10
+ :readonly="!myConfig.sallowInput"
11
+ @on-focus="sparser($event)"
12
+ @on-blur="_setFatherSvalue"
13
+ @keydown.enter.stop="_enterSetFatherSvalue"
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 >
22
+ <Tooltip content="最小值" placement="right">{{myConfig.unit}}</Tooltip>
23
+ </span>
24
+ <div v-if="myConfig.unitCustom" :style="'min-width:' + myConfig.unitWidth + 'px'">
25
+ <NumberRangeExpand :render="myConfig.unitRender" />
26
+ </div>
27
+ </template>
28
+ </Input>
29
+ </Col>
30
+ <Col span="2" style="text-align:center">{{myConfig.separate}}</Col>
31
+ <Col span="11">
32
+ <Input
33
+ ref="emyControl"
34
+ v-model="elabel"
35
+ :size="myConfig.size"
36
+ :placeholder="myConfig.eplaceholder"
37
+ :disabled="myConfig.readOnly"
38
+ :readonly="!myConfig.eallowInput"
39
+ @on-focus="eparser($event)"
40
+ @on-blur="_setFatherEvalue"
41
+ @keydown.enter.stop="_enterSetFatherEvalue"
42
+ >
43
+ <template v-if="showPrefix" #prepend>
44
+ <span >
45
+ <CommonIcon :type="myConfig.prefix" size="20" />
46
+ </span>
47
+ </template>
48
+ <template v-if="showUnit" #append>
49
+ <span >
50
+ <Tooltip content="最大值" placement="right">{{myConfig.unit}}</Tooltip>
51
+ </span>
52
+ <div v-if="myConfig.unitCustom" :style="'min-width:' + myConfig.unitWidth + 'px'">
53
+ <NumberRangeExpand :render="myConfig.unitRender" />
54
+ </div>
55
+ </template>
56
+ </Input>
57
+ </Col>
58
+ </Row>
59
+ </template>
60
+ <script>
61
+ import Base from '@/components/base/controlbase.vue';
62
+ import NumberRangeExpand from './append.js';
63
+ export default {
64
+ name: 'NumberRangeBox',
65
+ extends: Base,
66
+ data() {
67
+ return {
68
+ myConfig: {
69
+ smax: Infinity,
70
+ smin: -Infinity,
71
+ emax: Infinity,
72
+ emin: -Infinity,
73
+ sallowInput: true,
74
+ eallowInput: true,
75
+ splaceholder: null,
76
+ eplaceholder: null,
77
+ separate: '~',
78
+ precision: 0,
79
+ format: 'n0',
80
+ defaultValue: 0,
81
+ rangeCheck: true,
82
+ showPrefix: false,
83
+ boundaryValue: true,
84
+ unitCustom:false,
85
+ unit: '',
86
+ prefix: '',
87
+ unitWidth: 80
88
+ },
89
+ prefix: '',
90
+ showUnit: false,
91
+ showPrefix: false,
92
+ slabel: '',
93
+ elabel: '',
94
+ svalue: '',
95
+ evalue: '',
96
+ oldSvalue: '',
97
+ oldEvalue: ''
98
+ };
99
+ },
100
+ props: {
101
+ fatherSvalue: {
102
+ type: [String, Number],
103
+ default: ''
104
+ },
105
+ fatherEvalue: {
106
+ type: [String, Number],
107
+ default: ''
108
+ }
109
+ },
110
+ components:{
111
+ NumberRangeExpand
112
+ },
113
+ methods: {
114
+ fatherValueToValue(value) {
115
+ let obj = this.myConfig.defaultValue;
116
+ if (this.config.defaultValue != undefined) {
117
+ obj = this.config.defaultValue;
118
+ }
119
+ if (Number(value) || Number(value) === 0) {
120
+ obj = Number(value);
121
+ }
122
+ if (value === '' && this.config.defaultValue === '') {
123
+ obj = value;
124
+ }
125
+ return obj;
126
+ },
127
+ _enterSetFatherSvalue() {
128
+ this.isEnter = true;
129
+ if (this.slabel === this.getLabel(this.svalue)) {
130
+ this.$refs.smyControl.blur();
131
+ this.$refs.emyControl.focus();
132
+ this.isEnter = false;
133
+ return;
134
+ } else {
135
+ this._setFatherSvalue();
136
+ }
137
+ },
138
+ _enterSetFatherEvalue() {
139
+ this.isEnter = true;
140
+ if (this.elabel === this.getLabel(this.evalue)) {
141
+ if (this.$parent.enterKeyDown) {
142
+ this.$parent.enterKeyDown();
143
+ this.isEnter = false;
144
+ }
145
+ return;
146
+ } else {
147
+ this._setFatherEvalue();
148
+ }
149
+ },
150
+ valueToFatherValue() {
151
+ let para = {};
152
+ para.svalue = this.svalue + '';
153
+ para.evalue = this.evalue + '';
154
+ para.sname = this.config.sname;
155
+ para.ename = this.config.ename;
156
+ return para;
157
+ },
158
+ customInit() {
159
+ if (this.myConfig.format && this.myConfig.format.length > 1) {
160
+ this.myConfig.precision = Number(this.myConfig.format[1]);
161
+ if (this.myConfig.showPrefix) {
162
+ if (!this.myConfig.prefix) {
163
+ if (this.myConfig.format.startsWith('c')) {
164
+ this.showPrefix = true;
165
+ this.myConfig.prefix = 'logo-yen';
166
+ }
167
+ } else {
168
+ this.showPrefix = false;
169
+ }
170
+ } else {
171
+ this.showPrefix = false;
172
+ }
173
+
174
+ if (this.myConfig.unit) {
175
+ this.showUnit = true;
176
+ }
177
+ }
178
+ if (this.myConfig.placeholder) {
179
+ if (!this.myConfig.splaceholder) {
180
+ this.myConfig.splaceholder = this.myConfig.placeholder;
181
+ }
182
+ if (!this.myConfig.eplaceholder) {
183
+ this.myConfig.eplaceholder = this.myConfig.placeholder;
184
+ }
185
+ }
186
+ if (this.myConfig.unitRender) {
187
+ this.myConfig.unitCustom = true;
188
+ } else {
189
+ this.myConfig.unitCustom = false;
190
+ }
191
+
192
+ this.svalue = this._fatherValueToValue(this.fatherSvalue);
193
+ this.oldSvalue = this.svalue;
194
+ this.slabel = this.$Method.formatNumber(this.svalue, this.myConfig.format, this.myConfig.notzero);
195
+ if (this.svalue === '' && this.myConfig.defaultValue === '') {
196
+ this.slabel = this.svalue;
197
+ }
198
+
199
+ this.evalue = this._fatherValueToValue(this.fatherEvalue);
200
+ this.oldEvalue = this.evalue;
201
+ this.elabel = this.$Method.formatNumber(this.evalue, this.myConfig.format, this.myConfig.notzero);
202
+ if (this.evalue === '' && this.myConfig.defaultValue === '') {
203
+ this.elabel = this.evalue;
204
+ }
205
+ this.setFatherValue();
206
+ },
207
+
208
+ _setFatherSvalue() {
209
+ if (this.slabel === this.getLabel(this.svalue)) {
210
+ return;
211
+ }
212
+ if (this.slabel === '' && this.myConfig.defaultValue === '') {
213
+ this.svalue = '';
214
+ } else {
215
+ if (!Number(this.slabel) && Number(this.slabel) !== 0) {
216
+ this.slabel = this.myConfig.defaultValue;
217
+ }
218
+ if (this.myConfig.boundaryValue) {
219
+ if (Number(this.slabel) < this.myConfig.smin) {
220
+ this.alert('开始值不能小于' + this.myConfig.smin);
221
+ this.slabel = this.myConfig.smin;
222
+ }
223
+ if (Number(this.slabel) > this.myConfig.smax) {
224
+ this.alert('开始值不能大于' + this.myConfig.smax);
225
+ this.slabel = this.myConfig.smax;
226
+ }
227
+ } else {
228
+ if (Number(this.slabel) <= this.myConfig.smin) {
229
+ this.alert('开始值不能小于且等于' + this.myConfig.smin);
230
+ this.setSvalueFail();
231
+ return false;
232
+ }
233
+ if (Number(this.slabel) >= this.myConfig.smax) {
234
+ this.alert('开始值不能大于且等于' + this.myConfig.smax);
235
+ this.slabel = this.myConfig.smax;
236
+ this.setSvalueFail();
237
+ return false;
238
+ }
239
+ }
240
+
241
+ if (this.myConfig.rangeCheck) {
242
+ if (this.elabel) {
243
+ if (Number(this.slabel) > Number(this.evalue)) {
244
+ this.alert('开始值不能大于结束值');
245
+ this.slabel = this.evalue;
246
+ }
247
+ }
248
+ }
249
+ this.svalue = this.$Method.precisionNumber(this.slabel,this.myConfig.format);
250
+ if (this.slabel === '' && this.myConfig.defaultValue === '') {
251
+ this.svalue = this.slabel;
252
+ }
253
+ }
254
+
255
+ this.setFatherValue('sname');
256
+ },
257
+ customEnterKeyDown(e) {
258
+ if (e === 'sname') {
259
+ this.smultiKeyDown();
260
+ } else {
261
+ if (this.$parent.enterKeyDown) {
262
+ this.$parent.enterKeyDown();
263
+ }
264
+ }
265
+ },
266
+ _setFatherEvalue(e) {
267
+ if (this.elabel === this.getLabel(this.evalue)) {
268
+ return;
269
+ }
270
+ if (this.elabel === '' && this.myConfig.defaultValue === '') {
271
+ this.evalue = '';
272
+ } else {
273
+ if (!Number(this.elabel) && Number(this.elabel) !== 0) {
274
+ this.elabel = this.myConfig.defaultValue;
275
+ }
276
+ if (this.myConfig.boundaryValue) {
277
+ if (Number(this.elabel) < this.myConfig.emin) {
278
+ this.alert('结束值不能小于' + this.myConfig.emin);
279
+ this.elabel = this.myConfig.emin;
280
+ }
281
+ if (Number(this.elabel) > this.myConfig.emax) {
282
+ this.alert('结束值不能小于' + this.myConfig.emax);
283
+ this.elabel = this.myConfig.emax;
284
+ }
285
+ } else {
286
+ if (Number(this.elabel) <= this.myConfig.emin) {
287
+ this.alert('结束值不能小于且等于' + this.myConfig.emin);
288
+ this.setEvalueFail();
289
+ return false;
290
+ }
291
+ if (Number(this.elabel) >= this.myConfig.emax) {
292
+ this.alert('结束值不能大于且等于' + this.myConfig.emax);
293
+ this.setEvalueFail();
294
+ return false;
295
+ }
296
+ }
297
+
298
+ if (this.myConfig.rangeCheck) {
299
+ if (this.slabel) {
300
+ if (Number(this.elabel) < Number(this.svalue)) {
301
+ this.elabel = this.svalue;
302
+ }
303
+ }
304
+ }
305
+ this.evalue = this.$Method.precisionNumber(this.elabel,this.myConfig.format);
306
+ if (this.elabel === '' && this.myConfig.defaultValue === '') {
307
+ this.evalue = this.elabel;
308
+ }
309
+ }
310
+
311
+ this.setFatherValue();
312
+ },
313
+ setFatherValueSuccess() {
314
+ this.oldSvalue = this.svalue;
315
+ this.slabel = this.$Method.formatNumber(this.svalue, this.myConfig.format, this.myConfig.notzero);
316
+ if (this.svalue === '' && this.myConfig.defaultValue === '') {
317
+ this.slabel = this.svalue;
318
+ }
319
+ this.oldEvalue = this.evalue;
320
+ this.elabel = this.$Method.formatNumber(this.evalue, this.myConfig.format, this.myConfig.notzero);
321
+ if (this.evalue === '' && this.myConfig.defaultValue === '') {
322
+ this.elabel = this.evalue;
323
+ }
324
+ this.$emit('inputValue', this.valueToFatherValue());
325
+ },
326
+ setFatherValueFail(e) {
327
+ if (e === 'sname') {
328
+ this.setSvalueFail();
329
+ } else {
330
+ this.setEvalueFail();
331
+ }
332
+ },
333
+ setSvalueFail() {
334
+ this.svalue = this.oldSvalue;
335
+ this.slabel = this.$Method.formatNumber(this.svalue, this.myConfig.format, this.myConfig.notzero);
336
+ if (this.oldSvalue === '' && this.myConfig.defaultValue === '') {
337
+ this.slabel = this.oldSvalue;
338
+ }
339
+ this.$nextTick(() => {
340
+ this.$refs.smyControl.focus();
341
+ });
342
+ },
343
+ setEvalueFail() {
344
+ this.evalue = this.oldEvalue;
345
+ this.elabel = this.$Method.formatNumber(this.evalue, this.myConfig.format, this.myConfig.notzero);
346
+ if (this.oldEvalue === '' && this.myConfig.defaultValue === '') {
347
+ this.elabel = this.oldEvalue;
348
+ }
349
+ this.$nextTick(() => {
350
+ this.$refs.emyControl.focus();
351
+ });
352
+ },
353
+ getValueNumber(curlvalue) {
354
+ if (curlvalue) {
355
+ let value = Number(curlvalue)
356
+ let float = 0;
357
+ if (this.myConfig.format) {
358
+ if (this.myConfig.format.length > 1) {
359
+ float = Number(this.myConfig.format[1]);
360
+ if ('p' === this.myConfig.format[0]) {
361
+ float = float + 2;
362
+ }
363
+ }
364
+ }
365
+ return Number(value.toFixed(float));
366
+ } else {
367
+ return curlvalue;
368
+ }
369
+ },
370
+ sparser(event) {
371
+ this.slabel = this.getValueNumber(this.svalue);
372
+ if (event) {
373
+ event.currentTarget.select();
374
+ }
375
+ },
376
+ eparser(event) {
377
+ this.elabel =this.getValueNumber(this.evalue);
378
+ if (event) {
379
+ event.currentTarget.select();
380
+ }
381
+ },
382
+ smultiKeyDown(e) {
383
+ this.$refs.smyControl.blur();
384
+ this.$nextTick(() => {
385
+ this.$refs.emyControl.focus();
386
+ });
387
+ // e.stopPropagation();
388
+ },
389
+ setFocus(value) {
390
+ if (value) {
391
+ this.$refs.smyControl.focus();
392
+ } else {
393
+ this.$refs.emyControl.blur();
394
+ }
395
+ },
396
+ getLabel(value) {
397
+ return this.$Method.formatNumber(value, this.myConfig.format, this.myConfig.notzero);
398
+ }
399
+ },
400
+ watch: {
401
+ fatherSvalue: {
402
+ handler(newValue) {
403
+ this.svalue = this._fatherValueToValue(newValue);
404
+ this.oldSvalue = this.svalue;
405
+ this.slabel = this.$Method.formatNumber(this.svalue, this.myConfig.format, this.myConfig.notzero);
406
+ if (newValue === '' && this.myConfig.defaultValue === '') {
407
+ this.slabel = newValue;
408
+ }
409
+ }
410
+ },
411
+ fatherEvalue: {
412
+ handler(newValue) {
413
+ this.evalue = this._fatherValueToValue(newValue);
414
+ this.oldEvalue = this.evalue;
415
+ this.elabel = this.$Method.formatNumber(this.evalue,this.myConfig.format, this.myConfig.notzero);
416
+ if (newValue === '' && this.myConfig.defaultValue === '') {
417
+ this.elabel = newValue;
418
+ }
419
+ }
420
+ }
421
+ }
422
+ };
423
423
  </script>