宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產(chǎn)品動態(tài)
精選推薦

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

管理 管理 編輯 刪除

1.Tab卡添加商品

1848620231219112105372.png

實現(xiàn)整體布局

/src/pages/goods/Index.vue

d0532202312200916048936.png

實現(xiàn)Tab卡布局

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

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

驗證表單數(shù)據(jù)

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 '價格必須為數(shù)字'
    if (value < 0) return '價格必須為正數(shù)'
    return true
  },
  market_price (value) {
    if (!value) return '請輸入市場價格'
    if (isNaN(value)) return '市場價格必須為數(shù)字'
    if (value < 0) return '市場價格必須為正數(shù)'
    return true
  },
  specsid (value) {
    value = parseInt(value)
    if (value === 0) {
      return '請選擇商品規(guī)格'
    }
    return true
  },
  specsattr (value) {
    return value === '' ? '請選擇規(guī)格屬性' : 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) => {
  // 有數(shù)據(jù)上傳, 需要設(shè)置headers
  return http.post('/goodsadd', data, {
    headers: {
      'Content-type': 'multipart/form-data'
    }
  })
}

// 修改規(guī)格
export const updateGoods = (data) => {
// 判斷data中是否包含id屬性且大于0
  if (!data.get('id')) {
    return Promise.reject(new Error('缺少ID參數(shù)或id參數(shù)錯誤'))
  }
  // 有數(shù)據(jù)上傳, 需要設(shè)置headers
  return http.post('/goodsedit', data, {
    headers: {
      'Content-type': 'multipart/form-data'
    }
  })
}

// 分頁獲取商品數(shù)據(jù)
export const getPageGoods = (page = 1, size = 4) => {
  return http.get('/goodslist', {
    params: {
      page,
      size
    }
  })
}

// 獲取商品總數(shù)量
export const getGoodsTotal = () => {
  return http.get('/goodscount')
}

// 刪除商品
export const deleteGoods = (id) => {
  return http.post('/goodsdelete', { id })
}
vuex中處理商品數(shù)據(jù)
// 導(dǎo)入接口文件
import { getPageGoods, getGoodsTotal } from '@/api/goods'

export default {
  namespaced: true,
  state: {
    allList: [], // 所有的規(guī)格
    list: [],
    page: 1, // 當(dāng)前的頁碼
    size: 4, // 每頁顯示的條數(shù)
    total: 0 // 管理員用戶總數(shù)
  },
  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)
      }
    }
  }
}
展示數(shù)據(jù)

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

fdeb2202312200921421420.png8bbb1202312200922104356.png647ec202312200922309018.png


請登錄后查看

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

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

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

作者 管理員 企業(yè)

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

{{itemf.name}}

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

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

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

相關(guān)推薦

快速安全登錄

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

微信登錄/注冊

切換手機號登錄

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

{{codeText}}
切換微信登錄/注冊
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

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