|
|
@@ -12,11 +12,7 @@
|
|
|
<el-input v-model="formInline.name" placeholder="请输入商品类型"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="状态" prop="region">
|
|
|
- <el-select v-model="formInline.region" placeholder="状态">
|
|
|
- <el-option label="全部" value="shanghai"></el-option>
|
|
|
- <el-option label="上架" value="beijing1"></el-option>
|
|
|
- <el-option label="下架" value="beijing"></el-option>
|
|
|
- </el-select>
|
|
|
+ <DictSelect v-model="formInline.region" :dictOptions="navigateMenuOption" placeholder="请选择" />
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" @click="onSubmit">搜索</el-button>
|
|
|
@@ -25,72 +21,119 @@
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div style="padding:0 15px;">
|
|
|
- <el-button type="primary" size="small" @click="add">新增商品</el-button>
|
|
|
- <el-table v-loading="loading" :data="tableData" tooltip-effect="dark" size="small"
|
|
|
- style="width: 100%;margin-top: 15px;" @selection-change="handleSelectionChange" height="calc(100vh - 280px)"
|
|
|
- :cell-class-name="cellClass">
|
|
|
-
|
|
|
- <el-table-column type="selection" width="55" align="center"></el-table-column>
|
|
|
- <el-table-column label="序号" align="center" type="index" width="50">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="商品编号" align="center" width="180">
|
|
|
- <template slot-scope="scope">{{ scope.row.number }}</template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column label="商品名称" prop="name" align="center" width="180">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="商品分类" prop="name" align="center" width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="价格(元+积分)" prop="name" align="center" width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="库存" prop="name" align="center" width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="已售" prop="name" align="center" width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="销售时间" align="center">
|
|
|
- <template slot-scope="scope">{{ scope.row.date }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="状态" prop="name" align="center" width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" width="220" class="operation">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-badge :value="2" size="mini" class="badgeClass">
|
|
|
- <el-button size="mini" type="primary" plain @click="handleEdit(scope.$index, scope.row)">下架</el-button>
|
|
|
- </el-badge>
|
|
|
- <el-button size="mini" type="primary" plain @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
|
|
|
- <el-button size="mini" type="primary" plain @click="handleDelete(scope.$index, scope.row)">详情</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ <el-button style="margin-bottom: 15px;" type="primary" size="small" @click="handleAddOrEditOrDetails('新增')">新增商品</el-button>
|
|
|
+ <tableCompontent ref="tableRef" :loading="loading" :selection="true" :tableData="list"
|
|
|
+ :height="'calc(100vh - 280px)'" :columnData="columnData" :cellClassName="'cellClass'"
|
|
|
+ :cellProperty="'operation'">
|
|
|
+ <template v-slot:operation="row">
|
|
|
+ <el-badge :value="2" size="mini" class="badgeClass">
|
|
|
+ <el-button size="mini" type="primary" plain @click="handleEdit(row)">下架</el-button>
|
|
|
+ </el-badge>
|
|
|
+ <el-button size="mini" type="primary" plain @click="handleAddOrEditOrDetails('编辑')">编辑</el-button>
|
|
|
+ <el-button size="mini" type="primary" plain @click="handleAddOrEditOrDetails('详情')">详情</el-button>
|
|
|
+ </template>
|
|
|
+ </tableCompontent>
|
|
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.current" :limit.sync="queryParams.size"
|
|
|
@pagination="getList" />
|
|
|
</div>
|
|
|
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
+ <!-- 编辑、新增、详情 -->
|
|
|
+ <el-dialog :title="title" width="55%" :visible.sync="dialogVisible" :close-on-click-modal="false">
|
|
|
+ <AddOrEditOrDetail></AddOrEditOrDetail>
|
|
|
+ </el-dialog>
|
|
|
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
|
|
|
<script>
|
|
|
+import tableCompontent from "@/components/tableCompontent/index.vue";
|
|
|
+import AddOrEditOrDetail from './addOrEditOrDetail.vue'
|
|
|
export default {
|
|
|
+ components: {
|
|
|
+ tableCompontent,
|
|
|
+ AddOrEditOrDetail,
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
+ title: null,
|
|
|
+ dialogVisible: false,
|
|
|
loading: false,
|
|
|
formInline: {
|
|
|
user: '',
|
|
|
region: ''
|
|
|
},
|
|
|
- tableData: [{
|
|
|
- date: '2026-1-29 0:00:00 - 2026-2-29 0:00:00',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- }, {
|
|
|
- date: '2026-1-29 0:00:00 - 2026-2-29 0:00:00',
|
|
|
- name: '王小虎',
|
|
|
- address: '上海市普陀区金沙江路 1518 弄'
|
|
|
- },],
|
|
|
+ list: [{
|
|
|
+ sellTime: '2026-1-29 0:00:00 - 2026-2-29 0:00:00',
|
|
|
+ shopName: '王小虎',
|
|
|
+ }],
|
|
|
+ columnData: [
|
|
|
+ {
|
|
|
+ prop: 'seq',
|
|
|
+ label: '序号',
|
|
|
+ getIndex: this.getIndex,
|
|
|
+ width: 55,
|
|
|
+ align: 'center',
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'shopNum',
|
|
|
+ label: '商品编号',
|
|
|
+ align: 'center',
|
|
|
+ width: 180,
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'shopName',
|
|
|
+ label: '商品名称',
|
|
|
+ align: 'center',
|
|
|
+ width: 180,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'shopType',
|
|
|
+ label: '商品分类',
|
|
|
+ align: 'center',
|
|
|
+ width: 120,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'shopPrice',
|
|
|
+ label: '价格(元+积分)',
|
|
|
+ align: 'center',
|
|
|
+ width: 120,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'shopSave',
|
|
|
+ label: '库存',
|
|
|
+ align: 'center',
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'shopSell',
|
|
|
+ label: '已售',
|
|
|
+ align: 'center',
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'sellTime',
|
|
|
+ label: '销售时间',
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'shopStatus',
|
|
|
+ label: '状态',
|
|
|
+ color: 'red',
|
|
|
+ align: 'center',
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'operation',
|
|
|
+ label: '操作',
|
|
|
+ align: 'center',
|
|
|
+ fixed: 'right',
|
|
|
+ type: 'custom',
|
|
|
+ width: 220
|
|
|
+ },
|
|
|
+ ],
|
|
|
multipleSelection: [],
|
|
|
// 总条数
|
|
|
total: 2,
|
|
|
@@ -99,14 +142,21 @@ export default {
|
|
|
current: 1,
|
|
|
size: 10,
|
|
|
},
|
|
|
+ navigateMenuOption: [
|
|
|
+ { label: '测试数据', value: '1' },
|
|
|
+ { label: '测试数据1', value: '2' },
|
|
|
+ { label: '测试数据2', value: '3' }
|
|
|
+ ],
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
- cellClass(item) {
|
|
|
+ setCellClass(item) {
|
|
|
+ console.log(item, '666666')
|
|
|
if (item.column.label == "操作") {
|
|
|
+ console.log(item, 'item')
|
|
|
return "cellClass";
|
|
|
}
|
|
|
},
|
|
|
@@ -118,8 +168,10 @@ export default {
|
|
|
resetForm(formRefName) {
|
|
|
this.$refs.formInlineRef.resetFields();
|
|
|
},
|
|
|
- //新增商品
|
|
|
- add() {
|
|
|
+ //新增、编辑、详情商品
|
|
|
+ handleAddOrEditOrDetails(title) {
|
|
|
+ this.title = title
|
|
|
+ this.dialogVisible = true
|
|
|
|
|
|
},
|
|
|
//table点击选中
|
|
|
@@ -139,8 +191,10 @@ export default {
|
|
|
overflow: visible;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
::v-deep .badgeClass {
|
|
|
margin-right: 10px;
|
|
|
+
|
|
|
.el-badge__content {
|
|
|
background-color: #fbfc64;
|
|
|
box-shadow: 0 2px 2px #888888;
|