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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sh-tools",
3
- "version": "2.3.11",
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": "^3.8.4"
16
+ "xe-utils": "^4.0.0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@babel/core": "^7.12.16",
@@ -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
  }