mali-applet-ui 0.0.41 → 0.0.42
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/components/ml-upload/ml-upload.vue +31 -4
- package/config/index.js +9 -0
- package/config/store.js +22 -0
- package/index.js +11 -4
- package/package.json +2 -1
- package/utils/date.js +19 -0
- package/utils/file.js +21 -0
- package/utils/index.js +3 -157
- package/utils/number.js +139 -0
|
@@ -166,19 +166,46 @@ export default {
|
|
|
166
166
|
title: "上传中..."
|
|
167
167
|
});
|
|
168
168
|
const uploadMethod = this.uploadFile ? this.uploadFile : (globalStore.upload ? globalStore.upload.uploadFile : null)
|
|
169
|
-
|
|
169
|
+
Promise.all(
|
|
170
170
|
tempFiles.map(file => {
|
|
171
|
+
const fileSuffix = this.getSuffix(file.name)
|
|
171
172
|
if (uploadMethod) {
|
|
172
173
|
return Promise.resolve(
|
|
173
174
|
uploadMethod({
|
|
174
175
|
file,
|
|
175
176
|
params: this.params
|
|
176
177
|
})
|
|
177
|
-
)
|
|
178
|
+
).then(res => {
|
|
179
|
+
const item = {
|
|
180
|
+
...res,
|
|
181
|
+
[this.nameField]: res[this.nameField] || file.name,
|
|
182
|
+
[this.typeField]: res[this.typeField] || fileSuffix,
|
|
183
|
+
tempPath: file.path
|
|
184
|
+
}
|
|
185
|
+
this.selectUniFileList.push(file)
|
|
186
|
+
this.fileList.push(item)
|
|
187
|
+
this.isUpdate = true
|
|
188
|
+
this.updateModel()
|
|
189
|
+
})
|
|
190
|
+
} else {
|
|
191
|
+
const item = {
|
|
192
|
+
[this.nameField]: file.name,
|
|
193
|
+
[this.typeField]: file.extname,
|
|
194
|
+
[this.urlField]: file.path,
|
|
195
|
+
tempPath: file.path
|
|
196
|
+
}
|
|
197
|
+
this.selectUniFileList.push(file)
|
|
198
|
+
this.fileList.push(item)
|
|
199
|
+
this.isUpdate = true
|
|
200
|
+
this.updateModel()
|
|
178
201
|
}
|
|
179
202
|
})
|
|
180
|
-
)
|
|
181
|
-
|
|
203
|
+
).then(res => {
|
|
204
|
+
uni.hideLoading();
|
|
205
|
+
}).catch(() => {
|
|
206
|
+
console.error(e)
|
|
207
|
+
uni.hideLoading();
|
|
208
|
+
})
|
|
182
209
|
},
|
|
183
210
|
removeEvent (e) {
|
|
184
211
|
const { tempFilePath } = e
|
package/config/index.js
ADDED
package/config/store.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const globalStore = {
|
|
2
|
+
// 上传组件
|
|
3
|
+
upload: {
|
|
4
|
+
// fileProps: {
|
|
5
|
+
// fileUrl: 'fileUrl', // 文件地址
|
|
6
|
+
// fileType: 'fileType', // 文件类型
|
|
7
|
+
// fileName: 'fileName' // 文件名
|
|
8
|
+
// },
|
|
9
|
+
// 获取附件缩略图方法
|
|
10
|
+
getThumbnailFileUrl: null,
|
|
11
|
+
// 获取附件路径方法
|
|
12
|
+
getFileUrl: null,
|
|
13
|
+
// 上传附件方法
|
|
14
|
+
uploadFile: null,
|
|
15
|
+
// 下载附件方法
|
|
16
|
+
downloadFile: null,
|
|
17
|
+
// 删除附件方法
|
|
18
|
+
removeFile: null
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default globalStore
|
package/index.js
CHANGED
package/package.json
CHANGED
package/utils/date.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 格式化日期
|
|
5
|
+
* @param {*} date
|
|
6
|
+
* @param {*} format
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function toDateString (date, format = 'yyyy-MM-dd HH:mm:ss') {
|
|
10
|
+
return XEUtils.toDateString(date, format.replace('YYYY', 'yyyy').replace('DD', 'dd'))
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 字符串转日期
|
|
15
|
+
* @param {*} value
|
|
16
|
+
*/
|
|
17
|
+
export function toStringDate (value) {
|
|
18
|
+
return XEUtils.toStringDate(value)
|
|
19
|
+
}
|
package/utils/file.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 下载文件
|
|
3
|
+
* @param {*} url
|
|
4
|
+
* @param {*} name
|
|
5
|
+
*/
|
|
6
|
+
export function saveFileByUrl (url, name) {
|
|
7
|
+
uni.downloadFile({
|
|
8
|
+
url,
|
|
9
|
+
success: (downRes) => {
|
|
10
|
+
uni.saveFile({
|
|
11
|
+
tempFilePath: downRes.tempFilePath,
|
|
12
|
+
success (res) {
|
|
13
|
+
uni.showModal({
|
|
14
|
+
title: '保存成功',
|
|
15
|
+
content: '路径:' + res.savedFilePath
|
|
16
|
+
})
|
|
17
|
+
}
|
|
18
|
+
})
|
|
19
|
+
}
|
|
20
|
+
})
|
|
21
|
+
}
|
package/utils/index.js
CHANGED
|
@@ -1,157 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* 格式化日期
|
|
5
|
-
* @param {*} date
|
|
6
|
-
* @param {*} format
|
|
7
|
-
* @returns
|
|
8
|
-
*/
|
|
9
|
-
export function toDateString (date, format = 'yyyy-MM-dd HH:mm:ss') {
|
|
10
|
-
return XEUtils.toDateString(date, format.replace('YYYY', 'yyyy').replace('DD', 'dd'))
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* 字符串转日期
|
|
15
|
-
* @param {*} value
|
|
16
|
-
*/
|
|
17
|
-
export function toStringDate (value) {
|
|
18
|
-
return XEUtils.toStringDate(value)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* 金额转成中文
|
|
23
|
-
* @param {*} money
|
|
24
|
-
* @returns
|
|
25
|
-
*/
|
|
26
|
-
export function toNumMoneyToChinese (money) {
|
|
27
|
-
const cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'] // 汉字的数字
|
|
28
|
-
const cnIntRadice = ['', '拾', '佰', '仟'] // 基本单位
|
|
29
|
-
const cnIntUnits = ['', '万', '亿', '兆'] // 对应整数部分扩展单位
|
|
30
|
-
const cnDecUnits = ['角', '分', '毫', '厘'] // 对应小数部分单位
|
|
31
|
-
const cnInteger = '整' // 整数金额时后面跟的字符
|
|
32
|
-
const cnIntLast = '元' // 整型完以后的单位
|
|
33
|
-
const maxNum = 999999999999999 // 最大处理的数字
|
|
34
|
-
let IntegerNum // 金额整数部分
|
|
35
|
-
let DecimalNum // 金额小数部分
|
|
36
|
-
let ChineseStr = '' // 输出的中文金额字符串
|
|
37
|
-
let parts // 分离金额后用的数组,预定义
|
|
38
|
-
let Symbol = '' // 正负值标记
|
|
39
|
-
if (money === '') {
|
|
40
|
-
return ''
|
|
41
|
-
}
|
|
42
|
-
money = parseFloat(money)
|
|
43
|
-
if (money >= maxNum) {
|
|
44
|
-
return ''
|
|
45
|
-
}
|
|
46
|
-
if (money === 0) {
|
|
47
|
-
ChineseStr = cnNums[0] + cnIntLast + cnInteger
|
|
48
|
-
return ChineseStr
|
|
49
|
-
}
|
|
50
|
-
if (money < 0) {
|
|
51
|
-
money = -money
|
|
52
|
-
Symbol = '负 '
|
|
53
|
-
}
|
|
54
|
-
money = money.toString() // 转换为字符串
|
|
55
|
-
if (money.indexOf('.') === -1) {
|
|
56
|
-
IntegerNum = money
|
|
57
|
-
DecimalNum = ''
|
|
58
|
-
} else {
|
|
59
|
-
parts = money.split('.')
|
|
60
|
-
IntegerNum = parts[0]
|
|
61
|
-
DecimalNum = parts[1].substr(0, 4)
|
|
62
|
-
}
|
|
63
|
-
if (parseInt(IntegerNum, 10) > 0) { // 获取整型部分转换
|
|
64
|
-
let zeroCount = 0
|
|
65
|
-
const IntLen = IntegerNum.length
|
|
66
|
-
for (let i = 0; i < IntLen; i++) {
|
|
67
|
-
const n = IntegerNum.substr(i, 1)
|
|
68
|
-
const p = IntLen - i - 1
|
|
69
|
-
const q = p / 4
|
|
70
|
-
const m = p % 4
|
|
71
|
-
if (n === '0') {
|
|
72
|
-
zeroCount++
|
|
73
|
-
} else {
|
|
74
|
-
if (zeroCount > 0) {
|
|
75
|
-
ChineseStr += cnNums[0]
|
|
76
|
-
}
|
|
77
|
-
zeroCount = 0 // 归零
|
|
78
|
-
ChineseStr += cnNums[parseInt(n)] + cnIntRadice[m]
|
|
79
|
-
}
|
|
80
|
-
if (m === 0 && zeroCount < 4) {
|
|
81
|
-
ChineseStr += cnIntUnits[q]
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
ChineseStr += cnIntLast
|
|
85
|
-
// 整型部分处理完毕
|
|
86
|
-
}
|
|
87
|
-
if (DecimalNum !== '') { // 小数部分
|
|
88
|
-
const decLen = DecimalNum.length
|
|
89
|
-
for (let i = 0; i < decLen; i++) {
|
|
90
|
-
const n = DecimalNum.substr(i, 1)
|
|
91
|
-
if (n !== '0') {
|
|
92
|
-
ChineseStr += cnNums[Number(n)] + cnDecUnits[i]
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
if (ChineseStr === '') {
|
|
97
|
-
ChineseStr += cnNums[0] + cnIntLast + cnInteger
|
|
98
|
-
} else if (DecimalNum === '') {
|
|
99
|
-
ChineseStr += cnInteger
|
|
100
|
-
}
|
|
101
|
-
ChineseStr = Symbol + ChineseStr
|
|
102
|
-
|
|
103
|
-
return ChineseStr
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* 格式化为金额
|
|
108
|
-
* @param {*} value
|
|
109
|
-
* @param {*} fixed
|
|
110
|
-
*/
|
|
111
|
-
export function toAmountString (value, fixed = 2) {
|
|
112
|
-
return XEUtils.commafy(XEUtils.round(value, fixed), { digits: fixed })
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* 格式化为万元单位
|
|
117
|
-
* @param {*} value
|
|
118
|
-
* @returns
|
|
119
|
-
*/
|
|
120
|
-
export function toWanAmountString (value, fixed = 2) {
|
|
121
|
-
return XEUtils.commafy(XEUtils.floor(value ? value / 10000 : 0, fixed), { digits: fixed })
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* 四舍五入
|
|
126
|
-
*/
|
|
127
|
-
export function round (num, fixed) {
|
|
128
|
-
return XEUtils.round(num, fixed)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* 加法
|
|
133
|
-
*/
|
|
134
|
-
export function add (num1, num2) {
|
|
135
|
-
return XEUtils.add(num1, num2)
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* 减法
|
|
140
|
-
*/
|
|
141
|
-
export function subtract (num1, num2) {
|
|
142
|
-
return XEUtils.subtract(num1, num2)
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* 乘法
|
|
147
|
-
*/
|
|
148
|
-
export function multiply (num1, num2) {
|
|
149
|
-
return XEUtils.multiply(num1, num2)
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* 除法
|
|
154
|
-
*/
|
|
155
|
-
export function divide (num1, num2) {
|
|
156
|
-
return XEUtils.divide(num1, num2)
|
|
157
|
-
}
|
|
1
|
+
export * from './date'
|
|
2
|
+
export * from './number'
|
|
3
|
+
export * from './file'
|
package/utils/number.js
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 金额转成中文
|
|
5
|
+
* @param {*} money
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export function toNumMoneyToChinese (money) {
|
|
9
|
+
const cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'] // 汉字的数字
|
|
10
|
+
const cnIntRadice = ['', '拾', '佰', '仟'] // 基本单位
|
|
11
|
+
const cnIntUnits = ['', '万', '亿', '兆'] // 对应整数部分扩展单位
|
|
12
|
+
const cnDecUnits = ['角', '分', '毫', '厘'] // 对应小数部分单位
|
|
13
|
+
const cnInteger = '整' // 整数金额时后面跟的字符
|
|
14
|
+
const cnIntLast = '元' // 整型完以后的单位
|
|
15
|
+
const maxNum = 999999999999999 // 最大处理的数字
|
|
16
|
+
let IntegerNum // 金额整数部分
|
|
17
|
+
let DecimalNum // 金额小数部分
|
|
18
|
+
let ChineseStr = '' // 输出的中文金额字符串
|
|
19
|
+
let parts // 分离金额后用的数组,预定义
|
|
20
|
+
let Symbol = '' // 正负值标记
|
|
21
|
+
if (money === '') {
|
|
22
|
+
return ''
|
|
23
|
+
}
|
|
24
|
+
money = parseFloat(money)
|
|
25
|
+
if (money >= maxNum) {
|
|
26
|
+
return ''
|
|
27
|
+
}
|
|
28
|
+
if (money === 0) {
|
|
29
|
+
ChineseStr = cnNums[0] + cnIntLast + cnInteger
|
|
30
|
+
return ChineseStr
|
|
31
|
+
}
|
|
32
|
+
if (money < 0) {
|
|
33
|
+
money = -money
|
|
34
|
+
Symbol = '负 '
|
|
35
|
+
}
|
|
36
|
+
money = money.toString() // 转换为字符串
|
|
37
|
+
if (money.indexOf('.') === -1) {
|
|
38
|
+
IntegerNum = money
|
|
39
|
+
DecimalNum = ''
|
|
40
|
+
} else {
|
|
41
|
+
parts = money.split('.')
|
|
42
|
+
IntegerNum = parts[0]
|
|
43
|
+
DecimalNum = parts[1].substr(0, 4)
|
|
44
|
+
}
|
|
45
|
+
if (parseInt(IntegerNum, 10) > 0) { // 获取整型部分转换
|
|
46
|
+
let zeroCount = 0
|
|
47
|
+
const IntLen = IntegerNum.length
|
|
48
|
+
for (let i = 0; i < IntLen; i++) {
|
|
49
|
+
const n = IntegerNum.substr(i, 1)
|
|
50
|
+
const p = IntLen - i - 1
|
|
51
|
+
const q = p / 4
|
|
52
|
+
const m = p % 4
|
|
53
|
+
if (n === '0') {
|
|
54
|
+
zeroCount++
|
|
55
|
+
} else {
|
|
56
|
+
if (zeroCount > 0) {
|
|
57
|
+
ChineseStr += cnNums[0]
|
|
58
|
+
}
|
|
59
|
+
zeroCount = 0 // 归零
|
|
60
|
+
ChineseStr += cnNums[parseInt(n)] + cnIntRadice[m]
|
|
61
|
+
}
|
|
62
|
+
if (m === 0 && zeroCount < 4) {
|
|
63
|
+
ChineseStr += cnIntUnits[q]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
ChineseStr += cnIntLast
|
|
67
|
+
// 整型部分处理完毕
|
|
68
|
+
}
|
|
69
|
+
if (DecimalNum !== '') { // 小数部分
|
|
70
|
+
const decLen = DecimalNum.length
|
|
71
|
+
for (let i = 0; i < decLen; i++) {
|
|
72
|
+
const n = DecimalNum.substr(i, 1)
|
|
73
|
+
if (n !== '0') {
|
|
74
|
+
ChineseStr += cnNums[Number(n)] + cnDecUnits[i]
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (ChineseStr === '') {
|
|
79
|
+
ChineseStr += cnNums[0] + cnIntLast + cnInteger
|
|
80
|
+
} else if (DecimalNum === '') {
|
|
81
|
+
ChineseStr += cnInteger
|
|
82
|
+
}
|
|
83
|
+
ChineseStr = Symbol + ChineseStr
|
|
84
|
+
|
|
85
|
+
return ChineseStr
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* 格式化为金额
|
|
90
|
+
* @param {*} value
|
|
91
|
+
* @param {*} fixed
|
|
92
|
+
*/
|
|
93
|
+
export function toAmountString (value, fixed = 2) {
|
|
94
|
+
return XEUtils.commafy(XEUtils.round(value, fixed), { digits: fixed })
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* 格式化为万元单位
|
|
99
|
+
* @param {*} value
|
|
100
|
+
* @returns
|
|
101
|
+
*/
|
|
102
|
+
export function toWanAmountString (value, fixed = 2) {
|
|
103
|
+
return XEUtils.commafy(XEUtils.floor(value ? value / 10000 : 0, fixed), { digits: fixed })
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* 四舍五入
|
|
108
|
+
*/
|
|
109
|
+
export function round (num, fixed) {
|
|
110
|
+
return XEUtils.round(num, fixed)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* 加法
|
|
115
|
+
*/
|
|
116
|
+
export function add (num1, num2) {
|
|
117
|
+
return XEUtils.add(num1, num2)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* 减法
|
|
122
|
+
*/
|
|
123
|
+
export function subtract (num1, num2) {
|
|
124
|
+
return XEUtils.subtract(num1, num2)
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* 乘法
|
|
129
|
+
*/
|
|
130
|
+
export function multiply (num1, num2) {
|
|
131
|
+
return XEUtils.multiply(num1, num2)
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* 除法
|
|
136
|
+
*/
|
|
137
|
+
export function divide (num1, num2) {
|
|
138
|
+
return XEUtils.divide(num1, num2)
|
|
139
|
+
}
|