vxe-pc-ui 3.3.43 → 3.3.44
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.
- package/es/button/style.css +1 -1
- package/es/button/style.min.css +1 -1
- package/es/color-picker/src/color-picker.js +991 -7
- package/es/color-picker/src/util.js +190 -0
- package/es/color-picker/style.css +355 -0
- package/es/color-picker/style.min.css +1 -0
- package/es/icon/style.css +1 -1
- package/es/input/src/input.js +19 -8
- package/es/language/ar-EG.js +9 -0
- package/es/language/de-DE.js +9 -0
- package/es/language/en-US.js +9 -0
- package/es/language/es-ES.js +9 -0
- package/es/language/fr-FR.js +9 -0
- package/es/language/hu-HU.js +9 -0
- package/es/language/hy-AM.js +9 -0
- package/es/language/ja-JP.js +9 -0
- package/es/language/ko-KR.js +9 -0
- package/es/language/nb-NO.js +9 -0
- package/es/language/pt-BR.js +9 -0
- package/es/language/ru-RU.js +9 -0
- package/es/language/ug-CN.js +9 -0
- package/es/language/uk-UA.js +9 -0
- package/es/language/vi-VN.js +9 -0
- package/es/language/zh-CHT.js +9 -0
- package/es/language/zh-CN.js +9 -0
- package/es/number-input/src/number-input.js +3 -1
- package/es/slider/src/slider.js +2 -4
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +11 -3
- package/es/ui/src/log.js +1 -1
- package/es/vxe-button/style.css +1 -1
- package/es/vxe-button/style.min.css +1 -1
- package/es/vxe-color-picker/style.css +355 -0
- package/es/vxe-color-picker/style.min.css +1 -0
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/button/style/style.css +1 -1
- package/lib/button/style/style.min.css +1 -1
- package/lib/color-picker/src/color-picker.js +950 -7
- package/lib/color-picker/src/color-picker.min.js +1 -1
- package/lib/color-picker/src/util.js +215 -0
- package/lib/color-picker/src/util.min.js +1 -0
- package/lib/color-picker/style/style.css +355 -0
- package/lib/color-picker/style/style.min.css +1 -0
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +10294 -9116
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +17 -7
- package/lib/input/src/input.min.js +1 -1
- package/lib/language/ar-EG.js +9 -0
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/de-DE.js +9 -0
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/en-US.js +9 -0
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +9 -0
- package/lib/language/es-ES.js +9 -0
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +9 -0
- package/lib/language/fr-FR.js +9 -0
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/hu-HU.js +9 -0
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +9 -0
- package/lib/language/hy-AM.js +9 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/ja-JP.js +9 -0
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +9 -0
- package/lib/language/ko-KR.js +9 -0
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +9 -0
- package/lib/language/nb-NO.js +9 -0
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/pt-BR.js +9 -0
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +9 -0
- package/lib/language/ru-RU.js +9 -0
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +9 -0
- package/lib/language/ug-CN.js +9 -0
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/uk-UA.js +9 -0
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +9 -0
- package/lib/language/vi-VN.js +9 -0
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/zh-CHT.js +9 -0
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +9 -0
- package/lib/language/zh-CN.js +9 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +9 -0
- package/lib/number-input/src/number-input.js +3 -1
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/slider/src/slider.js +2 -4
- package/lib/slider/src/slider.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +11 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-button/style/style.css +1 -1
- package/lib/vxe-button/style/style.min.css +1 -1
- package/lib/vxe-color-picker/style/style.css +355 -0
- package/lib/vxe-color-picker/style/style.min.css +1 -0
- package/package.json +1 -1
- package/packages/color-picker/src/color-picker.ts +1036 -9
- package/packages/color-picker/src/util.ts +198 -0
- package/packages/input/src/input.ts +18 -8
- package/packages/language/ar-EG.ts +9 -0
- package/packages/language/de-DE.ts +9 -0
- package/packages/language/en-US.ts +9 -0
- package/packages/language/es-ES.ts +9 -0
- package/packages/language/fr-FR.ts +9 -0
- package/packages/language/hu-HU.ts +9 -0
- package/packages/language/hy-AM.ts +9 -0
- package/packages/language/ja-JP.ts +9 -0
- package/packages/language/ko-KR.ts +9 -0
- package/packages/language/nb-NO.ts +9 -0
- package/packages/language/pt-BR.ts +9 -0
- package/packages/language/ru-RU.ts +9 -0
- package/packages/language/ug-CN.ts +9 -0
- package/packages/language/uk-UA.ts +9 -0
- package/packages/language/vi-VN.ts +9 -0
- package/packages/language/zh-CHT.ts +9 -0
- package/packages/language/zh-CN.ts +9 -0
- package/packages/number-input/src/number-input.ts +3 -1
- package/packages/slider/src/slider.ts +2 -4
- package/packages/ui/index.ts +11 -2
- package/styles/components/button.scss +1 -1
- package/styles/components/color-picker.scss +345 -0
- package/types/components/color-picker.d.ts +21 -0
- package/types/components/table.d.ts +4 -2
- package/types/ui/global-icon.d.ts +3 -0
- /package/es/icon/{iconfont.1734680304044.ttf → iconfont.1734950846147.ttf} +0 -0
- /package/es/icon/{iconfont.1734680304044.woff → iconfont.1734950846147.woff} +0 -0
- /package/es/icon/{iconfont.1734680304044.woff2 → iconfont.1734950846147.woff2} +0 -0
- /package/es/{iconfont.1734680304044.ttf → iconfont.1734950846147.ttf} +0 -0
- /package/es/{iconfont.1734680304044.woff → iconfont.1734950846147.woff} +0 -0
- /package/es/{iconfont.1734680304044.woff2 → iconfont.1734950846147.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1734680304044.ttf → iconfont.1734950846147.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1734680304044.woff → iconfont.1734950846147.woff} +0 -0
- /package/lib/icon/style/{iconfont.1734680304044.woff2 → iconfont.1734950846147.woff2} +0 -0
- /package/lib/{iconfont.1734680304044.ttf → iconfont.1734950846147.ttf} +0 -0
- /package/lib/{iconfont.1734680304044.woff → iconfont.1734950846147.woff} +0 -0
- /package/lib/{iconfont.1734680304044.woff2 → iconfont.1734950846147.woff2} +0 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils'
|
|
2
|
+
|
|
3
|
+
const hexAlphaKeyMaps: Record<string, number> = {}
|
|
4
|
+
const hexAlphaNumMaps: Record<string, string> = {}
|
|
5
|
+
'FF,FC,FA,F7,F5,F2,F0,ED,EB,E8,E6,E3,E0,DE,DB,D9,D6,D4,D1,CF,CC,C9,C7,C4,C2,BF,BD,BA,B8,B5,B3,B0,AD,AB,A8,A6,A3,A1,9E,9C,99,96,94,91,8F,8C,8A,87,85,82,80,7D,7A,78,75,73,70,6E,6B,69,66,63,61,5E,5C,59,57,54,52,4F,4D,4A,47,45,42,40,3D,3B,38,36,33,30,2E,2B,29,26,24,21,1F,1C,1A,17,14,12,0F,0D,0A,08,05,03,00'.split(',').forEach((key, i) => {
|
|
6
|
+
const num = (100 - i) / 100
|
|
7
|
+
hexAlphaKeyMaps[key] = num
|
|
8
|
+
hexAlphaNumMaps[num] = key
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
const rgbRE = /^rgb(a?)\((\d{1,3})[,\s]+(\d{1,3})[,\s]+(\d{1,3})([,//\s]+([0-9.]{1,4})(%?))?\)$/
|
|
12
|
+
export function hasRgb (value: string) {
|
|
13
|
+
return value && rgbRE.test(value)
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const hexRE = /^(#?)([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/
|
|
17
|
+
export function hasHex (value: string) {
|
|
18
|
+
return value && hexRE.test(value)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function parseColor (value: string) {
|
|
22
|
+
const rest = {
|
|
23
|
+
value: '',
|
|
24
|
+
type: '',
|
|
25
|
+
hex: '',
|
|
26
|
+
hexV: '',
|
|
27
|
+
hexA: '',
|
|
28
|
+
r: 0,
|
|
29
|
+
g: 0,
|
|
30
|
+
b: 0,
|
|
31
|
+
a: 1
|
|
32
|
+
}
|
|
33
|
+
if (value) {
|
|
34
|
+
const hexRest = value.match(hexRE)
|
|
35
|
+
if (hexRest) {
|
|
36
|
+
rest.value = value
|
|
37
|
+
rest.type = 'hex'
|
|
38
|
+
rest.hex = value
|
|
39
|
+
rest.hexV = hexRest[2]
|
|
40
|
+
rest.hexA = hexRest[3] || ''
|
|
41
|
+
rest.a = (hexRest[3] ? hexAlphaKeyMaps[hexRest[3].toUpperCase()] : 1) || 1
|
|
42
|
+
}
|
|
43
|
+
const rgbRest = value.match(rgbRE)
|
|
44
|
+
if (rgbRest) {
|
|
45
|
+
rest.value = value
|
|
46
|
+
rest.type = rgbRest[6] ? 'rgba' : 'rgb'
|
|
47
|
+
rest.r = parseInt(rgbRest[2])
|
|
48
|
+
rest.g = parseInt(rgbRest[3])
|
|
49
|
+
rest.b = parseInt(rgbRest[4])
|
|
50
|
+
rest.a = rgbRest[7] ? parseInt(rgbRest[6]) / 100 : (rgbRest[6] ? parseFloat(rgbRest[6]) : 1)
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return rest
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function updateColorAlpha (value: string, alpha: number = 1) {
|
|
57
|
+
const colorRest = parseColor(value)
|
|
58
|
+
const { type, hexV, r, g, b } = colorRest
|
|
59
|
+
if (type === 'rgb' || type === 'rgba') {
|
|
60
|
+
return toRgb(r, g, b, alpha)
|
|
61
|
+
}
|
|
62
|
+
if (type === 'hex') {
|
|
63
|
+
return `#${hexV}${alpha === 1 ? '' : (hexAlphaNumMaps[alpha] || '')}`
|
|
64
|
+
}
|
|
65
|
+
return ''
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function toRgb (r: number, g: number, b: number, a?: number | null) {
|
|
69
|
+
if (XEUtils.eqNull(a)) {
|
|
70
|
+
return `rgb(${r},${g},${b})`
|
|
71
|
+
}
|
|
72
|
+
return `rgba(${r},${g},${b},${a})`
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function rgbToHex (rgbRest: {
|
|
76
|
+
r: number
|
|
77
|
+
g: number
|
|
78
|
+
b: number
|
|
79
|
+
a?: number
|
|
80
|
+
}) {
|
|
81
|
+
if (!rgbRest) {
|
|
82
|
+
return ''
|
|
83
|
+
}
|
|
84
|
+
const { r, g, b, a = 1 } = rgbRest
|
|
85
|
+
const hexR = r.toString(16).padStart(2, '0')
|
|
86
|
+
const hexG = g.toString(16).padStart(2, '0')
|
|
87
|
+
const hexB = b.toString(16).padStart(2, '0')
|
|
88
|
+
const hexA = a === 1 ? '' : (hexAlphaNumMaps[a] || '')
|
|
89
|
+
|
|
90
|
+
// 返回十六进制颜色代码
|
|
91
|
+
return `#${hexR}${hexG}${hexB}${hexA}`.toUpperCase()
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export function rgbToHsv (rgbRest: {
|
|
95
|
+
r: number
|
|
96
|
+
g: number
|
|
97
|
+
b: number
|
|
98
|
+
}) {
|
|
99
|
+
if (!rgbRest) {
|
|
100
|
+
return null
|
|
101
|
+
}
|
|
102
|
+
const { r, g, b } = rgbRest
|
|
103
|
+
const rAbs = r / 255
|
|
104
|
+
const gAbs = g / 255
|
|
105
|
+
const bAbs = b / 255
|
|
106
|
+
let h = 0
|
|
107
|
+
let s = 0
|
|
108
|
+
const val = Math.max(rAbs, gAbs, bAbs)
|
|
109
|
+
const num = val - Math.min(rAbs, gAbs, bAbs)
|
|
110
|
+
const handleDiff = (c: number) => (val - c) / 6 / num + 1 / 2
|
|
111
|
+
if (num === 0) {
|
|
112
|
+
h = s = 0
|
|
113
|
+
} else {
|
|
114
|
+
s = num / val
|
|
115
|
+
const rr = handleDiff(rAbs)
|
|
116
|
+
const gg = handleDiff(gAbs)
|
|
117
|
+
const bb = handleDiff(bAbs)
|
|
118
|
+
|
|
119
|
+
if (rAbs === val) {
|
|
120
|
+
h = bb - gg
|
|
121
|
+
} else if (gAbs === val) {
|
|
122
|
+
h = (1 / 3) + rr - bb
|
|
123
|
+
} else if (bAbs === val) {
|
|
124
|
+
h = (2 / 3) + gg - rr
|
|
125
|
+
}
|
|
126
|
+
if (h < 0) {
|
|
127
|
+
h += 1
|
|
128
|
+
} else if (h > 1) {
|
|
129
|
+
h -= 1
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
h: Math.round(h * 360),
|
|
134
|
+
s: XEUtils.round(s, 2),
|
|
135
|
+
v: XEUtils.round(val, 2)
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export function hsvToRgb (h: number, s: number, v: number) {
|
|
140
|
+
let r = 0
|
|
141
|
+
let g = 0
|
|
142
|
+
let b = 0
|
|
143
|
+
const i = Math.floor(h / 60)
|
|
144
|
+
const f = h / 60 - i
|
|
145
|
+
const p = v * (1 - s)
|
|
146
|
+
const q = v * (1 - f * s)
|
|
147
|
+
const t = v * (1 - (1 - f) * s)
|
|
148
|
+
|
|
149
|
+
switch (i) {
|
|
150
|
+
case 0:
|
|
151
|
+
r = v; g = t; b = p
|
|
152
|
+
break
|
|
153
|
+
case 1:
|
|
154
|
+
r = q; g = v; b = p
|
|
155
|
+
break
|
|
156
|
+
case 2:
|
|
157
|
+
r = p; g = v; b = t
|
|
158
|
+
break
|
|
159
|
+
case 3:
|
|
160
|
+
r = p; g = q; b = v
|
|
161
|
+
break
|
|
162
|
+
case 4:
|
|
163
|
+
r = t; g = p; b = v
|
|
164
|
+
break
|
|
165
|
+
case 5:
|
|
166
|
+
r = v; g = p; b = q
|
|
167
|
+
break
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return {
|
|
171
|
+
r: Math.round(r * 255),
|
|
172
|
+
g: Math.round(g * 255),
|
|
173
|
+
b: Math.round(b * 255)
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export function hexToHsv (str: string) {
|
|
178
|
+
const rgbRest = hexToRgb(str)
|
|
179
|
+
if (rgbRest) {
|
|
180
|
+
return rgbToHsv(rgbRest)
|
|
181
|
+
}
|
|
182
|
+
return null
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export function hexToRgb (str: string) {
|
|
186
|
+
if (str) {
|
|
187
|
+
const rests = str.match(/^(#?)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})?$/)
|
|
188
|
+
if (rests) {
|
|
189
|
+
return {
|
|
190
|
+
r: parseInt(rests[2], 16),
|
|
191
|
+
g: parseInt(rests[3], 16),
|
|
192
|
+
b: parseInt(rests[4], 16),
|
|
193
|
+
a: (rests[5] ? hexAlphaKeyMaps[rests[5].toUpperCase()] : 1) || 1
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return null
|
|
198
|
+
}
|
|
@@ -2,7 +2,7 @@ import { PropType, CreateElement, VNode } from 'vue'
|
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp'
|
|
3
3
|
import XEUtils from 'xe-utils'
|
|
4
4
|
import { getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, globalMixins, renderEmptyElement } from '../../ui'
|
|
5
|
-
import { getFuncText, getLastZIndex, nextZIndex } from '../../ui/src/utils'
|
|
5
|
+
import { getFuncText, getLastZIndex, nextZIndex, eqEmptyValue } from '../../ui/src/utils'
|
|
6
6
|
import { hasClass, getAbsolutePos, getEventTargetNode } from '../../ui/src/dom'
|
|
7
7
|
import { toStringTimeDate, getDateQuarter } from '../../date-picker/src/util'
|
|
8
8
|
import { handleNumber, toFloatValueFixed } from '../../number-input/src/util'
|
|
@@ -42,7 +42,10 @@ export default defineVxeComponent({
|
|
|
42
42
|
type: Boolean as PropType<VxeInputPropTypes.Disabled>,
|
|
43
43
|
default: null
|
|
44
44
|
},
|
|
45
|
-
placeholder:
|
|
45
|
+
placeholder: {
|
|
46
|
+
type: String as PropType<VxeInputPropTypes.Placeholder>,
|
|
47
|
+
default: null
|
|
48
|
+
},
|
|
46
49
|
maxLength: [String, Number] as PropType<VxeInputPropTypes.MaxLength>,
|
|
47
50
|
autoComplete: {
|
|
48
51
|
type: String as PropType<VxeInputPropTypes.AutoComplete>,
|
|
@@ -802,11 +805,14 @@ export default defineVxeComponent({
|
|
|
802
805
|
if (placeholder) {
|
|
803
806
|
return getFuncText(placeholder)
|
|
804
807
|
}
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
+
if (XEUtils.eqNull(placeholder)) {
|
|
809
|
+
const globalPlaceholder = getConfig().input.placeholder
|
|
810
|
+
if (globalPlaceholder) {
|
|
811
|
+
return getFuncText(globalPlaceholder)
|
|
812
|
+
}
|
|
813
|
+
return getI18n('vxe.base.pleaseInput')
|
|
808
814
|
}
|
|
809
|
-
return
|
|
815
|
+
return placeholder
|
|
810
816
|
},
|
|
811
817
|
computeInpImmediate () {
|
|
812
818
|
const $xeInput = this
|
|
@@ -1016,9 +1022,13 @@ export default defineVxeComponent({
|
|
|
1016
1022
|
const $xeInput = this
|
|
1017
1023
|
const reactData = $xeInput.reactData
|
|
1018
1024
|
|
|
1019
|
-
|
|
1025
|
+
const { inputValue } = reactData
|
|
1026
|
+
const isNumType = $xeInput.computeIsNumType
|
|
1020
1027
|
const isDatePickerType = $xeInput.computeIsDatePickerType
|
|
1021
|
-
|
|
1028
|
+
reactData.isActivated = true
|
|
1029
|
+
if (isNumType) {
|
|
1030
|
+
reactData.inputValue = eqEmptyValue(inputValue) ? '' : `${XEUtils.toNumber(inputValue)}`
|
|
1031
|
+
} else if (isDatePickerType) {
|
|
1022
1032
|
$xeInput.datePickerOpenEvent(evnt)
|
|
1023
1033
|
}
|
|
1024
1034
|
$xeInput.triggerEvent(evnt)
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表单名称',
|
|
338
343
|
defFormTitle: '未命名的表单',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表单名称',
|
|
338
343
|
defFormTitle: '未命名的表单',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: 'No Data'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: 'Clear',
|
|
338
|
+
confirm: 'Confirm',
|
|
339
|
+
copySuccess: 'Copied to clipboard: {0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: 'Form name',
|
|
338
343
|
defFormTitle: 'Unnamed form',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: 'Cell',
|
|
526
531
|
value: 'Value'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(Empty)',
|
|
529
538
|
reError: 'Invalid regular expression',
|
|
530
539
|
recordCount: 'Found {0} cells',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: 'No Data'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: 'Form name',
|
|
338
343
|
defFormTitle: 'Unnamed form',
|
|
@@ -529,6 +534,10 @@ export default {
|
|
|
529
534
|
cell: '单元格',
|
|
530
535
|
value: '值'
|
|
531
536
|
},
|
|
537
|
+
body: {
|
|
538
|
+
row: '行:{0}',
|
|
539
|
+
col: '列:{0}'
|
|
540
|
+
},
|
|
532
541
|
empty: '(空值)',
|
|
533
542
|
reError: '无效的正则表达式',
|
|
534
543
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表单名称',
|
|
338
343
|
defFormTitle: '未命名的表单',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: 'forma neve',
|
|
338
343
|
defFormTitle: 'névtelen forma',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: 'sejt',
|
|
526
531
|
value: 'érték'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(null érték)',
|
|
529
538
|
reError: 'Érvénytelen reguláris kifejezés',
|
|
530
539
|
recordCount: '{0} cella található',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表单名称',
|
|
338
343
|
defFormTitle: '未命名的表单',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: 'Form name',
|
|
338
343
|
defFormTitle: 'Unnamed form',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: 'セル',
|
|
526
531
|
value: '値'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空白)',
|
|
529
538
|
reError: '無効な正規表現',
|
|
530
539
|
recordCount: '{0} 個のセルが見つかりました',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表单名称',
|
|
338
343
|
defFormTitle: '未命名的表单',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表单名称',
|
|
338
343
|
defFormTitle: '未命名的表单',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: 'Form name',
|
|
338
343
|
defFormTitle: 'Unnamed form',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: 'имя формы',
|
|
338
343
|
defFormTitle: 'безымянная форма',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: 'клетка',
|
|
526
531
|
value: 'ценить'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(нулевое значение)',
|
|
529
538
|
reError: 'Недопустимое регулярное выражение',
|
|
530
539
|
recordCount: 'Найдено {0} ячеек',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: 'ھازىرچە ئۇچۇر يوق'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: 'جەدۋەل ئىسمى',
|
|
338
343
|
defFormTitle: 'نام قويۇلمىغان جەدىۋەل',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: 'تاق كاتاكچە',
|
|
526
531
|
value: 'قىممىتى'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(قۇرۇق)',
|
|
529
538
|
reError: 'ئۈنۇمسىز لوگىكىلىق شەرىت',
|
|
530
539
|
recordCount: 'تىپىلغىنى {0} دانە ئۇچۇر',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表单名称',
|
|
338
343
|
defFormTitle: '未命名的表单',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表单名称',
|
|
338
343
|
defFormTitle: '未命名的表单',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表單名稱',
|
|
338
343
|
defFormTitle: '未命名的表單',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '單元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '無效的正規表示式',
|
|
530
539
|
recordCount: '已找到 {0} 個單元格',
|
|
@@ -333,6 +333,11 @@ export default {
|
|
|
333
333
|
empty: {
|
|
334
334
|
defText: '暂无数据'
|
|
335
335
|
},
|
|
336
|
+
colorPicker: {
|
|
337
|
+
clear: '清除',
|
|
338
|
+
confirm: '确认',
|
|
339
|
+
copySuccess: '已复制到剪贴板:{0}'
|
|
340
|
+
},
|
|
336
341
|
formDesign: {
|
|
337
342
|
formName: '表单名称',
|
|
338
343
|
defFormTitle: '未命名的表单',
|
|
@@ -525,6 +530,10 @@ export default {
|
|
|
525
530
|
cell: '单元格',
|
|
526
531
|
value: '值'
|
|
527
532
|
},
|
|
533
|
+
body: {
|
|
534
|
+
row: '行:{0}',
|
|
535
|
+
col: '列:{0}'
|
|
536
|
+
},
|
|
528
537
|
empty: '(空值)',
|
|
529
538
|
reError: '无效的正则表达式',
|
|
530
539
|
recordCount: '已找到 {0} 个单元格',
|
|
@@ -401,7 +401,7 @@ export default defineVxeComponent({
|
|
|
401
401
|
const reactData = $xeNumberInput.reactData
|
|
402
402
|
|
|
403
403
|
const inpImmediate = $xeNumberInput.computeInpImmediate
|
|
404
|
-
const value = inputValue ===
|
|
404
|
+
const value = inputValue === eqEmptyValue(inputValue) ? null : XEUtils.toNumber(inputValue)
|
|
405
405
|
reactData.inputValue = inputValue
|
|
406
406
|
if (inpImmediate) {
|
|
407
407
|
$xeNumberInput.handleChange(value, inputValue, evnt)
|
|
@@ -428,6 +428,8 @@ export default defineVxeComponent({
|
|
|
428
428
|
const $xeNumberInput = this
|
|
429
429
|
const reactData = $xeNumberInput.reactData
|
|
430
430
|
|
|
431
|
+
const { inputValue } = reactData
|
|
432
|
+
reactData.inputValue = eqEmptyValue(inputValue) ? '' : `${XEUtils.toNumber(inputValue)}`
|
|
431
433
|
reactData.isFocus = true
|
|
432
434
|
reactData.isActivated = true
|
|
433
435
|
$xeNumberInput.triggerEvent(evnt)
|