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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "1.3.30",
3
+ "version": "1.3.31",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -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>