zhaolf 3 роки тому
батько
коміт
3b3844a107

+ 12 - 5
src/App.vue

@@ -38,7 +38,7 @@
         otherDatas: [],
         allDatas:[],
         editableTabs: [],
-        nowindex:0
+        // nowindex:0
       }
     },
     mounted(){
@@ -46,6 +46,9 @@
     computed: {
       showSidebar() {
         return this.$route.name != 'login';
+      },
+      nowindex(){
+        return store?.getters?.getTabIndex
       }
     },
     created() {
@@ -102,12 +105,14 @@
           this.editableTabs.forEach((element2,index) => {
               if(element2.name==to.meta.title){
                   isAdd=false //当前页面在tab中
-                  this.nowindex=index
+                  // this.nowindex=index
+                  store.commit("SET_TABINDEX",index)
               }
           })
           if(isAdd){
             this.editableTabs.push({name:to.meta.title,path:to.path})
-            this.nowindex=this.editableTabs.length-1
+            // this.nowindex=this.editableTabs.length-1
+            store.commit("SET_TABINDEX",this.editableTabs.length-1)
           }
           store.commit("SET_TABLIST",this.editableTabs)
         }
@@ -115,12 +120,14 @@
     },
     methods: {
       remove(item,index){
-        this.nowindex--
+        // this.nowindex--
+        store.commit("SET_TABINDEX",index-1)
         this.editableTabs.splice(index,1)
         store.commit("SET_TABLIST",this.editableTabs)
       },
       itemclick(item,index){
-        this.nowindex=index
+        // this.nowindex=index
+        store.commit("SET_TABINDEX",index)
       },
     }
   }

+ 11 - 0
src/api/goods.js

@@ -0,0 +1,11 @@
+import request from '@/utils/request'
+
+// 商品分页列表
+export function list(params) {
+  return request({
+    url: '/commodity/page',
+    method: 'get',
+    params
+  })
+}
+

+ 3 - 1
src/pages/goods/addGoods/index.vue

@@ -78,6 +78,7 @@
 </template>
 
 <script>
+    import store from '@/store/index'
     export default {
         components: {},
         props: {},
@@ -102,6 +103,7 @@
         computed: {},
         methods: {
             commit(){
+                store.commit('REMOVETAB','新增商品')
                 this.$router.go(-1)
             },
             handlePictureCardPreview(file) {
@@ -110,7 +112,7 @@
             }
         },
         created() {},
-        mounted() {}
+        mounted() {}    
     };
 </script>
 <style lang="less" scoped>

+ 15 - 8
src/pages/goods/index.vue

@@ -1,14 +1,14 @@
 <template>
   <div class="index flex column">
-    <el-tabs v-model="activeName" @tab-click="handleClick">
-      <el-tab-pane label="上架" name="上架"></el-tab-pane>
-      <el-tab-pane label="下架" name="下架"></el-tab-pane>
-      <el-tab-pane label="首次申请" name="首次申请"></el-tab-pane>
+    <el-tabs v-model="searchForm.type" @tab-click="handleClick">
+      <el-tab-pane label="上架" name="1"></el-tab-pane>
+      <el-tab-pane label="下架" name="2"></el-tab-pane>
+      <el-tab-pane label="首次申请" name="3"></el-tab-pane>
     </el-tabs>
     <div class="serach flex row space-between">
       <el-button class="blackbtn" icon="el-icon-plus" @click="addGoods">新增商品</el-button>
       <div class="flex row">
-        <el-input v-model="searchForm.shopName" placeholder="请输入商品名称/ID" clearable></el-input>
+        <el-input v-model="searchForm.searchName" placeholder="请输入商品名称/ID" clearable></el-input>
         <el-button class="btn_search blackbtn" icon="el-icon-search" @click="handleLogin">查询</el-button>
       </div>
     </div>
@@ -28,6 +28,7 @@
 
 <script>
   import eTable from '@/components/base-table'
+  import{list} from '@/api/goods'
   export default {
     name: "index",
     components: {
@@ -35,12 +36,12 @@
     },
     data() {
       return {
-        activeName: '上架',
         searchForm: {
-          shopName: '',
+          searchName: '',
           total: 0,
-          pageNum: 1,
+          page: 1,
           pageSize: 10,
+          type:'1'
         },
         tableHeadConfig: [{
             label: '商品名称',
@@ -96,10 +97,16 @@
           this.searchForm.pageNum = pageRequest.pageIndex;
           this.searchForm.pageSize = pageRequest.pageSize;
         }
+        list(this.searchForm).then(res=>{
+
+        })
       },
       addGoods(){// 新增商品
         this.$router.push("/goods/addGoods");
       }
+    },
+    mounted(){
+      this.getPageList()
     }
   };
 </script>

+ 3 - 1
src/pages/login/index.vue

@@ -56,7 +56,9 @@
         immediate: true
       }
     },
-    created() {},
+    created() {
+      store.commit('CLEAR')
+    },
     methods: {
       // 登录
       handleLogin() {

+ 18 - 4
src/store/modules/user.js

@@ -2,13 +2,15 @@ const state = {
   token: '',
   info: {},
   menuInfo: {},
-  tabList:[]
+  tabList:[],
+  tabIndex:0,
 }
 const getters = {
   getToken: state => state.token,
   getUserInfo: state => state.info,
   getMenuInfo: state => state.menuInfo,
-  getTabList:state=>state.tabList
+  getTabList:state=>state.tabList,
+  getTabIndex:state=>state.tabIndex
 }
 const mutations = {
   SET_USER_TOKEN(state, token) {
@@ -29,11 +31,23 @@ const mutations = {
   SET_TABLIST(state, tabList) {
     state.tabList = tabList
   },
-  CLEAR(){
+  SET_TABINDEX(state,index){
+    state.tabIndex=index
+  },
+  REMOVETAB(state,tabname){
+    state.tabList.forEach((element,index) => {
+      if(element.name==tabname){
+        state.tabIndex--
+        state.tabList.splice(index,1)
+      }
+    });
+  },
+  CLEAR(state){
     state.tabList=[],
     state.menuInfo={},
     state.info={},
-    state.token = ''
+    state.token = '',
+    state.tabIndex=0
   }
 }
 export default {