n20-common-lib 1.3.30 → 1.3.31
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/package.json
CHANGED
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
:value="valueNum"
|
|
21
21
|
:placeholder="phd"
|
|
22
22
|
v-on="listeners"
|
|
23
|
+
@input.native="inputFn"
|
|
23
24
|
@blur="blurFn"
|
|
24
25
|
@change="changeFn"
|
|
25
26
|
/>
|
|
@@ -97,6 +98,7 @@ export default {
|
|
|
97
98
|
if (val && typeof val === 'string' && val.includes(',')) {
|
|
98
99
|
return this.$emit('input', Number(val.replace(/,/g, '')))
|
|
99
100
|
}
|
|
101
|
+
this.preValue = val
|
|
100
102
|
this.valueStr = this.num2str(val)
|
|
101
103
|
},
|
|
102
104
|
immediate: true
|
|
@@ -164,6 +166,13 @@ export default {
|
|
|
164
166
|
}
|
|
165
167
|
break
|
|
166
168
|
}
|
|
169
|
+
},
|
|
170
|
+
inputFn({ target }) {
|
|
171
|
+
if (isNaN(target.value)) {
|
|
172
|
+
target.value = this.preValue
|
|
173
|
+
} else {
|
|
174
|
+
this.preValue = target.value
|
|
175
|
+
}
|
|
167
176
|
}
|
|
168
177
|
}
|
|
169
178
|
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import numerify from 'numerify'
|
|
2
|
+
import dayjs from 'dayjs'
|
|
3
|
+
|
|
4
|
+
function tplFn(row, sc, mck, map = {}) {
|
|
5
|
+
let str = ''
|
|
6
|
+
sc.forEach((s, i) => {
|
|
7
|
+
str += s
|
|
8
|
+
let kA = mck[i]
|
|
9
|
+
if (kA && kA.length) {
|
|
10
|
+
let key = kA[0]
|
|
11
|
+
if (kA.length === 1) {
|
|
12
|
+
str += row[key]
|
|
13
|
+
} else {
|
|
14
|
+
let type = kA[1]
|
|
15
|
+
switch (type) {
|
|
16
|
+
case 'money':
|
|
17
|
+
str += numerify(row[key], '0,0.00')
|
|
18
|
+
break
|
|
19
|
+
case 'rate':
|
|
20
|
+
str += numerify(row[key], '0.000000')
|
|
21
|
+
break
|
|
22
|
+
case 'map':
|
|
23
|
+
str += map[row[key]]
|
|
24
|
+
break
|
|
25
|
+
case 'date':
|
|
26
|
+
str += dayjs(row[key]).format('YYYY-MM-DD')
|
|
27
|
+
break
|
|
28
|
+
case 'datetime':
|
|
29
|
+
str += dayjs(row[key]).format('YYYY-MM-DD HH:mm:ss')
|
|
30
|
+
break
|
|
31
|
+
case 'time':
|
|
32
|
+
str += dayjs(row[key]).format('HH:mm:ss')
|
|
33
|
+
break
|
|
34
|
+
default:
|
|
35
|
+
str += row[key]
|
|
36
|
+
break
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
return str
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function colfF(colf, map) {
|
|
45
|
+
if (typeof colf !== 'string') return colf
|
|
46
|
+
let sc = colf.split(/{.+?}/g) || []
|
|
47
|
+
let mc = colf.match(/{.+?}/g) || []
|
|
48
|
+
let mck = []
|
|
49
|
+
mc.forEach((t) => {
|
|
50
|
+
t = t.replace(/^{|\s+|}$/g, '').split('|')
|
|
51
|
+
mck.push(t)
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
return (row) => tplFn(row, sc, mck, map)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function colftF(colft, fMap) {
|
|
58
|
+
if (typeof colft !== 'string') return colft
|
|
59
|
+
return fMap[colft]
|
|
60
|
+
}
|
|
@@ -39,9 +39,22 @@
|
|
|
39
39
|
</template>
|
|
40
40
|
|
|
41
41
|
<script>
|
|
42
|
-
import numerify from 'numerify'
|
|
43
|
-
import dayjs from 'dayjs'
|
|
44
42
|
import thSelectHeader from './ThSelectHeader.vue'
|
|
43
|
+
import { colfF, colftF } from './filters'
|
|
44
|
+
|
|
45
|
+
const columnRender = {
|
|
46
|
+
props: {
|
|
47
|
+
cRender: {
|
|
48
|
+
type: Function
|
|
49
|
+
},
|
|
50
|
+
row: {
|
|
51
|
+
type: Object
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
render(h) {
|
|
55
|
+
return this.cRender(h, this.row)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
45
58
|
|
|
46
59
|
export default {
|
|
47
60
|
name: 'Table',
|
|
@@ -120,75 +133,4 @@ export default {
|
|
|
120
133
|
}
|
|
121
134
|
}
|
|
122
135
|
}
|
|
123
|
-
|
|
124
|
-
const columnRender = {
|
|
125
|
-
props: {
|
|
126
|
-
cRender: {
|
|
127
|
-
type: Function
|
|
128
|
-
},
|
|
129
|
-
row: {
|
|
130
|
-
type: Object
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
render(h) {
|
|
134
|
-
return this.cRender(h, this.row)
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
function colfF(colf, map) {
|
|
139
|
-
if (typeof colf !== 'string') return colf
|
|
140
|
-
let sc = colf.split(/{.+?}/g) || []
|
|
141
|
-
let mc = colf.match(/{.+?}/g) || []
|
|
142
|
-
let mck = []
|
|
143
|
-
mc.forEach((t) => {
|
|
144
|
-
t = t.replace(/^{|\s+|}$/g, '').split('|')
|
|
145
|
-
mck.push(t)
|
|
146
|
-
})
|
|
147
|
-
|
|
148
|
-
return (row) => tplFn(row, sc, mck, map)
|
|
149
|
-
}
|
|
150
|
-
function tplFn(row, sc, mck, map = {}) {
|
|
151
|
-
let str = ''
|
|
152
|
-
sc.forEach((s, i) => {
|
|
153
|
-
str += s
|
|
154
|
-
let kA = mck[i]
|
|
155
|
-
if (kA && kA.length) {
|
|
156
|
-
let key = kA[0]
|
|
157
|
-
if (kA.length === 1) {
|
|
158
|
-
str += row[key]
|
|
159
|
-
} else {
|
|
160
|
-
let type = kA[1]
|
|
161
|
-
switch (type) {
|
|
162
|
-
case 'money':
|
|
163
|
-
str += numerify(row[key], '0,0.00')
|
|
164
|
-
break
|
|
165
|
-
case 'rate':
|
|
166
|
-
str += numerify(row[key], '0.000000')
|
|
167
|
-
break
|
|
168
|
-
case 'map':
|
|
169
|
-
str += map[row[key]]
|
|
170
|
-
break
|
|
171
|
-
case 'date':
|
|
172
|
-
str += dayjs(row[key]).format('YYYY-MM-DD')
|
|
173
|
-
break
|
|
174
|
-
case 'datetime':
|
|
175
|
-
str += dayjs(row[key]).format('YYYY-MM-DD HH:mm:ss')
|
|
176
|
-
break
|
|
177
|
-
case 'time':
|
|
178
|
-
str += dayjs(row[key]).format('HH:mm:ss')
|
|
179
|
-
break
|
|
180
|
-
default:
|
|
181
|
-
str += row[key]
|
|
182
|
-
break
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
})
|
|
187
|
-
return str
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
function colftF(colft, fMap) {
|
|
191
|
-
if (typeof colft !== 'string') return colft
|
|
192
|
-
return fMap[colft]
|
|
193
|
-
}
|
|
194
136
|
</script>
|