Vue.js实现简单动态数据处理
直接上代码吧
<%@pagecontentType="text/html;charset=UTF-8"%> <html> <head> <title>LibGoodsController测试页面</title> <metaname="layout"content="main"/> <scripttype="text/javascript"src="${resource(base:'..',dir:'js',file:'jquery-2.1.3.js')}"></script> <scripttype="text/javascript"src="${resource(base:'..',dir:'js',file:'vue.min.js')}"></script> <script> $(function(){ //列表选中ID vartableSelectId; //列表选中tr varselTr=null; //列表JSON varprintjson; //初始化过滤器 Vue.filter('isAuditFormatter',function(value){ if(value==true){ return"已审核"; } elsereturn"未审核"; }); Vue.filter('isEnabledFormatter',function(value){ if(value==true){ return"启用"; } elsereturn"停用"; }); Vue.filter('goodsTypeFormatter',function(value){ if(value=="1"){ return"零售"; } elsereturn"餐饮"; }); varOBJECT_CRUD=newVue({ el:'#object_crud', data:{ //显示JSON message:'', //对象 object:'', //对象数组 list:'' }, methods:{ //分页查询并显示数据 showData:function(){ var_self=this; varurl="..."; $.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; varel=evt.srcElement?evt.srcElement:evt.target; if(el.tagName.toUpperCase()!="TD")return; vartr=el.parentNode; tr.style.backgroundColor="yellow"; if(selTr!=null) { selTr.style.backgroundColor="white"; } selTr=tr; tableSelectId=selTr.cells[0].innerHTML; //通过ID获取对象 varurl="..."; $.ajax({ type:'GET', url:url, success:function(data){ if(data.result=="true"){ _self.object=data.data; } } }); }, //启用选中的记录 enable:function(){ var_self=this; varurl="..."; $.ajax({ type:'GET', url:url, success:function(data){ _self.message=JSON.stringify(data); if(data.result=="true"){ _self.showData(); } } }); }, //停用选中的记录 unEnable:function(){ var_self=this; varurl="..."; $.ajax({ type:'GET', url:url, success:function(data){ _self.message=JSON.stringify(data); if(data.result=="true"){ _self.showData(); } } }); }, //删除记录 delete:function(){ var_self=this; varurl="..."; $.ajax({ type:'GET', url:url, success:function(data){ _self.message=JSON.stringify(data); if(data.result=="true"){ _self.showData(); } } }); }, save:function(){ var_self=this; varurl="..."; $.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> <divstyle="text-align:center"id="test_title"> <fontcolor="#ff1493"size="6">商品信息管理服务(web-service-libGoods)接口测试</font><br><br><br> </div> <divid="object_crud"> 测试介绍:<br><br> <divclass="description"style="height:auto;width:auto;border-top:1pxdashed#F00; border-bottom:1pxdashed#F00;border-left:1pxdashed#F00;border-right:1pxdashed#F00"> 1.条件查询并分页(查询条件:商品名称模糊查询,商品类别,分页参数)<br> 2.新增商品<br> 3.更新商品<br> 4.删除商品<br> 5.启用/停用商品 </div><br><br> 1.商品名称:<g:textFieldname="queryStr"id="queryStr1"value="佳能"></g:textField> 商品类型: <g:radiovalue="2"name="goodsTypeSearch"></g:radio>餐饮 <g:radiovalue="1"name="goodsTypeSearch"checked="true"></g:radio>零售 列表参数:当前页:<g:textFieldname="page"value="0"></g:textField>每页显示:<g:textFieldname="pageSize"value="20"></g:textField> <buttonv-on:click="showData">查询</button> <buttonv-on:click="showJSON">显示JSON</button> <br><br> 测试结果JSON:<buttonv-on:click="clearJSON">清空测试结果</button> <br><br> <divclass="jsonResult"style="height:auto;width:auto;border-top:1pxdashed#F00; border-bottom:1pxdashed#F00;border-left:1pxdashed#F00;border-right:1pxdashed#F00"> {{message}} </div><br><br> 测试列表: <br><br> <divstyle="height:auto;width:auto;border-top:1pxdashed#F00; border-bottom:1pxdashed#F00;border-left:1pxdashed#F00;border-right:1pxdashed#F00"> <tableid="table"style="border:2";> <thead> <tr> <thstyle='width:3%;text-align:left'>ID</th> <thstyle='width:10%;text-align:left'>商品编码</th> <thstyle='width:5%;text-align:left'>商品类别</th> <thstyle='width:10%;text-align:left'>商品名称</th> <thstyle='width:10%;text-align:left'>简称</th> <thstyle='width:5%;text-align:left'>是否审核</th> <thstyle='width:5%;text-align:left'>是否启用</th> </tr> </thead> <tbody> <trv-for="datainlist"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.<buttonv-on:click="save">保存</button><br><br> 3.<buttonv-on:click="save">更新</button><br><br> 4.<buttonv-on:click="delete">删除</button><br><br> 5.<buttonv-on:click="enable">启用</button> <buttonv-on:click="unEnable">停用</button>br><br> 商品对象: <divclass="z333"style="height:auto;width:auto;border-top:1pxdashed#F00; border-bottom:1pxdashed#F00;border-left:1pxdashed#F00;border-right:1pxdashed#F00"><br> <g:formname="myform"> ID(测试启/停用,删除):<g:textFieldname="id"v-model="object.id"></g:textField><br><br> 商品编码:<g:textFieldname="barcode"v-model="object.barcode"></g:textField><fontcolor="red">*</font><br><br> 商品名称:<g:textFieldname="name"v-model="object.name"></g:textField><fontcolor="red">*</font><br><br> 商品类别:<g:radiovalue="2"name="goodsType"v-model="object.goodsType"></g:radio>餐饮 <g:radiovalue="1"name="goodsType"v-model="object.goodsType"></g:radio>零售<fontcolor="red">*</font><br><br> 商品简称:<g:textFieldname="shortName"v-model="object.shortName"></g:textField><br><br> 商品分类:<g:textFieldname="categoryName"v-model="object.categoryName"></g:textField><br><br> 品牌编码:<g:textFieldname="brandCode"v-model="object.brandCode"></g:textField><br><br> 产地:<g:textFieldname="productArea"v-model="object.productArea"></g:textField><br><br> 单位:<g:textFieldname="unitName"v-model="object.unitName"></g:textField><br><br> 规格:<g:textFieldname="goodsSpec"v-model="object.goodsSpec"></g:textField><br><br> 拼音码:<g:textFieldname="pyCode"v-model="object.pyCode"></g:textField><br><br> 备注:<g:textFieldname="remark"v-model="object.remark"></g:textField><br><br> </g:form> </div><br><br> </div> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。