电商后台管理系统day04-分类参数

本文主要介绍了电商后台管理系统中商品分类参数的实现。包括通过路由展示商品分类页面,构建基本页面结构如面包屑导航、卡片视图、级联选择器、tabs标签页和展开列。在级联选择器中,根据选中分类id数组判断是否为三级分类,并调取相应数据。在tabs标签页中,依据选中分类id长度控制添加按钮状态,以及区分静态参数和动态参数。此外,处理了参数项的字符串转换和参数联动问题。
摘要由CSDN通过智能技术生成

电商后台管理系统day04-分类参数
商品参数用于显示商品的固定的特征信息,可以通过电商平台详情页面直观地看到
一、通过路由的形式,展现商品分类页面
二、完成商品分类的基本页面结构
在这里插入图片描述

1、面包屑导航栏
2、卡片视图区域
①警告框
②级联选择器

通过选中分类id数组来判断选中分类是否为三级分类,如果选中分类数组长度不为3,则不是三级分类,清空选中分类id数组,如果选中分类id数组长度为3,则是三级分类,调用接口获取分类数据列表
在这里插入图片描述

③tabs标签页
(1)通过判断选中分类id数组的长度来决定添加按钮是否禁用 选中三级分类是时按钮启用
在这里插入图片描述
(2)通过页签激活名称“only”和“many”来判断获取的是静态参数还是动态参数
在这里插入图片描述③展开列
(1)参数项attr_vals以字符串的形式存在,需要把字符串转换成以空格分割的数组
在这里插入图片描述
(2)解决参数联动问题
每一个分类参数都应该用一个独立的文本输入框来接收输入内容和控制输入框的显示与隐藏,把inputVisible和inputValue添加作为参数属性来进行使用
在这里插入图片描述
在这里插入图片描述

三、代码

<template>
  <div>
    <!-- 面包屑导航区域 -->
    <el-breadcrumb separator-class="el-icon-arrow-right">
      <el-breadcrumb-item :to="{ path: '/welcome' }">首页</el-breadcrumb-item>
      <el-breadcrumb-item>商品管理</el-breadcrumb-item>
      <el-breadcrumb-item>参数列表</el-breadcrumb-item>
    </el-breadcrumb>
    <!-- 卡片视图区域 -->
    <el-card>
      <!-- 警告框 -->
      <el-alert show-icon title="注意:只允许为第三级分类设置相关参数!" type="warning"> </el-alert>
      <!-- 级联选择器 -->
      <el-row class="cat_opt">
        <el-col>
          <span>选择商品分类: </span>
          <el-cascader v-model="seleteKeys" :options="cateList" :props="cascaderProps" @change="handleChange" clearable></el-cascader>
        </el-col>
      </el-row>
      <!-- tabs标签页 -->
      <el-tabs v-model="activeName" @tab-click="handleClick">
        <!-- 动态参数面板 -->
        <el-tab-pane label="动态参数" name="many">
          <!-- 添加参数按钮 -->
          <el-button type="primary" :disabled="isBtnDisabled" @click="addParamsDialogVisible = true">添加参数</el-button>
          <!-- 参数表格 -->
          <el-table :data="manyTableData" border>
            <!-- 展开列 -->
            <el-table-column type="expand">
              <template slot-scope="scope">
                <el-tag closable v-for="(item, index) in scope.row.attr_vals" :key="index" @close="handleClose(index, scope.row)">{
   {
    item }}</el-tag>
                <!-- 输入框 -->
                <el-input class="input-new-tag" v-if="scope.row.inputVisible" v-model="scope.row.inputValue" ref="saveTageInput" size="small" @keyup.enter.native="handleInputConfirm(scope.row)" @blur="handleInputConfirm(scope.row)"> </el-input>
                <!-- 按钮 -->
                <el-button v-else class="button-new-tag" size="small" @click="showInput(scope.row)">+ New Tag</el-button>
              </template>
            </el-table-column>
            <!-- 索引列 -->
            <el-table-column type="index" label="#"> </el-table-column>
            <!-- 参数名称列 -->
            <el-table-column prop="attr_name" label="参数名称"> </el-table-column>
            <!-- 操作列 -->
            <el-table-column label="操作">
              <template slot-scope="scope">
                <el-button type="primary" icon="el-icon-edit" size="mini" @click=
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值