商品服务-API-三级分类在管理页面下实现修改及拖拽功能

本文介绍了如何在商品服务的API管理页面中实现三级分类的修改功能,以及如何在这样的三层结构上启用并处理拖拽效果。详细讲述了在每个分类后添加修改按钮的操作,以及在拖拽操作后更新节点数据的逻辑。
摘要由CSDN通过智能技术生成

1.0 简单修改功能实现

在每个分类后面加上修改按钮,绑定一个事件,并将当前修改节点数据展现到点击按钮后的页面上:

<el-button type="text" size="mini" @click="edit(data)">Edit</el-button>
<el-form :model="category">
        <el-form-item label="分类名称:" :label-width="formLabelWidth">
          <el-input v-model="category.name" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="图标:" :label-width="formLabelWidth">
          <el-input v-model="category.icon" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="计量单位:" :label-width="formLabelWidth">
          <el-input v-model="category.productUnit" autocomplete="off"></el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="submitData()">确 定</el-button>
      </span>
 
export default {
   
  data() {
   
    return {
   
      maxLevel: 0,
      title: "",
      dialogVisible: false,
      dialogType: "", //edit,add
      category: {
   
        catId: null,
        name: "",
        productUnit: "",
        icon: "",
        parentCid: 0,
        catLevel: 0,
        showStatus: 1,
        sort: 0,
      },
      menus: [],
      expandkey: [],
    };
  },
  methods: {
   
	edit(data) {
     //首先将要修改的节点最新信息展现在dialog页面上
      console.log("要修改的数据", data);
      this.dialogType = "edit";
      this.dialogVisible = true;  //和增加共用一个dialog页面
      this.title = "修改分类";  //dialog 与''添加分类''区分
      //发送请求  获取当前节点最新数据,为了展现在dialog页面上
      this.$http({
   
        url: this.$http.adornUrl(`/product/category/info/${
   data.catId}`),
        method: "get",
      }).then(({
    data }) => {
   
        //请求成功
        this.category.name = data.data.name;
        this.category.catId = data.data.catId;
        this.category.icon = data.data.icon;
        this.category.productUnit = data.data.productUnit;
        this.category.parentCid = data.data.parentCid;
      });
    },
// 确定 将修改或添加的数据提交后台,判断不同的提交方法
	submitData() {
   
	      if (this.dialogType == "add") {
   
	        this.addCategory();
	      }
	      if (this.dialogType == "edit") {
   
	        this.editCategory();
	      }
	    },
    // 修改三级分类方法
    editCategory() {
   
      var {
    catId, name, icon, productUnit } = this.category;
      var data = {
    catId, name, icon, productUnit };
      this.$http({
   
        url: this.$http.adornUrl("/product/category/update"),
        method: "post",
        data: this.$http.adornData(data, false),
      }).then(({
    data }) => {
   
        this.$message({
   
          type: "success",
          message: "菜单修改成功",
        });
        //关闭对话框
        this
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值