product:商品规格,调整成商品属性,避免和 sku 概念冲突

This commit is contained in:
YunaiV
2022-12-08 21:12:35 +08:00
parent 373188b58d
commit fac3e7c726
55 changed files with 283 additions and 210 deletions

View File

@ -1,6 +1,8 @@
import request from '@/utils/request'
// 创建规格名称
// ------------------------ 属性项 -------------------
// 创建属性项
export function createProperty(data) {
return request({
url: '/product/property/create',
@ -9,7 +11,7 @@ export function createProperty(data) {
})
}
// 更新规格名称
// 更新属性项
export function updateProperty(data) {
return request({
url: '/product/property/update',
@ -18,7 +20,7 @@ export function updateProperty(data) {
})
}
// 删除规格名称
// 删除属性项
export function deleteProperty(id) {
return request({
url: '/product/property/delete?id=' + id,
@ -26,7 +28,7 @@ export function deleteProperty(id) {
})
}
// 获得规格名称
// 获得属性项
export function getProperty(id) {
return request({
url: '/product/property/get?id=' + id,
@ -34,7 +36,7 @@ export function getProperty(id) {
})
}
// 获得规格名称分页
// 获得属性项分页
export function getPropertyPage(query) {
return request({
url: '/product/property/page',
@ -43,7 +45,7 @@ export function getPropertyPage(query) {
})
}
// 获得规格名称列表
// 获得属性项列表
export function getPropertyList(query) {
return request({
url: '/product/property/list',
@ -52,7 +54,7 @@ export function getPropertyList(query) {
})
}
// 获得规格名称列表
// 获得属性项列表
export function getPropertyListAndValue(query) {
return request({
url: '/product/property/listAndValue',
@ -62,7 +64,7 @@ export function getPropertyListAndValue(query) {
}
// 导出规格名称 Excel
// 导出属性项 Excel
export function exportPropertyExcel(query) {
return request({
url: '/product/property/export-excel',
@ -72,9 +74,9 @@ export function exportPropertyExcel(query) {
})
}
// ------------------------ 规格名称值 -------------------
// ------------------------ 属性值 -------------------
// 获得规格名称值分页
// 获得属性值分页
export function getPropertyValuePage(query) {
return request({
url: '/product/property/value/page',
@ -83,7 +85,7 @@ export function getPropertyValuePage(query) {
})
}
// 获得规格名称
// 获得属性
export function getPropertyValue(id) {
return request({
url: '/product/property/value/get?id=' + id,
@ -92,7 +94,7 @@ export function getPropertyValue(id) {
}
// 创建规格名称
// 创建属性
export function createPropertyValue(data) {
return request({
url: '/product/property/value/create',
@ -101,7 +103,7 @@ export function createPropertyValue(data) {
})
}
// 更新规格名称
// 更新属性
export function updatePropertyValue(data) {
return request({
url: '/product/property/value/update',
@ -110,7 +112,7 @@ export function updatePropertyValue(data) {
})
}
// 删除规格名称
// 删除属性值
export function deletePropertyValue(id) {
return request({
url: '/product/property/value/delete?id=' + id,

View File

@ -106,7 +106,7 @@ export const constantRoutes = [
path: 'value/:propertyId(\\d+)',
component: (resolve) => require(['@/views/mall/product/property/value'], resolve),
name: 'PropertyValue',
meta: {title: '规格数据', icon: '', activeMenu: '/product/property'}
meta: {title: '商品属性值', icon: '', activeMenu: '/product/property'}
}
]
}, {

View File

@ -3,8 +3,8 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="规格名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入规格名称" clearable @keyup.enter.native="handleQuery"/>
<el-form-item label="名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择开启状态" clearable size="small">
@ -33,8 +33,8 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="规格id" align="center" prop="id" />
<el-table-column label="规格名称" align="center" :show-overflow-tooltip="true">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="名称" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<router-link :to="'/property/value/' + scope.row.id" class="link-type">
<span>{{ scope.row.name }}</span>
@ -68,13 +68,13 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="规格id" prop="id" v-if="form.id != null">
<el-form-item label="编号" prop="id" v-if="form.id != null">
<el-input v-model="form.id" disabled />
</el-form-item>
<el-form-item label="规格名称" prop="name">
<el-input v-model="form.name" placeholder="请输入规格名称" />
<el-form-item label="名称" prop="name">
<el-input v-model="form.name" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="开启状态" prop="status">
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="parseInt(dict.value)">{{ dict.label }}
@ -110,7 +110,7 @@ export default {
showSearch: true,
// 总条数
total: 0,
// 规格名称列表
// 属性项列表
list: [],
// 弹出层标题
title: "",
@ -134,7 +134,7 @@ export default {
// 表单校验
rules: {
name: [
{ required: true, message: "规格不能为空", trigger: "blur" }
{ required: true, message: "名称不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "状态不能为空", trigger: "blur" }
@ -185,7 +185,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加规格";
this.title = "添加属性项";
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -194,7 +194,7 @@ export default {
getProperty(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改规格";
this.title = "修改属性项";
});
},
/** 提交按钮 */
@ -223,7 +223,7 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除规格名称为"' + row.name + '"的数据项?').then(function() {
this.$modal.confirm('是否确认删除名称为"' + row.name + '"的数据项?').then(function() {
return deleteProperty(id);
}).then(() => {
this.getList();
@ -237,11 +237,11 @@ export default {
params.pageNo = undefined;
params.pageSize = undefined;
// 执行导出
this.$modal.confirm('是否确认导出所有规格名称数据项?').then(() => {
this.$modal.confirm('是否确认导出所有名称数据项?').then(() => {
this.exportLoading = true;
return exportPropertyExcel(params);
}).then(response => {
this.$download.excel(response, '规格名称.xls');
this.$download.excel(response, '名称.xls');
this.exportLoading = false;
}).catch(() => {});
},

View File

@ -1,13 +1,13 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="规格名称" prop="propertyId">
<el-form-item label="属性项" prop="propertyId">
<el-select v-model="queryParams.propertyId">
<el-option v-for="item in propertyOptions" :key="item.id" :label="item.id +'-'+ item.name" :value="item.id"/>
</el-select>
</el-form-item>
<el-form-item label="规格值" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入规格值" clearable @keyup.enter.native="handleQuery"/>
<el-form-item label="名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="状态" clearable size="small">
@ -35,8 +35,8 @@
</el-row>
<el-table v-loading="loading" :data="dataList">
<el-table-column label="规格值id" align="center" prop="id"/>
<el-table-column label="规格值" align="center" prop="name"/>
<el-table-column label="编号" align="center" prop="id"/>
<el-table-column label="名称" align="center" prop="name"/>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status"/>
@ -66,11 +66,11 @@
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-form-item label="规格值编码">
<el-form-item label="属性项">
<el-input v-model="form.propertyId" :disabled="true"/>
</el-form-item>
<el-form-item label="规格值" prop="name">
<el-input v-model="form.name" placeholder="请输入数据标签"/>
<el-form-item label="名称" prop="name">
<el-input v-model="form.name" placeholder="请输入名称"/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
@ -137,7 +137,7 @@ export default {
// 表单校验
rules: {
name: [
{required: true, message: "规格值不能为空", trigger: "blur"}
{required: true, message: "名称不能为空", trigger: "blur"}
],
status: [
{required: true, message: "状态不能为空", trigger: "blur"}
@ -206,7 +206,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加规格值";
this.title = "添加属性值";
this.form.propertyId = this.queryParams.propertyId;
},
/** 修改按钮操作 */
@ -216,7 +216,7 @@ export default {
getPropertyValue(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改规格值";
this.title = "修改属性值";
});
},
/** 提交按钮 */