Selaa lähdekoodia

Signed-off-by: 1004749546@qq.com <1004749546@qq.com>
商品排序对接

1004749546@qq.com 4 vuotta sitten
vanhempi
commit
0992b0f568
2 muutettua tiedostoa jossa 66 lisäystä ja 68 poistoa
  1. 9 0
      src/api/goods.js
  2. 57 68
      src/views/shop/goodsShelves.vue

+ 9 - 0
src/api/goods.js

@@ -48,3 +48,12 @@ export const goodsState = (params) => {
     method: 'get'
   })
 }
+
+// 查询商品分类(不分页)
+export const goodsType = (params) => {
+  return axios.request({
+    url: `/goodsType/queryList`,
+    method: 'post',
+    data: params
+  })
+}

+ 57 - 68
src/views/shop/goodsShelves.vue

@@ -2,10 +2,11 @@
   <a-card :bordered="false">
     <a-row type="flex">
       <a-col span="4">
-        <a-menu class="menu-cont" :defaultSelectedKeys="[menuList[0].id]" mode="inline" @click="handleClick">
-          <a-menu-item v-for="item in menuList" :key="item.id" :title="item.name">
+        <a-menu class="menu-cont" :selectedKeys="selectedKeys" mode="inline" @click="handleClick">
+          <a-menu-item v-for="item in menuList" :key="item.goodsTypeNo" :title="item.name">
             {{ item.name }}
           </a-menu-item>
+          <a-empty v-if="menuList.length==0" class="noData" />
         </a-menu>
       </a-col>
       <a-col span="1"></a-col>
@@ -45,9 +46,8 @@ import {
   VSelect
 } from '@/components'
 import {
-  getTenantsList,
-  tenantsDelete
-} from '@/api/tenants.js'
+  goodsUpdateSort, goodsType, goodsList
+} from '@/api/goods.js'
 export default {
   name: 'GoodsList',
   components: {
@@ -58,19 +58,8 @@ export default {
     return {
       pageNo: 1,
       pageSize: 10,
-      menuList: [{
-        id: 1,
-        name: '人气零食'
-      },
-      {
-        id: 12,
-        name: '居家生活'
-      },
-      {
-        id: 13,
-        name: '个护清洁'
-      }
-      ],
+      menuList: [], // 菜单列表
+	  selectedKeys: [], // 当前选中的菜单key
       itemId: '', // 要编辑的租户id
       // 表头
       columns: [{
@@ -93,7 +82,7 @@ export default {
       },
       {
         title: '库存数量',
-        dataIndex: 'num',
+        dataIndex: 'inventoryQty',
         width: 120,
         align: 'center',
         customRender: (text) => {
@@ -113,69 +102,63 @@ export default {
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         console.log(parameter, 'parameter')
-
-        // return getPowerRoleList(Object.assign(parameter, this.queryParam)).then(res => {
-        //   const no = (res.data.pageNo - 1) * res.data.pageSize
-        //   for (let i = 0; i < res.data.list.length; i++) {
-        //     const _item = res.data.list[i]
-        //     _item.no = no + i + 1
-        //     _item.isEnable = _item.isEnable + '' === '1'
-        //   }
-        //   return res.data
-        // })
-        return new Promise((resolve) => {
-          this.list = [{
-            no: 1,
-            name: '苹果',
-            price: 10,
-            num: 10
-          },
-          {
-            no: 2,
-            name: '苹果',
-            price: 10,
-            num: 10
-          },
-          {
-            no: 3,
-            name: '苹果',
-            price: 10,
-            num: 10
-          },
-          {
-            no: 4,
-            name: '苹果',
-            price: 10,
-            num: 10
-          },
-          {
-            no: 5,
-            name: '苹果',
-            price: 10,
-            num: 10
-          }
-          ]
-          resolve(this.list)
-        })
+        if (this.selectedKeys.length) {
+          return goodsList(Object.assign(parameter, { goodsTypeNo: this.selectedKeys[0] })).then(res => {
+			  const no = (res.data.pageNo - 1) * res.data.pageSize
+			  for (let i = 0; i < res.data.list.length; i++) {
+			    const _item = res.data.list[i]
+			    _item.no = no + i + 1
+			    _item.isEnable = _item.isEnable + '' === '1'
+			  }
+			  return res.data
+          })
+        } else {
+          return new Promise((resolve) => {
+            const data = []
+            resolve(data)
+          })
+        }
       }
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {})
+    next(vm => {
+      vm.getGoodsType()
+    })
   },
   methods: {
     // menu菜单切换
     handleClick (item) {
       console.log(item, 'kkkkkkkkkk')
+	  this.selectedKeys = [item.key]
+	  this.$refs.table.refresh(true)
+    },
+    // 获取分类数据
+    getGoodsType () {
+      goodsType({}).then(res => {
+		  console.log(res, 'rrrrrrrrrr')
+        if (res.status == 200) {
+          this.menuList = res.data
+		  this.selectedKeys = [res.data[0].goodsTypeNo]
+		  this.$refs.table.refresh(true)
+        } else {
+          this.menuList = []
+        }
+      })
     },
     // 上移 下移 排序 index:下标  item:数据  type:类型 0 下移 1 上移
     changeSort (index, item, type) {
       const indexThat = type === 0 ? index + 1 : index - 1
-      const params = {
-        idThis: item.id,
-        idThat: this.list[indexThat].id
+      const params = [{
+        'id': item.id,
+        'sort': item.sort
+      },
+      {
+        'id': this.list[indexThat].id,
+        'sort': this.list[indexThat].sort
       }
-      setSort(params).then(res => {
+      ]
+      goodsUpdateSort(params).then(res => {
         if (res.status == 200) {
           this.$refs.table.refresh()
         } else {
@@ -190,4 +173,10 @@ export default {
 	.menu-cont {
 		height: 100%;
 	}
+	.noData {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+	}
 </style>