博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态增减表单项(vue+element)
阅读量:7016 次
发布时间:2019-06-28

本文共 6782 字,大约阅读时间需要 22 分钟。

hot3.png

最近遇到一个需求,要求给设备组下的所有商品设置商品会员价格,其流程为:选择会员等级和设备组获取未给此设备组设定该会员价格的商品,页面自动生成商品价格表单,进行设定商品会员价格。实现的代码如下:

   一、前端:

         1.HTML

设置商品会员价格

         2.JS

selectLevelOption(levelId){//选择会员等级时触发        let dgId = this.form.dgId;        if (dgId !=null && dgId != "" && dgId != undefined){          //先将domains数组清空          this.domains = [];         /* let formData = new FormData();          formData.append("groupId",dgId);          formData.append("levelId",levelId);*/          let query = {            groupId:dgId,            levelId:levelId          };          selectGoodsByDgIdLevelId(query)              .then(response => {                if (response.length == 0){                  this.$message({                    showClose:true,                    message:'目前没有商品可设置会员价格!',                    type:'warning'                  })                } else {                for (let i = 0; i < response.length; i++) {                  this.domains.push({                    goodsName:response[i].goodsName,                    goodsId:response[i].id,                    goodsPrice:'',                  });                 }                }              })        }      },      selectGoodsByGroupIdAdd(val){//根据设备组id获取相应的商品(添加使用)        let levelId = this.form.levelId;        if(levelId ==null || levelId == "" || levelId == undefined){          this.$message({            showClose:true,            message:'请选择会员等级',            type:"warning"          })        }else {        //先将domains数组清空        this.domains = [];        //console.log(val);        if(val != null && val != '' && val != undefined){          /*let formData = new FormData();          formData.append("groupId",val);          formData.append("levelId",levelId);*/          let query = {            groupId:val,            levelId:levelId          };          selectGoodsByDgIdLevelId(query)            .then(response => {              if (response.length == 0){                this.$message({                  showClose:true,                  message:'目前没有商品可设置会员价格!',                  type:'warning'                })              } else {                for (let i = 0; i < response.length; i++) {                  this.domains.push({                    goodsName:response[i].goodsName,                    goodsId:response[i].id,                    goodsPrice:'',                  });                }              }            })          }        }      },     create(formName) {        const set = this.$refs;        set[formName].validate(valid => {          if (valid) {            //console.log(JSON.stringify(this.domains));            let formData = new FormData();            formData.append("domains",JSON.stringify(this.domains));            formData.append("dgId",this.form.dgId);            formData.append("levelId",this.form.levelId);            //formData.append("isDelete","0");            addObj(formData)              .then(response => {                if (response.status == 500) {                  this.dialogFormVisible = false;                  this.$message({                    showClose:true,                    message:'添加失败,请检查商品是否已经设置过会员价格!',                    type:'error'                  })                }else {                  this.dialogFormVisible = false;                  this.getList();                  this.$notify({                    title: '成功',                    message: '创建成功',                    type: 'success',                    duration: 2000                  });                }              })          } else {            return false;          }        });      },
//跨域的路径export function selectGoodsByDgIdLevelId(query) {  return fetch({    url:'/api/goods/goods/selectGoodsByDgIdLevelId',    method:'get',    params: query  })}export function selectGoodsByDgIdLevelId(query) {  return fetch({    url:'/api/goods/goods/selectGoodsByDgIdLevelId',    method:'get',    params: query  })}

   

二、后端:

1.controller层

@RequestMapping(value = "/save", method = RequestMethod.POST)    @ResponseBody    public ObjectRestResponse
save(@RequestParam("domains") String domains,LevelDevicePrice levelDevicePrice){ ObjectRestResponse
objectRestResponse = new ObjectRestResponse<>(); List
levelDevicePrices = null; Map
params = new HashMap<>(); params.put("dg_id",levelDevicePrice.getDgId()); params.put("level_id",levelDevicePrice.getLevelId()); List
list = JSON.parseArray(domains,LevelDevicePrice.class); if(list.size()>0){ for (int i = 0; i < list.size(); i++) { params.put("goods_id",list.get(i).getGoodsId()); levelDevicePrices = baseBiz.selectByProperty(params); if(levelDevicePrices.size()>0){ break; } } if (levelDevicePrices.size()>0){ objectRestResponse.setStatus(500); objectRestResponse.setMessage("添加失败!"); }else { for (int i = 0; i < list.size(); i++) { if (list.get(i).getGoodsPrice() != null){ list.get(i).setDgId(levelDevicePrice.getDgId()); list.get(i).setLevelId(levelDevicePrice.getLevelId()); list.get(i).setIsDelete("0"); baseBiz.insertSelective(list.get(i)); } } } } return objectRestResponse; }

2.biz层

/**     * 根据property动态的条件获取数据     * @param params     * @return     */    public List
selectByProperty(Map
params) { return mapper.selectByProperty(params); }

3.mapper层

/**     * 根据property动态的条件获取数据     * @param params    */    List
selectByProperty(@Param("params") Map
params);

4.mybatis.xml

 

转载于:https://my.oschina.net/u/3734228/blog/3042163

你可能感兴趣的文章
jQuery中的join方法
查看>>
Java内存模型小析之原子性和可见性(二)
查看>>
JSP取得绝对路径
查看>>
Python Module_os_操作系统
查看>>
阿里云异构计算产品家族之数据智能,加速AI智能创新
查看>>
最新Do Not Track标准问世:网站都应尊重用户选择
查看>>
逾半数全球商业领袖认同智能自动化,但首先要解决员工的抵触情绪
查看>>
被忽视的Web安全漏洞:如何识别和解决?
查看>>
“懒惰”Linux管理员的10个关键技巧
查看>>
SDN网络的构建及通信业务与光纤引入
查看>>
高热之下有冰点 大数据产业遭遇成长期烦恼
查看>>
大数据时代零售企业如何进行精确营销
查看>>
对冷却系统进行全面分析
查看>>
淘宝造物节,“奇市江湖”里那些脑洞大开的创意产品
查看>>
AMD宣布修复RX480供电Bug 性能还提速3%
查看>>
联想武汉工厂因暴雨断电 每日损失利润百万?
查看>>
撬动智能家居市场 智慧家庭“最强大脑”被激活
查看>>
聊聊springcloud的GatewayControllerEndpoint
查看>>
聊聊sentinel的SentinelResourceAspect
查看>>
聊聊flink的SpoutWrapper
查看>>