chillqi 2 anni fa
parent
commit
2499f2065f

+ 3 - 3
src/api/product.ts

@@ -6,7 +6,7 @@ type ProductInfo = {
     name: string,
     category: string,
     price: number,
-    photoUrlList: [string]
+    photoUrlList: string[]
 }
 
 // 创建商品
@@ -30,7 +30,7 @@ export const getProductsByStoreId = (storeId: number) => {
 export const getProductById = (productId: number) => {
     return axios.get(`${PRODUCT_MODULE}/${productId}`)
         .then(res => {
-            return res;
+            return res
         })
 }
 
@@ -38,6 +38,6 @@ export const getProductById = (productId: number) => {
 export const addStock = (id: number, number: number) => {
     return axios.post(`${PRODUCT_MODULE}/${id}/stock?number=${number}`)
         .then(res => {
-            return res;
+            return res
         })
 }

+ 0 - 5
src/components/ProductItem.vue

@@ -14,7 +14,6 @@ const props = defineProps({
 const storeId = ref(0)
 const name = ref('')
 const photoUrlList = ref([])
-const salesAmount = ref(0)
 const stock = ref(0)
 const category = ref()
 const price = ref()
@@ -24,7 +23,6 @@ getProductById(props.productId).then(res => {
   storeId.value = res.data.result.storeId
   name.value = res.data.result.name
   photoUrlList.value = res.data.result.photoUrlList
-  salesAmount.value = res.data.result.salesAmount
   stock.value = res.data.result.stock
   category.value = res.data.result.category
   price.value = res.data.result.price
@@ -48,9 +46,6 @@ getProductById(props.productId).then(res => {
         <el-descriptions-item style="font-size: 10px" label="价格">
           {{ price }} 元
         </el-descriptions-item>
-        <el-descriptions-item style="font-size: 10px" label="销量">
-          {{ salesAmount }} 件
-        </el-descriptions-item>
         <el-descriptions-item style="font-size: 10px" label="库存">
           {{ stock }} 件
         </el-descriptions-item>

+ 12 - 13
src/router/index.ts

@@ -63,6 +63,7 @@ const router = createRouter({
 
             // Lab3新增
             // 需要把订单模块生成的新界面添加到这里
+
         ]
     }, {
         path: '/404',
@@ -86,27 +87,25 @@ router.beforeEach((to, _, next) => {
 
     if (!token) {
         if (to.path === '/login' || to.path === '/register') {
-            next();
+            next()
         } else {
-            next('/login');
+            next('/login')
         }
-        return;
-    }
-
-    if (!to.meta.permission) {
-        next();
-        return;
+        return
     }
 
-    if (!to.meta.permission.includes(role!)) {
-        next('/404');
-        return;
+    if (to.meta.permission && !to.meta.permission.includes(role!)) {
+        next('/404')
+        return
     }
 
     if (to.name === 'createProduct' && to.params.storeId !== storeId) {
-        next('/404');
-        return;
+        next('/404')
+        return
     }
+
+    next()
 })
 
+
 export {router}

+ 11 - 10
src/views/product/CreateProduct.vue

@@ -9,7 +9,7 @@ const storeId = Number(router.currentRoute.value.params.storeId)
 const name = ref('')
 const category = ref()
 const price = ref()
-const photoUrlList = ref([''])
+const photoUrlList = ref<string[]>([])
 
 const imageFileList = ref([])
 
@@ -29,7 +29,7 @@ function handleCreateProduct() {
     category: category.value,
     price: price.value,
     photoUrlList: photoUrlList.value
-  };
+  }
   createProduct(payload).then(res => {
     if (res.data.code === '000') {
       ElMessage({
@@ -37,11 +37,11 @@ function handleCreateProduct() {
         type: 'success',
         center: true,
       })
-      name.value = '';
-      category.value = '';
-      price.value = '';
-      photoUrlList.value = [];
-      imageFileList.value = [];
+      name.value = ''
+      category.value = ''
+      price.value = ''
+      photoUrlList.value = []
+      imageFileList.value = []
     } else if (res.data.code === '400') {
       ElMessage({
         message: res.data.msg,
@@ -54,10 +54,11 @@ function handleCreateProduct() {
 
 function handleChange(file: any, fileList: any) {
   imageFileList.value = fileList
-  let formData = new FormData();
-  formData.append('file', file.raw);
+  let formData = new FormData()
+  formData.append('file', file.raw)
   uploadImage(formData).then(res => {
-    photoUrlList.value.push(res.data.result);
+    console.log(res.data.result)
+    photoUrlList.value.push(res.data.result)
   });
 }
 

+ 1 - 1
src/views/product/ProductDetail.vue

@@ -3,7 +3,7 @@ import {ref, computed} from "vue"
 import {router} from '../../router'
 import {Back} from "@element-plus/icons-vue"
 import {addStock, getProductById} from "../../api/product.ts"
-import {parseCategory} from "../../utils";
+import {parseCategory} from "../../utils"
 
 const role = sessionStorage.getItem("role")