diff --git a/src/api/pms/brand.js b/src/api/pms/brand.js
index 4a0e4d6..11c3253 100644
--- a/src/api/pms/brand.js
+++ b/src/api/pms/brand.js
@@ -9,6 +9,14 @@ export function listPmsBrand(query, pageReq) {
params: pageReq
})
}
+export function allBrand(query, pageReq) {
+ return request({
+ url: '/pms/brand/all',
+ method: 'post',
+ data: query,
+ params: pageReq
+ })
+}
// 查询品牌管理详细
export function getPmsBrand(id) {
diff --git a/src/router/index.js b/src/router/index.js
index 0ef9d70..28ccdaa 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -161,6 +161,20 @@ export const dynamicRoutes = [
meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
}
]
+ },
+ {
+ path: '/product',
+ component: Layout,
+ hidden: true,
+ permissions: ['pms:product:add'],
+ children: [
+ {
+ path: 'edit',
+ component: () => import('@/views/pms/product/AddProduct'),
+ name: 'AddProduct',
+ meta: { title: '编辑商品' }
+ }
+ ]
}
]
diff --git a/src/store/getters.js b/src/store/getters.js
index b69eec1..2e891cd 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -17,5 +17,6 @@ const getters = {
dictMap: state => state.dict.dictMap,
productCategories: state => state.dict.productCategories,
+ brandList: state => state.dict.brandList,
}
export default getters
diff --git a/src/store/modules/dict.js b/src/store/modules/dict.js
index 7d3f1e9..ebf2453 100644
--- a/src/store/modules/dict.js
+++ b/src/store/modules/dict.js
@@ -1,11 +1,13 @@
import {allByTypes} from "@/api/system/dict/data";
import {dict_types} from "@/config/business";
import {listPmsProductCategory} from "@/api/pms/productCategory";
+import {allBrand} from "@/api/pms/brand";
const dict = {
state: {
dictMap: {},
- productCategories: []
+ productCategories: [],
+ brandList: []
},
mutations: {
@@ -15,6 +17,9 @@ const dict = {
SET_PRODUCT_CATEGORIES: (state, value) => {
state.productCategories = value
},
+ SET_BRAND_LIST: (state, value) => {
+ state.brandList = value
+ },
},
actions: {
loadDictionaries({ commit, state }, force = false) {
@@ -43,7 +48,15 @@ const dict = {
return listPmsProductCategory({}).then(res => {
commit('SET_PRODUCT_CATEGORIES', res);
})
- }
+ },
+ loadBrandList({ commit, state }, force = false) {
+ if (!force && state.brandList.length > 0) {
+ return Promise.resolve();
+ }
+ return allBrand({}).then(res => {
+ commit('SET_BRAND_LIST', res);
+ })
+ },
}
}
diff --git a/src/views/components/BrandSelect.vue b/src/views/components/BrandSelect.vue
new file mode 100644
index 0000000..17c584f
--- /dev/null
+++ b/src/views/components/BrandSelect.vue
@@ -0,0 +1,34 @@
+
+el-select(v-model="value1")
+ el-option(v-for="it in options" :key="it.id" :value="it.id") {{it.name}}
+
+
+
+
+
diff --git a/src/views/pms/product/AddProduct.vue b/src/views/pms/product/AddProduct.vue
new file mode 100644
index 0000000..76abb42
--- /dev/null
+++ b/src/views/pms/product/AddProduct.vue
@@ -0,0 +1,104 @@
+
+.add-product-wrapper
+ el-form(
+ label-width="108px"
+ :model="form"
+ ref="form"
+ :rules="rules"
+ )
+ el-form-item(label="品牌" prop="brandId")
+ brand-select(v-model="form.brandId")
+ el-form-item(label="分类" prop="categoryId")
+ prod-category.w200(v-model="form.categoryId")
+ el-form-item(label="商品编码" prop="outProductId")
+ el-input(v-model="form.outProductId" placeholder="请输入商品编码")
+ el-form-item(label="商品名称" prop="name")
+ el-input(v-model="form.name" placeholder="请输入商品名称")
+ el-form-item(label="主图" prop="pic")
+ el-input(v-model="form.pic" placeholder="请输入主图")
+ el-form-item(label="商品图片" prop="albumPics")
+ el-input(v-model="form.albumPics" placeholder="商品图片,连产品图片限制为5张,以逗号分割")
+ el-form-item(label="上架状态")
+ dict-select(v-model="form.publishStatus")
+ el-form-item(label="排序" prop="sort")
+ el-input(v-model="form.sort" placeholder="请输入排序")
+ el-form-item(label="价格" prop="price")
+ el-input(v-model="form.price" placeholder="请输入PRICE")
+ el-form-item(label="单位" prop="unit")
+ el-input(v-model="form.unit" placeholder="请输入单位")
+ el-form-item(label="商品重量" prop="weight")
+ el-input(v-model="form.weight" placeholder="商品重量,默认为克")
+ el-form-item(label="产品详情网页内容" prop="detailHtml")
+ el-input(
+ v-model="form.detailHtml"
+ placeholder="请输入内容"
+ type="textarea"
+ )
+ el-form-item(label="移动端网页详情" prop="detailMobileHtml")
+ el-input(
+ v-model="form.detailMobileHtml"
+ placeholder="请输入内容"
+ type="textarea"
+ )
+ div
+ el-button(type="primary" @click="submitForm") 确 定
+ el-button(@click="cancel") 取 消
+
+
+
+
+
diff --git a/src/views/pms/product/index.vue b/src/views/pms/product/index.vue
index c1cf97f..0686c10 100644
--- a/src/views/pms/product/index.vue
+++ b/src/views/pms/product/index.vue
@@ -89,7 +89,7 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 请选择字典生成
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-