From 0f9f89a293e2017a4960fc7105f4edf2f47b0437 Mon Sep 17 00:00:00 2001
From: chuan <2256222053@qq.com>
Date: Tue, 28 Dec 2021 11:59:49 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8D=E5=95=86=E5=93=81?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E9=83=A8=E5=88=86bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
修复商品api错误
修复elementui-plus的el-cascader组件属性绑定错误
data属性名更名为state
utils添加过滤器工具类
onBeforeMount钩子函数更改为onMounted
---
src/api/pms/category.ts | 8 ++--
src/api/pms/goods.ts | 12 ++---
src/utils/filter.ts | 76 ++++++++++++++++++++++++++++++
src/views/pms/goods/index.vue | 89 ++++++++++++++++++-----------------
4 files changed, 131 insertions(+), 54 deletions(-)
create mode 100644 src/utils/filter.ts
diff --git a/src/api/pms/category.ts b/src/api/pms/category.ts
index b79a2d75..1cecce2c 100644
--- a/src/api/pms/category.ts
+++ b/src/api/pms/category.ts
@@ -1,6 +1,6 @@
import request from "@utils/request";
-export function list(queryParams:object) {
+export const list=(queryParams:object)=>{
return request({
url: '/mall-pms/api/v1/categories',
method: 'get',
@@ -8,7 +8,7 @@ export function list(queryParams:object) {
})
}
-export function cascadeList(queryParams:object) {
+export const cascadeList=(queryParams:object)=> {
return request({
url: '/mall-pms/api/v1/categories/cascade',
method: 'get',
@@ -18,14 +18,14 @@ export function cascadeList(queryParams:object) {
-export function detail(id:number) {
+export const detail=(id:number)=> {
return request({
url: '/mall-pms/api/v1/categories/' + id,
method: 'get'
})
}
-export function add(data:object) {
+export const add=(data:object)=> {
return request({
url: '/mall-pms/api/v1/categories',
method: 'post',
diff --git a/src/api/pms/goods.ts b/src/api/pms/goods.ts
index d3551b00..7bd0af88 100644
--- a/src/api/pms/goods.ts
+++ b/src/api/pms/goods.ts
@@ -1,5 +1,5 @@
import request from '@/utils/request'
-export function page(queryParams:object) {
+export const page = (queryParams:object)=> {
return request({
url: '/mall-pms/api/v1/goods/page',
method: 'get',
@@ -7,14 +7,14 @@ export function page(queryParams:object) {
})
}
-export function detail(id:number) {
+export const detail=(id:number)=> {
return request({
url: '/mall-pms/api/v1/goods/' + id,
method: 'get'
})
}
-export function addGoods(data:object) {
+export const addGoods=(data:object)=> {
return request({
url: '/mall-pms/api/v1/goods',
method: 'post',
@@ -22,7 +22,7 @@ export function addGoods(data:object) {
})
}
-export function updateGoods(id:number, data:object) {
+export const updateGoods=(id:number, data:object)=> {
return request({
url: '/mall-pms/api/v1/goods/' + id,
method: 'put',
@@ -30,14 +30,14 @@ export function updateGoods(id:number, data:object) {
})
}
-export function removeGoods(ids:string) {
+export const removeGoods=(ids:string)=> {
return request({
url: '/mall-pms/api/v1/goods/'+ids,
method: 'delete'
})
}
-export function patch(id:number, data:object) {
+export const patch=(id:number, data:object)=> {
return request({
url: '/mall-pms/api/v1/goods/' + id,
method: 'patch',
diff --git a/src/utils/filter.ts b/src/utils/filter.ts
new file mode 100644
index 00000000..b5c9871b
--- /dev/null
+++ b/src/utils/filter.ts
@@ -0,0 +1,76 @@
+
+/**
+ * Show plural label if time is plural number
+ * @param {number} time
+ * @param {string} label
+ * @return {string}
+ */
+function pluralize(time:number, label:string) {
+ if (time === 1) {
+ return time + label
+ }
+ return time + label + 's'
+}
+
+/**
+ * @param {number} time
+ */
+export function timeAgo(time:number) {
+ const between = Date.now() / 1000 - Number(time)
+ if (between < 3600) {
+ return pluralize(~~(between / 60), ' minute')
+ } else if (between < 86400) {
+ return pluralize(~~(between / 3600), ' hour')
+ } else {
+ return pluralize(~~(between / 86400), ' day')
+ }
+}
+
+/**
+ * Number formatting
+ * like 10000 => 10k
+ * @param {number} num
+ * @param {number} digits
+ */
+export function numberFormatter(num:number, digits:number) {
+ const si = [
+ {value: 1E18, symbol: 'E'},
+ {value: 1E15, symbol: 'P'},
+ {value: 1E12, symbol: 'T'},
+ {value: 1E9, symbol: 'G'},
+ {value: 1E6, symbol: 'M'},
+ {value: 1E3, symbol: 'k'}
+ ]
+ for (let i = 0; i < si.length; i++) {
+ if (num >= si[i].value) {
+ return (num / si[i].value).toFixed(digits).replace(/\.0+$|(\.[0-9]*[1-9])0+$/, '$1') + si[i].symbol
+ }
+ }
+ return num.toString()
+}
+
+/**
+ * 10000 => "10,000"
+ * @param {number} num
+ */
+export function toThousandFilter(num:number) {
+ return (+num || 0).toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ','))
+}
+
+/**
+ * Upper case first char
+ * @param {String} string
+ */
+export function uppercaseFirst(string:string) {
+ return string.charAt(0).toUpperCase() + string.slice(1)
+}
+
+
+/**
+ * 金额转换(分->元)
+ * 100 => 1
+ * @param {number} num
+ */
+export function moneyFormatter(num:number) {
+ return '¥'+(isNaN(num) ? 0.00 : parseFloat((num / 100).toFixed(2)))
+}
diff --git a/src/views/pms/goods/index.vue b/src/views/pms/goods/index.vue
index c2bc2712..91af0b23 100644
--- a/src/views/pms/goods/index.vue
+++ b/src/views/pms/goods/index.vue
@@ -13,16 +13,15 @@
- 查询
- 重置
+ 查询
+ 重置
@@ -50,7 +49,7 @@
- {{ scope.row.price | moneyFormatter }}
+ {{ moneyFormatter(scope.row.price) }}
@@ -66,17 +65,17 @@
- {{ scope.row.originPrice | moneyFormatter }}
+ {{ moneyFormatter(scope.row.price) }}
- {{ scope.row.price | moneyFormatter }}
+ {{ moneyFormatter(scope.row.price) }}
-
+
查看
@@ -96,22 +95,24 @@
-
+
+