diff --git a/yxt-as-ui/src/views/additionitem/additionitem.vue b/yxt-as-ui/src/views/additionitem/additionitem.vue
index 404706d8a0..b60aeac134 100644
--- a/yxt-as-ui/src/views/additionitem/additionitem.vue
+++ b/yxt-as-ui/src/views/additionitem/additionitem.vue
@@ -70,13 +70,13 @@
排序
-
+
销售价
-
+
成本
@@ -245,6 +245,24 @@ export default {
toAdd() {
this.dialogVisible = true
},
+ getNumber(val, limit) {
+ val = val.replace(/[^0-9.]/g, '') // 保留数字
+ val = val.replace(/^00/, '0.') // 开头不能有两个0
+ val = val.replace(/^\./g, '0.') // 开头为小数点转换为0.
+ val = val.replace(/\.{2,}/g, '.') // 两个以上的小数点转换成一个
+ val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.'); // 只保留一个小数点
+ /^0\d+/.test(val) ? val = val.slice(1) : '' // 两位以上数字开头不能为0
+ const str = '^(\\d+)\\.(\\d{' + limit + '}).*$'
+ const reg = new RegExp(str)
+ if (limit === 0) {
+ // 不需要小数点
+ val = val.replace(reg, '$1')
+ } else {
+ // 通过正则保留小数点后指定的位数
+ val = val.replace(reg, '$1.$2')
+ }
+ return val
+ },
toEdit(row) {
this.dialogVisible = true
req.fetchBySid(row.sid).then((res) => {