sh-tools 2.3.11 → 2.3.12
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 +2 -2
- package/packages/utils/other.js +0 -137
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sh-tools",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.12",
|
|
4
4
|
"description": "基于fetch和xe-utils二次封装,支持宏公式计算",
|
|
5
5
|
"main": "packages/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"author": "神秘的sh",
|
|
14
14
|
"license": "ISC",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"xe-utils": "^
|
|
16
|
+
"xe-utils": "^4.0.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@babel/core": "^7.12.16",
|
package/packages/utils/other.js
CHANGED
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
import XEUtils from 'xe-utils'
|
|
2
|
-
const defaultDateFormat = {
|
|
3
|
-
date: 'yyyy-MM-dd',
|
|
4
|
-
time: 'HH:mm:ss',
|
|
5
|
-
datetime: 'yyyy-MM-dd HH:mm:ss',
|
|
6
|
-
month: 'yyyy-MM',
|
|
7
|
-
week: 'yyyy-MM-dd',
|
|
8
|
-
year: 'yyyy'
|
|
9
|
-
}
|
|
10
|
-
const endStrs = ['Id', '_id']
|
|
11
|
-
const dateReplaceMap = { YYYY: 'yyyy', DD: 'dd', hh: 'HH' }
|
|
12
|
-
|
|
13
1
|
export default {
|
|
14
2
|
ioToFile(io, fileName = 'download', type = 'blob') {
|
|
15
3
|
return new Promise((resolve, reject) => {
|
|
@@ -131,130 +119,5 @@ export default {
|
|
|
131
119
|
let intFixed = intValue.padStart(cnIntRadice.length, ' ')
|
|
132
120
|
let decFixed = decValue.padEnd(cnDecUnits.length, '0')
|
|
133
121
|
return intFixed + '.' + decFixed
|
|
134
|
-
},
|
|
135
|
-
// 封装 系统内对渲染器格式化方法
|
|
136
|
-
formatRender(value, key, rowData, renderName, renderProps, renderContext, editable) {
|
|
137
|
-
// editable: 是否对返回值进行修正 默认 否
|
|
138
|
-
let rvalue, rtext, rname
|
|
139
|
-
let { $vUtils } = renderContext
|
|
140
|
-
let { min, max, digits, type, multiple, split, options, format, range, nodeKey, labelField, openValue, openLabel, closeValue, closeLabel, defaultValue, separator } = renderProps || {}
|
|
141
|
-
let field = key
|
|
142
|
-
if (renderName === '$vRowCell') {
|
|
143
|
-
field = rowData[key + 'field'] || key
|
|
144
|
-
rname = rowData[field + 'RenderName'] || '$vInput'
|
|
145
|
-
} else {
|
|
146
|
-
rname = renderName
|
|
147
|
-
}
|
|
148
|
-
// 对于多选获取数组类型值进行解析 赋值
|
|
149
|
-
let oriArray = []
|
|
150
|
-
// 进行默认赋值 若没有任何解析原数返回
|
|
151
|
-
rvalue = value
|
|
152
|
-
if (!$vUtils.isNone(defaultValue) && $vUtils.isNone(value)) {
|
|
153
|
-
rvalue = defaultValue
|
|
154
|
-
}
|
|
155
|
-
if ($vUtils.isString(rvalue)) {
|
|
156
|
-
rvalue = $vUtils.replaceNutrim(rvalue)
|
|
157
|
-
}
|
|
158
|
-
// 自定渲染器进行解析与重新赋值
|
|
159
|
-
switch (rname) {
|
|
160
|
-
case '$vInput':
|
|
161
|
-
rtext = format ? $vUtils.format(format, rowData) : rvalue
|
|
162
|
-
break
|
|
163
|
-
case '$vNumber':
|
|
164
|
-
case '$vMoney':
|
|
165
|
-
if (editable && !$vUtils.isNone(value)) {
|
|
166
|
-
if ($vUtils.isNumber(+max) && +value > +max) {
|
|
167
|
-
value = +max
|
|
168
|
-
} else if ($vUtils.isNumber(+min) && +value < +min) {
|
|
169
|
-
value = +min
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
if (!$vUtils.isNone(value) && type === 'integer') {
|
|
173
|
-
rvalue = $vUtils.toInteger(value)
|
|
174
|
-
} else if (!$vUtils.isNone(value)) {
|
|
175
|
-
rvalue = $vUtils.truncate(value, digits)
|
|
176
|
-
}
|
|
177
|
-
rtext = rvalue
|
|
178
|
-
break
|
|
179
|
-
case '$vTime':
|
|
180
|
-
format = format ? format.replace(dateReplaceMap, match => dateReplaceMap[match]) : defaultDateFormat[type]
|
|
181
|
-
if ($vUtils.isNumber(value)) value = String(value)
|
|
182
|
-
if (range && Array.isArray(value) && format) {
|
|
183
|
-
rvalue = value.map(item => $vUtils.toDateString(item || '', format))
|
|
184
|
-
rtext = rvalue.join(separator)
|
|
185
|
-
} else if (!$vUtils.isNone(value) && format) {
|
|
186
|
-
rvalue = $vUtils.toDateString(value, format)
|
|
187
|
-
rtext = rvalue
|
|
188
|
-
} else {
|
|
189
|
-
rtext = rvalue
|
|
190
|
-
}
|
|
191
|
-
break
|
|
192
|
-
case '$vSelect':
|
|
193
|
-
case '$vCheckgroup':
|
|
194
|
-
case '$vRadiogroup':
|
|
195
|
-
case '$vUpload':
|
|
196
|
-
case '$vTree':
|
|
197
|
-
let prefixKey = key
|
|
198
|
-
for (const end of endStrs) {
|
|
199
|
-
if (String(key).endsWith(end)) {
|
|
200
|
-
prefixKey = key.replace(end, '')
|
|
201
|
-
break
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
let isMutiple = multiple || ['$vCheckgroup', '$vUpload'].includes(rname)
|
|
205
|
-
let optionValue = 'value'
|
|
206
|
-
let optionLabel = 'label'
|
|
207
|
-
let hasOptions = options && options.length > 0
|
|
208
|
-
if (rname === '$vTree') {
|
|
209
|
-
optionValue = nodeKey || 'id'
|
|
210
|
-
if (labelField) optionLabel = labelField
|
|
211
|
-
}
|
|
212
|
-
if (isMutiple) {
|
|
213
|
-
if (Array.isArray(value)) {
|
|
214
|
-
oriArray = value
|
|
215
|
-
} else if (!$vUtils.isNone(value)) {
|
|
216
|
-
oriArray = String(value).split(split)
|
|
217
|
-
}
|
|
218
|
-
oriArray = oriArray.filter(item => !$vUtils.isNone(item))
|
|
219
|
-
if (hasOptions) {
|
|
220
|
-
let rns = oriArray.map(orv => {
|
|
221
|
-
let valueOption = options.find(option => $vUtils.isEqual(option[optionValue], orv))
|
|
222
|
-
return valueOption ? valueOption[optionLabel] : ''
|
|
223
|
-
})
|
|
224
|
-
rtext = rns.join(split)
|
|
225
|
-
} else {
|
|
226
|
-
rtext = oriArray.join(split)
|
|
227
|
-
}
|
|
228
|
-
rvalue = oriArray
|
|
229
|
-
} else {
|
|
230
|
-
if (hasOptions) {
|
|
231
|
-
let valueOption = options.find(option => $vUtils.isEqual(option[optionValue], value))
|
|
232
|
-
rtext = valueOption ? valueOption[optionLabel] : ''
|
|
233
|
-
} else {
|
|
234
|
-
rtext = rvalue
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
if (format) {
|
|
238
|
-
let dataformat = format.replace(/@/gi, prefixKey)
|
|
239
|
-
rtext = $vUtils.format(dataformat, rowData)
|
|
240
|
-
}
|
|
241
|
-
break
|
|
242
|
-
case '$vProgress':
|
|
243
|
-
if (!$vUtils.isNone(value)) {
|
|
244
|
-
rvalue = $vUtils.truncate(value, digits)
|
|
245
|
-
}
|
|
246
|
-
rtext = rvalue
|
|
247
|
-
break
|
|
248
|
-
case '$vSwitch':
|
|
249
|
-
if ($vUtils.isEqual(value, openValue)) {
|
|
250
|
-
rtext = openLabel
|
|
251
|
-
} else if ($vUtils.isEqual(value, closeValue)) {
|
|
252
|
-
rtext = closeLabel
|
|
253
|
-
}
|
|
254
|
-
break
|
|
255
|
-
default:
|
|
256
|
-
rtext = rvalue
|
|
257
|
-
}
|
|
258
|
-
return { rvalue, rtext, rname }
|
|
259
122
|
}
|
|
260
123
|
}
|