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 相关文章推荐
编写高性能的JavaScript 脚本的加载与执行
Apr 19 Javascript
JavaScript Array对象扩展indexOf()方法
May 09 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
Oct 22 Javascript
javascript动态创建链接的方法
May 13 Javascript
jQuery插件制作之参数用法实例分析
Jun 01 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
jQuery 调用WebService 实例讲解
Jun 28 Javascript
全面了解js中的script标签
Jul 04 Javascript
最原始的jQuery注册验证方式
Oct 11 Javascript
微信小程序开发一键登录 获取session_key和openid实例
Nov 23 Javascript
layui中layer前端组件实现图片显示功能的方法分析
Oct 13 Javascript
JavaScript canvas绘制圆弧与圆形
Feb 18 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图片上传程序
2008/03/27 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
PHP实现货币换算的方法
2014/11/29 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
用JS写的一个TableView控件代码
2010/01/23 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
python实现简单购物商城
2016/05/21 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
遗传算法python版
2018/03/19 Python
pycharm新建一个python工程步骤
2019/07/16 Python
python dataframe NaN处理方式
2019/12/26 Python
python时间日期操作方法实例小结
2020/02/06 Python
使用OpenCV对车道进行实时检测的实现示例代码
2020/06/19 Python
python中数字是否为可变类型
2020/07/08 Python
汉语言文学职业规划
2014/02/14 职场文书
高中军训感言1000字
2014/03/01 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
踏青活动策划方案
2014/08/19 职场文书
学习礼仪心得体会
2014/09/01 职场文书
污水处理保证书
2015/05/09 职场文书
2015年党员个人工作总结
2015/05/13 职场文书
催款函范本大全
2015/06/24 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL