依赖:

-------------------------------------------------------------------------------

效果:

-------------------------------------------------------------------------------

代码:

<!DOCTYPE html>
<html ng-app="OrderApp">
<head><meta charset="UTF-8"><title>订单管理</title><script type="text/javascript" src="jquery.1.12.4.js"></script><script type="text/javascript" src="angular-1.3.0.js"></script><script type="text/javascript" src="data.js"></script><style type="text/css">* {font-size: 14px;margin: 0;padding: 0;}body {padding: 16px 32px;}.filter {position: relative;width: 800px;height: 40px;margin: 0 auto;}.filter input {width: 152px;height: 24px;border: 1px solid #999;border-radius: 4px;padding-left: 8px;}.filter select {width: 86px;height: 24px;border: 1px solid #999;border-radius: 4px;}.buttons {width: 800px;height: 40px;margin: 0 auto;}.buttons button {width: 80px;height: 24px;background-color: green;border: 0;border-radius: 4px;color: white;}.buttons .remove_btn {background-color: red;}.list {width: 800px;margin: 0 auto;}.list table tr {height: 32px;}.list thead tr {background-color: #777;}.list tbody tr:nth-child(odd) {background-color: #ccc;}.list tbody tr:nth-child(even) {background-color: #fff;}.list button {width: 40px;height: 18px;line-height: 18px;background-color: green;border: 0;border-radius: 4px;color: white;font-size: 8px;}.form {width: 460px;border: 1px solid #999;margin: 0 auto;}.form div {clear: both;}.form .formErr {border: 1px solid red;}.form .label {display: block;float: left;width: 80px;height: 40px;line-height: 40px;text-align: end;}.form .txt {display: block;float: left;width: 340px;height: 40px;line-height: 40px;padding-left: 16px;}.form input {width: 312px;height: 24px;border: 1px solid #999;border-radius: 4px;padding-left: 8px;}.form select {width: 86px;height: 24px;border: 1px solid #999;border-radius: 4px;}.form button {width: 56px;height: 24px;background-color: green;border: 0;border-radius: 4px;color: white;}.form .errTips {width: 226px;background-color: lightpink;color: darkred;border-radius: 4px;margin-left: 96px;margin-top: 6px;margin-bottom: 4px;padding: 16px 48px;}</style><script type="text/javascript">// 全选/全不选
        $(function () {$("input[name='check_all']").click(function () {var checked = this.checked; // 获取 <input type="checkbox" name="check_all"/> 中checked属性的值
                $("input[name='order_id[]']").each(function () {this.checked = checked; // 依次设置每一个 <input type="checkbox" name="order_id[]"/> 中checked属性的值
                });});});var app = angular.module("OrderApp", []);// 敏感词
        app.filter("sensitiveWord", function () {return function (msg, flag) {return msg.replace(flag, "*");}});app.controller("OrderCtrl", function ($scope) {$scope.data = data;var id = 12;// 通过月份过滤
            $scope.filterByMonth = function (order) {if ($scope.filter_begin_month == undefined || $scope.filter_begin_month == "") {return true;}if ($scope.filter_end_month == undefined || $scope.filter_end_month == "") {return true;}var beginMonth = parseInt($scope.filter_begin_month);var endMonth = parseInt($scope.filter_end_month);if (beginMonth > endMonth) {return true;}var month = order.dtCreated.substr(0, order.dtCreated.indexOf("-"));month = parseInt(month);return (month >= beginMonth && month <= endMonth);};// 发货
            $scope.deliver = function (id) {for (var i in $scope.data) {if ($scope.data[i].id == id) {$scope.data[i].status = "已发货";}}};// 批量发货
            $scope.batchDeliver = function () {$("input[name='order_id[]']:checked").each(function () {$scope.deliver(this.id);});};// 删除
            $scope.remove = function (id) {for (var i in $scope.data) {if ($scope.data[i].id == id) {$scope.data.splice(i, 1);}}};// 批量删除
            $scope.batchRemove = function () {$("input[name='order_id[]']:checked").each(function () {$scope.remove(this.id);});};$scope.isShowAddOrderForm = false;// 显示新增订单表单
            $scope.showAddOrderForm = function () {$scope.isShowAddOrderForm = true;};$scope.errTips = [];// 提交新增订单表单
            $scope.submitAddOrderForm = function () {$scope.errTips = [];$scope.goodsNameClassName = "";$scope.userNameClassName = "";$scope.phoneClassName = "";$scope.priceClassName = "";$scope.hasErr = false;var goodsName = $scope.goodsName == undefined ? "" : $scope.goodsName.trim();var userName = $scope.userName == undefined ? "" : $scope.userName.trim();var phone = $scope.phone == undefined ? "" : $scope.phone.trim();var price = $scope.price == undefined ? "" : $scope.price.trim();if (goodsName == "") {$scope.errTips.push("商品名不能为空!");$scope.goodsNameClassName = "formErr";$scope.hasErr = true;}if (userName == "") {$scope.errTips.push("用户名不能为空!");$scope.userNameClassName = "formErr";$scope.hasErr = true;}if (phone == "") {$scope.errTips.push("手机号不能为空!");$scope.phoneClassName = "formErr";$scope.hasErr = true;}if (price == "") {$scope.errTips.push("价格不能为空!");$scope.priceClassName = "formErr";$scope.hasErr = true;}if ($scope.city == undefined || $scope.city == "") {$scope.errTips.push("请选择城市!");$scope.hasErr = true;}if (goodsName.length < 6 || goodsName.length > 20) {$scope.errTips.push("商品名必须是6-20个字符!");$scope.goodsNameClassName = "formErr";$scope.hasErr = true;}if (userName.length < 4 || userName.length > 16) {$scope.errTips.push("用户名必须是4-16个字符!");$scope.userNameClassName = "formErr";$scope.hasErr = true;}if (!/^\d{11}$/.test(phone)) {$scope.errTips.push("手机号格式不正确!");$scope.phoneClassName = "formErr";$scope.hasErr = true;}price = parseFloat(price);if (isNaN(price) || price <= 0) {$scope.errTips.push("价格必须大于0!");$scope.priceClassName = "formErr";$scope.hasErr = true;}if ($scope.hasErr) {return;}$scope.data.push({id: ++id,goodsName: goodsName,userName: userName,phone: phone,price: price,city: $scope.city,dtCreated: "10-25 10:00",status: "待发货"
                });$scope.goodsName = "";$scope.userName = "";$scope.phone = "";$scope.price = "";$scope.city = "";$scope.isShowAddOrderForm = false;};// 显示修改订单表单
            $scope.edit = function (id) {for (var i in $scope.data) {if ($scope.data[i].id == id) {$scope.edit_goodsName = $scope.data[i].goodsName;$scope.edit_userName = $scope.data[i].userName;$scope.edit_phone = $scope.data[i].phone;$scope.edit_price = $scope.data[i].price;$scope.edit_city = $scope.data[i].city;$scope.edit_id = $scope.data[i].id;}}$scope.isShowEditOrderForm = true;};// 提交修改订单表单
            $scope.submitEditOrderForm = function () {$scope.errTips = [];$scope.edit_userNameClassName = "";$scope.edit_phoneClassName = "";$scope.edit_priceClassName = "";$scope.hasErr = false;var id = $scope.edit_id == undefined ? "" : parseInt($scope.edit_id);var userName = $scope.edit_userName == undefined ? "" : $scope.edit_userName.trim();var phone = $scope.edit_phone == undefined ? "" : $scope.edit_phone.trim();var price = $scope.edit_price == undefined ? "" : $scope.edit_price;if (userName == "") {$scope.errTips.push("用户名不能为空!");$scope.userNameClassName = "formErr";$scope.hasErr = true;}if (phone == "") {$scope.errTips.push("手机号不能为空!");$scope.phoneClassName = "formErr";$scope.hasErr = true;}if (price == "") {$scope.errTips.push("价格不能为空!");$scope.priceClassName = "formErr";$scope.hasErr = true;}if ($scope.edit_city == undefined || $scope.edit_city == "") {$scope.errTips.push("请选择城市!");$scope.hasErr = true;}if (userName.length < 4 || userName.length > 16) {$scope.errTips.push("用户名必须是4-16个字符!");$scope.userNameClassName = "formErr";$scope.hasErr = true;}if (!/^\d{11}$/.test(phone)) {$scope.errTips.push("手机号格式不正确!");$scope.phoneClassName = "formErr";$scope.hasErr = true;}price = parseFloat(price);if (isNaN(price) || price <= 0) {$scope.errTips.push("价格必须大于0!");$scope.priceClassName = "formErr";$scope.hasErr = true;}if ($scope.hasErr) {return;}for (var i in $scope.data) {if ($scope.data[i].id == id) {$scope.data[i].userName = userName;$scope.data[i].phone = phone;$scope.data[i].price = price;$scope.data[i].city = $scope.edit_city;}}$scope.edit_goodsName = "";$scope.edit_userName = "";$scope.edit_phone = "";$scope.edit_price = "";$scope.edit_city = "";$scope.isShowEditOrderForm = false;};});</script>
</head>
<body ng-controller="OrderCtrl">
<div class="filter"><input type="text" placeholder="用户名搜索" ng-model="filter_user_name"/><input type="text" placeholder="手机号搜索" ng-model="filter_phone"/><select class="choose_city" ng-model="filter_city"><option value="">选择城市</option><option value="北京">北京</option><option value="上海">上海</option><option value="天津">天津</option><option value="重庆">重庆</option></select><select class="choose_status" ng-model="filter_status"><option value="">选择状态</option><option value="待发货">待发货</option><option value="已发货">已发货</option><option value="已收货">已收货</option></select><select class="choose_time_begin_month" ng-model="filter_begin_month"><option value="">开始月份</option><option value="1">01</option><option value="2">02</option><option value="3">03</option><option value="4">04</option><option value="5">05</option><option value="6">06</option><option value="7">07</option><option value="8">08</option><option value="9">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option></select> -<select class="choose_time_end_month" ng-model="filter_end_month"><option value="">结束月份</option><option value="1">01</option><option value="2">02</option><option value="3">03</option><option value="4">04</option><option value="5">05</option><option value="6">06</option><option value="7">07</option><option value="8">08</option><option value="9">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option></select><select class="id_order" ng-model="id_order_type"><option value="">ID排序</option><option value="id">ID正序</option><option value="-id">ID倒序</option></select>
</div><div class="buttons"><button class="add_btn" ng-click="showAddOrderForm();">新增订单</button><button class="deliver_btn" ng-click="batchDeliver()">批量发货</button><button class="remove_btn" ng-click="batchRemove()">批量删除</button>敏感字:米(商品名)-> 替换成 *
</div><div class="list"><table width="800px" cellspacing="0" rules="cols" border="1px"><thead><tr><th width="4%"><input type="checkbox" name="check_all"/></th><th width="6%">ID</th><th width="14%">商品名</th><th width="8%">用户名</th><th width="14%">手机号</th><th width="10%">价格</th><th width="8%">城市</th><th width="12%">下单时间</th><th width="8%">状态</th><th width="14%">操作</th></tr></thead><tbody><tr align="center"
            ng-repeat="order in data | filter: {userName: filter_user_name} | filter: {phone: filter_phone} | filter: {city: filter_city} | filter: {status: filter_status} | filter: filterByMonth | orderBy: id_order_type"><td><input type="checkbox" name="order_id[]" id="{{ order.id }}"/></td><td>{{ order.id }}</td><td>{{ order.goodsName | sensitiveWord: "米"}}</td><td>{{ order.userName }}</td><td>{{ order.phone }}</td><td>{{ order.price | currency: "¥"}}</td><td>{{ order.city }}</td><td>{{ order.dtCreated }}</td><td><span ng-show="order.status=='待发货'" ng-click="deliver(order.id)"><a href="javascript: void(0);">发货</a></span><span ng-show="order.status=='已发货'">已发货</span><span ng-show="order.status=='已收货'">已收货</span></td><td><a href="javascript: void(0);" ng-click="edit(order.id)">修改</a><a href="javascript: void(0);" ng-click="remove(order.id)">删除</a></td></tr></tbody></table>
</div><div class="form" ng-show="isShowAddOrderForm"><div><span class="label">新增订单</span><span class="txt"></span></div><div><span class="label">商品名</span><span class="txt"><input type="text" placeholder="6-20个字符" ng-model="goodsName" ng-class="goodsNameClassName"/></span></div><div><span class="label">用户名</span><span class="txt"><input type="text" placeholder="4-16个字符" ng-model="userName" ng-class="userNameClassName"/></span></div><div><span class="label">手机号</span><span class="txt"><input type="text" ng-model="phone" ng-class="phoneClassName"/></span></div><div><span class="label">价格</span><span class="txt"><input type="text" ng-model="price" ng-class="priceClassName"/></span></div><div><span class="label">城市</span><span class="txt"><select ng-model="city"><option value="">选择城市</option><option value="北京">北京</option><option value="上海">上海</option><option value="天津">天津</option><option value="重庆">重庆</option></select></span></div><div class="errTips" ng-show="hasErr"><ul><li ng-repeat="msg in errTips">{{ msg }}</li></ul></div><div><span class="label"></span><span class="txt"><button ng-click="submitAddOrderForm()">提交</button></span></div><div style="clear: both"></div>
</div><div class="form" ng-show="isShowEditOrderForm"><div><span class="label">修改订单</span><span class="txt"></span></div><div><span class="label">商品名(只读)</span><span class="txt"><input type="text" placeholder="6-20个字符" ng-model="edit_goodsName" readonly/></span></div><div><span class="label">用户名</span><span class="txt"><input type="text" placeholder="4-16个字符" ng-model="edit_userName" ng-class="edit_userNameClassName"/></span></div><div><span class="label">手机号</span><span class="txt"><input type="text" ng-model="edit_phone" ng-class="edit_phoneClassName"/></span></div><div><span class="label">价格</span><span class="txt"><input type="text" ng-model="edit_price" ng-class="edit_priceClassName"/></span></div><div><span class="label">城市</span><span class="txt"><select ng-model="edit_city"><option value="">选择城市</option><option value="北京">北京</option><option value="上海">上海</option><option value="天津">天津</option><option value="重庆">重庆</option></select></span></div><div class="errTips" ng-show="hasErr"><ul><li ng-repeat="msg in errTips">{{ msg }}</li></ul></div><div><span class="label"></span><input type="hidden" ng-model="edit_id"/><span class="txt"><button ng-click="submitEditOrderForm()">提交</button></span></div><div style="clear: both"></div>
</div>
</body>
</html>

订单用户表2(用户名查询、手机号查询、选择城市、选择状态、选择月份、ID排序、添加数据、批量发货、批量删除、敏感字、修改数据)相关推荐

  1. 在可编辑表格EditorGrid中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍然被插入数据库中...

    为什么80%的码农都做不了架构师?>>>    问题描述:在可编辑表格中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍 ...

  2. mysql 查询auto_increment_MySQL查询数据表的Auto_Increment(自增id)

    1.一般数据表的id都是设置成auto_increment的,所以当插入一条记录后,可以使用下面的命令来获取最新插入记录的id值 select last_insert_id(); 注意:1. 必须是在 ...

  3. mysql用户登录和第三方登录_mysql 用户表结构设计,第三方登录

    说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情.用户表结构的设计,算是整个后台架构的基石.如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地 ...

  4. 第三方登录mysql表_浅谈数据库用户表结构设计,第三方登录

    说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情.用户表结构的设计,算是整个后台架构的基石.如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地 ...

  5. 数据库表设计-第三方登录用户表结构设计

    说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情.用户表结构的设计,算是整个后台架构的基石.如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地 ...

  6. 第三方登录数据库用户表结构设计

    说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情.用户表结构的设计,算是整个后台架构的基石.如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地 ...

  7. 浅谈数据库用户表结构设计,第三方登录

    说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情.用户表结构的设计,算是整个后台架构的基石.如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地 ...

  8. 数据库用户表结构设计-多种注册方式含第三方登录

    传统互联网已经过渡到移动互联网的时代,我们在开发android.ios.小程序等的时候,客户端的注册方式已经非常的丰富多样.所以,后台的用户表的设计也需要适应不同注册方式「不断扩张」及「相互绑定」的情 ...

  9. MySQL:用户表结构设计

    说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情.用户表结构的设计,算是整个后台架构的基石.如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地 ...

  10. 用户数据表设计借鉴 浅谈数据库用户表结构设计,第三方登录 基于 Token 的身份验证

    最近对用户数据表的设计比较感兴趣,看到了两篇比较好的文章. 浅谈数据库用户表结构设计,第三方登录 转载于: https://www.cnblogs.com/jiqing9006/p/5937733.h ...

最新文章

  1. linux下备份mysql上传到网盘_Linux命令行上传文件到百度网盘
  2. Redis之单线程 Reactor 模型
  3. POJ 2096 (概率DP)
  4. 非对称加密和证书总结
  5. java web 怎么实现直播_Java web后端直播接入腾讯IM聊天
  6. bzoj 2435: [Noi2011]道路修建【树形dp】
  7. types是什么意思中文翻译成_types 和 @types 是什么?
  8. javascript --- [jsonp] script标签的妙用(绕过同源限制)
  9. 网络知识:宽带下载网速是30MB/s,经过路由器后仅10MB/s,看完你就懂了!
  10. 显示数据库的所有表名,字段名,库名
  11. 《如何搭建小微企业风控模型》第五节 特征工程(上)
  12. Go 统计含 emoji 字符串字符数
  13. 电脑键盘部分按键失灵_笔记本键盘一部分失灵怎么办(笔记本个别键失灵的解决方法)...
  14. 通过ScrollView实现滚动效果
  15. Java Swing教程(基础)
  16. linux升级gfortran版本,Ubuntu下GCC、G++和gfortran版本切换
  17. python文件的基本操作_Python文件基本操作
  18. 程序的两种执行方式,静态语言和脚本语言
  19. SQL语法应用介绍-尚硅谷大数据培训
  20. 明日之后android和ios,明日之后安卓苹果互通吗

热门文章

  1. 肝脏、心脏、脾脏、肺脏、肾脏的毒素表现以及食疗排毒
  2. 来自腾讯的高性能服务器架构思路
  3. 【国产单片机】华大HC32L13系列使用printf进行调试(多种方法)
  4. boost 进程间通信-share memery传递字符串
  5. 无损信息隐藏技术综述
  6. 西直门立交桥的破事儿
  7. 七、常用类(高琪java300集+java从入门到精通笔记)
  8. 鼠标单击双击事件监听
  9. html5闪光效果,HTML5 canvas元素背景梦幻小星星闪烁特效
  10. python计算球体体积_用于计算python中的体积或表面积的良好算法