Vue.js实现简单动态数据处理


Posted in Javascript onFebruary 13, 2017

直接上代码吧

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
  <title>LibGoodsController测试页面</title>
  <meta name="layout" content="main"/>
  <script type="text/javascript" src="${resource(base: '..', dir: 'js', file: 'jquery-2.1.3.js')}"></script>
  <script type="text/javascript" src="${resource(base: '..', dir: 'js', file: 'vue.min.js')}"></script>
  <script>
    $(function() {
      //列表选中ID
      var tableSelectId;
      //列表选中tr
      var selTr = null;
      //列表JSON
      var printjson;

      //初始化过滤器
      Vue.filter('isAuditFormatter', function (value) {
        if(value == true){
          return "已审核";
        }
        else return "未审核";
      });

      Vue.filter('isEnabledFormatter',function (value){
        if(value == true){
          return "启用";
        }
        else return "停用";
      });

      Vue.filter('goodsTypeFormatter',function (value){
        if(value == "1"){
          return "零售";
        }
        else return "餐饮";
      });

      var OBJECT_CRUD = new Vue({
        el: '#object_crud',
        data: {
          //显示JSON
          message:'',
          //对象
          object : '',
          //对象数组
          list : ''
        },
        methods: {
          //分页查询并显示数据
          showData: function () {
            var _self = this;
            var url = "...";
            $.ajax({
              type: 'GET',
              url: url,
              success:function(data) {
                printjson = JSON.stringify(data);
                _self.list = data.data.rows;
              }
            });
          },
          //显示查询JSON
          showJSON:function(){
            this.message = printjson;
          },
          //清空查询返回JSON
          clearJSON:function(){
            this.message = "";
          },
          //选中列表行 点击事件
          onClick:function (evt) {
            var _self = this;
            var el = evt.srcElement?evt.srcElement:evt.target;
            if(el.tagName.toUpperCase() !="TD") return;
            var tr = el.parentNode;
            tr.style.backgroundColor="yellow";
            if(selTr !=null)
            {
              selTr.style.backgroundColor ="white";
            }
            selTr = tr;
            tableSelectId = selTr.cells[0].innerHTML;
            //通过ID获取对象
            var url = "...";
            $.ajax({
              type: 'GET',
              url: url,
              success:function(data) {
                if(data.result == "true"){
                  _self.object = data.data;
                }
              }
            });
          },
          //启用 选中的 记录
          enable:function(){
            var _self = this;
            var url = "...";
            $.ajax({
              type: 'GET',
              url: url,
              success:function(data) {
                _self.message = JSON.stringify(data);
                if(data.result == "true"){
                  _self.showData();
                }
              }
            });
          },
          //停用 选中的 记录
          unEnable:function(){
            var _self = this;
            var url = "...";
            $.ajax({
              type: 'GET',
              url: url,
              success:function(data) {
                _self.message = JSON.stringify(data);
                if(data.result == "true"){
                  _self.showData();
                }
              }
            });
          },
          //删除 记录
          delete:function(){
            var _self = this;
            var url = "...";
            $.ajax({
              type: 'GET',
              url: url,
              success:function(data) {
                _self.message = JSON.stringify(data);
                if(data.result == "true") {
                  _self.showData();
                }
              }
            });
          },
          save:function(){
            var _self = this;
            var url = "...";
            $.ajax({
              type: 'POST',
              url: url,
              data:{
                id:$('#id').val()
                /*...*/
              },
              success:function(data) {
                _self.message = JSON.stringify(data);
                if(data.result == "true"){
                  _self.showData();
                }
              }
            });
          }
        }
      })
    });
  </script>
</head>

<body>
<div style="text-align: center" id="test_title">
  <font color="#ff1493" size="6">商品信息管理服务(web-service-libGoods)接口测试</font> <br><br><br>
</div>


<div id="object_crud">

  测试介绍:<br><br>
  <div class="description" style="height:auto;width:auto;border-top: 1px dashed #F00;
  border-bottom: 1px dashed #F00;border-left: 1px dashed #F00;border-right: 1px dashed #F00">
    1.条件查询并分页(查询条件:商品名称模糊查询,商品类别,分页参数)<br>
    2.新增商品<br>
    3.更新商品<br>
    4.删除商品<br>
    5.启用/停用商品
  </div><br><br>

  1.商品名称:<g:textField name="queryStr" id="queryStr1" value="佳能"></g:textField>
  商品类型 :
  <g:radio value="2" name="goodsTypeSearch"></g:radio>餐饮
  <g:radio value="1" name="goodsTypeSearch" checked="true"></g:radio>零售
  列表参数: 当前页:<g:textField name="page" value="0"></g:textField> 每页显示:<g:textField name="pageSize" value="20"></g:textField>
  <button v-on:click="showData">查询</button>
  <button v-on:click="showJSON">显示JSON</button>
  <br><br>

  测试结果JSON:<button v-on:click="clearJSON">清空测试结果</button>
  <br><br>
  <div class="jsonResult" style="height:auto;width:auto;border-top: 1px dashed #F00;
  border-bottom: 1px dashed #F00;border-left: 1px dashed #F00;border-right: 1px dashed #F00">
    {{message}}
  </div><br><br>

  测试列表:
  <br><br>
  <div style="height:auto;width:auto;border-top: 1px dashed #F00;
  border-bottom: 1px dashed #F00;border-left: 1px dashed #F00;border-right: 1px dashed #F00">
    <table id="table" style="border:2";>
      <thead>
      <tr>
        <th style='width:3%; text-align: left'>ID</th>
        <th style='width:10%; text-align: left'>商品编码</th>
        <th style='width:5%; text-align: left'>商品类别</th>
        <th style='width:10%; text-align: left'>商品名称</th>
        <th style='width:10%; text-align: left'>简称</th>
        <th style='width:5%; text-align: left'>是否审核</th>
        <th style='width:5%; text-align: left'>是否启用</th>
      </tr>
      </thead>
      <tbody>
      <tr v-for="data in list" v-on:click="onClick">
        <td>{{data.id}}</td>
        <td>{{data.barcode}}</td>
        <td>{{data.goodsType | goodsTypeFormatter}}</td>
        <td>{{data.name}}</td>
        <td>{{data.shortName}}</td>
        <td>{{data.isAudit | isAuditFormatter}}</td>
        <td>{{data.isEnabled | isEnabledFormatter}}</td>
      </tr>
      </tbody>
    </table>
  </div>

  <br><br>
  2.<button v-on:click="save">保存</button> <br><br>
  3.<button v-on:click="save">更新</button> <br><br>
  4.<button v-on:click="delete">删除</button> <br><br>
  5.<button v-on:click="enable">启用</button> 
  <button v-on:click="unEnable">停用</button>br><br>

  商品对象:
  <div class="z333" style="height:auto;width:auto;border-top: 1px dashed #F00;
  border-bottom: 1px dashed #F00;border-left: 1px dashed #F00;border-right: 1px dashed #F00"><br>
    <g:form name="myform">
      ID(测试启/停用,删除):<g:textField name="id" v-model="object.id"></g:textField><br><br>
      商品编码:<g:textField name="barcode" v-model="object.barcode"></g:textField><font color="red"> *</font><br><br>
      商品名称:<g:textField name="name" v-model="object.name"></g:textField><font color="red"> *</font><br><br>
      商品类别:<g:radio value="2" name="goodsType" v-model="object.goodsType"></g:radio>餐饮
      <g:radio value="1" name="goodsType" v-model="object.goodsType"></g:radio>零售<font color="red"> *</font><br><br>
      商品简称:<g:textField name="shortName" v-model="object.shortName"></g:textField><br><br>
      商品分类:<g:textField name="categoryName" v-model="object.categoryName"></g:textField><br><br>
      品牌编码:<g:textField name="brandCode" v-model="object.brandCode"></g:textField><br><br>
      产地:<g:textField name="productArea" v-model="object.productArea"></g:textField><br><br>
      单位:<g:textField name="unitName" v-model="object.unitName"></g:textField><br><br>
      规格:<g:textField name="goodsSpec" v-model="object.goodsSpec"></g:textField><br><br>
      拼音码:<g:textField name="pyCode" v-model="object.pyCode"></g:textField><br><br>
      备注:<g:textField name="remark" v-model="object.remark"></g:textField><br><br>
    </g:form>
  </div><br><br>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js截取小数点后几位的写法
Nov 14 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
基于javascript html5实现多文件上传
Mar 03 Javascript
jQuery动态改变多行文本框高度的方法
Sep 07 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
Sep 29 Javascript
js数组去重的hash方法
Dec 22 Javascript
easyui combogrid实现本地模糊搜索过滤多列
May 13 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
sublime text配置node.js调试(图文教程)
Nov 23 Javascript
Bootstrap模态对话框中显示动态内容的方法
Aug 10 Javascript
解决layer.open后laydate失效的问题
Sep 06 Javascript
如何用JavaScript实现一个数组惰性求值库
May 05 Javascript
JavaScript获取select中text值的方法
Feb 13 #Javascript
详谈$.data()的用法和作用
Feb 13 #Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
Feb 13 #Javascript
JavaScript实现公历转农历功能示例
Feb 13 #Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
Feb 13 #Javascript
jQuery源码分析之sizzle选择器详解
Feb 13 #Javascript
JS中input表单隐藏域及其使用方法
Feb 13 #Javascript
You might like
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
PHP详细彻底学习Smarty
2008/03/27 PHP
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
JavaScript Accessor实现说明
2010/12/06 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
Python计算程序运行时间的方法
2014/12/13 Python
部署Python的框架下的web app的详细教程
2015/04/30 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
对python中dict和json的区别详解
2018/12/18 Python
详解用python生成随机数的几种方法
2019/08/04 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
python中的时区问题
2021/01/14 Python
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
大学奖学金获奖感言
2014/08/15 职场文书
2014年医务科工作总结
2014/12/18 职场文书
检讨书范文2000字
2015/01/28 职场文书
邀请函模板
2015/02/02 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python