<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    一文教你如何用Vue.js和Element UI實現商品管理,提升工作效率!

    管理 管理 編輯 刪除

    1.Tab卡添加商品

    1848620231219112105372.png

    實現整體布局

    /src/pages/goods/Index.vue

    d0532202312200916048936.png

    實現Tab卡布局

    /src/pages/goods/components/Form.vue

    6fdec202312200916521540.png3beb4202312200917427754.png89dfa202312200918166532.png5365f202312200918464176.png8a766202312200919557887.png0dec7202312200920537485.png

    驗證表單數據

    validate/goods.js

    export default {
      first_cateid (value) {
        value = parseInt(value)
        if (value === 0) {
          return '請選擇一級分類'
        }
        return true
      },
      second_cateid (value) {
        value = parseInt(value)
        if (value === 0) {
          return '請選擇二級分類'
        }
        return true
      },
      goodsname (value) {
        return value === '' ? '請輸入商品名稱' : true
      },
      price (value) {
        if (!value) return '請輸入價格'
        if (isNaN(value)) return '價格必須為數字'
        if (value < 0) return '價格必須為正數'
        return true
      },
      market_price (value) {
        if (!value) return '請輸入市場價格'
        if (isNaN(value)) return '市場價格必須為數字'
        if (value < 0) return '市場價格必須為正數'
        return true
      },
      specsid (value) {
        value = parseInt(value)
        if (value === 0) {
          return '請選擇商品規格'
        }
        return true
      },
      specsattr (value) {
        return value === '' ? '請選擇規格屬性' : true
      },
      img (value) {
        if (!value) return '請上傳商品圖片'
        return true
      },
      description (value) {
        return value === '' ? '請輸入商品詳情' : true
      }
    }
    
    添加接口文件

    /src/api/goods.js

    import http from './http'
    
    // 添加商品
    export const addGoods = (data) => {
      // 有數據上傳, 需要設置headers
      return http.post('/goodsadd', data, {
        headers: {
          'Content-type': 'multipart/form-data'
        }
      })
    }
    
    // 修改規格
    export const updateGoods = (data) => {
    // 判斷data中是否包含id屬性且大于0
      if (!data.get('id')) {
        return Promise.reject(new Error('缺少ID參數或id參數錯誤'))
      }
      // 有數據上傳, 需要設置headers
      return http.post('/goodsedit', data, {
        headers: {
          'Content-type': 'multipart/form-data'
        }
      })
    }
    
    // 分頁獲取商品數據
    export const getPageGoods = (page = 1, size = 4) => {
      return http.get('/goodslist', {
        params: {
          page,
          size
        }
      })
    }
    
    // 獲取商品總數量
    export const getGoodsTotal = () => {
      return http.get('/goodscount')
    }
    
    // 刪除商品
    export const deleteGoods = (id) => {
      return http.post('/goodsdelete', { id })
    }
    vuex中處理商品數據
    // 導入接口文件
    import { getPageGoods, getGoodsTotal } from '@/api/goods'
    
    export default {
      namespaced: true,
      state: {
        allList: [], // 所有的規格
        list: [],
        page: 1, // 當前的頁碼
        size: 4, // 每頁顯示的條數
        total: 0 // 管理員用戶總數
      },
      mutations: {
        SET_LIST (state, list) {
          state.list = list
        },
        SET_TOTAL (state, total) {
          state.total = total
        },
        SET_PAGE (state, page) {
          state.page = page
        },
        SET_ALLLIST (state, list) {
          state.allList = list
        }
      },
      actions: {
        getGoodsList ({commit, state}) {
          getPageGoods(state.page, state.size).then(res => {
            // console.log(res)
            commit('SET_LIST', res)
          })
        },
        getGoodsTotal ({commit}) {
          getGoodsTotal().then(res => {
            // console.log(res)
            commit('SET_TOTAL', res[0].total || 0)
          })
        },
        // 獲取所有商品
        async getAllGoods ({commit}) {
          const total = await getGoodsTotal().then(res => res[0].total || 0)
          // console.log(total)
          if (total > 0) {
            const list = await getPageGoods(1, total)
            // console.log(list)
            commit('SET_ALLLIST', list)
          }
        }
      }
    }
    展示數據

    d680c202312191121253716.png
    /src/pages/goods/components/list.vue

    fdeb2202312200921421420.png8bbb1202312200922104356.png647ec202312200922309018.png


    請登錄后查看

    CRMEB-慕白寒窗雪 最后編輯于2023-12-20 09:22:36

    快捷回復
    回復
    回復
    回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
    排序 默認正序 回復倒序 點贊倒序

    {{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    2752
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服