├── .gitignore ├── LICENSE ├── README.md ├── pom.xml └── src └── main ├── java └── cn │ └── gtapc │ ├── base │ ├── controller │ │ └── BaseController.java │ ├── entity │ │ └── BaseEntity.java │ └── springmvc │ │ └── convert │ │ └── DateConverter.java │ ├── ordering │ ├── constant │ │ ├── ConfigConstant.java │ │ ├── DinnerTableStatusEnum.java │ │ └── RequestResultEnum.java │ ├── controller │ │ ├── CommonController.java │ │ ├── FoodController.java │ │ ├── ForwardController.java │ │ ├── OrderController.java │ │ ├── TemporaryOrderController.java │ │ ├── VOController.java │ │ └── manage │ │ │ ├── ManageDinnerTableController.java │ │ │ ├── ManageFoodController.java │ │ │ ├── ManageFoodTypeController.java │ │ │ ├── ManageForwardController.java │ │ │ ├── ManageOrder2Controller.java │ │ │ ├── ManageOrderController.java │ │ │ ├── ManageTemporaryOrder2Controller.java │ │ │ └── ManageTemporaryOrderController.java │ ├── entity │ │ ├── DinnerTable.java │ │ ├── Food.java │ │ ├── FoodType.java │ │ ├── Order.java │ │ ├── TemporaryOrder.java │ │ └── vo │ │ │ ├── OrderedVO.java │ │ │ └── TemporaryOrderVO.java │ ├── filter │ │ └── ViewInterceptor.java │ ├── mapper │ │ ├── DinnerTableMapper.java │ │ ├── FoodMapper.java │ │ ├── FoodTypeMapper.java │ │ ├── OrderMapper.java │ │ └── TemporaryOrderMapper.java │ └── service │ │ ├── IDinnerTableService.java │ │ ├── IFoodService.java │ │ ├── IFoodTypeService.java │ │ ├── IOrderService.java │ │ ├── ITemporaryOrderService.java │ │ └── impl │ │ ├── DinnerTableServiceImpl.java │ │ ├── FoodServiceImpl.java │ │ ├── FoodTypeServiceImpl.java │ │ ├── OrderServiceImpl.java │ │ └── TemporaryOrderServiceImpl.java │ └── util │ ├── common │ ├── CollectionUtil.java │ ├── DateUtil.java │ ├── FileUtils.java │ ├── HttpUtil.java │ ├── MapUtil.java │ ├── ObjectUtil.java │ ├── ParseUtil.java │ ├── PropertiesUtil.java │ ├── RandomUtil.java │ ├── StringUtil.java │ ├── ValidateUtil.java │ └── ValidationUtil.java │ ├── constant │ └── RequestMethodEnum.java │ └── framework │ └── MpGenerator.java ├── resources ├── doc │ └── 响应编码消息规范.xlsx ├── generatorConfig.xml ├── mybatis │ ├── mapper │ │ ├── DinnerTableMapper.xml │ │ ├── FoodMapper.xml │ │ ├── FoodTypeMapper.xml │ │ ├── OrderMapper.xml │ │ └── TemporaryOrderMapper.xml │ └── mybatis-config.xml ├── properties │ ├── config.properties │ ├── freemarker.properties │ ├── jdbc.properties │ └── mail.properties └── spring │ ├── applicationContext.xml │ ├── spring-dataSource.xml │ ├── spring-mvc-freeMarker.xml │ ├── spring-mvc.xml │ ├── spring-mybatis.xml │ ├── spring-shiro.xml │ └── spring-transaction.xml └── webapp ├── WEB-INF └── web.xml ├── freeMarker ├── checkout.ftl ├── index.ftl ├── manage │ ├── _order.ftl │ ├── _order2.ftl │ ├── dinner_table.ftl │ ├── food.ftl │ ├── food_detail.ftl │ ├── food_type.ftl │ ├── food_type_detail.ftl │ ├── index.ftl │ ├── temporary_order.ftl │ └── temporary_order2.ftl ├── od2.ftl ├── ordered.ftl ├── ordered_panel.ftl └── ordered_panel1.ftl └── static ├── css ├── demo.css └── style.css ├── images ├── arrow_down.png └── arrow_up.png ├── js └── common.js └── manage ├── crud.html ├── demo.html ├── index.html ├── login.html └── resources ├── css ├── admin.css ├── common.css └── login.css ├── data └── data1.json ├── images ├── avatar.jpg ├── logo.png ├── zheng-cms-theme-m1.png ├── zheng-cms-theme-m2.png ├── zheng-cms-theme.png ├── zheng-cms.png ├── zheng-oss-theme.png ├── zheng-oss.png ├── zheng-pay-theme.png ├── zheng-pay.png ├── zheng-ucenter-theme.png ├── zheng-ucenter.png ├── zheng-upms-theme.png ├── zheng-upms.png └── zsz.psd ├── js ├── admin.js ├── common.js └── login.js └── plugins ├── BootstrapMenu.min.js ├── My97DatePicker ├── WdatePicker.js ├── calendar.js ├── lang │ ├── en.js │ ├── zh-cn.js │ └── zh-tw.js └── skin │ ├── WdatePicker.css │ ├── datePicker.gif │ ├── default │ ├── datepicker.css │ └── img.gif │ └── whyGreen │ ├── bg.jpg │ ├── datepicker.css │ └── img.gif ├── angular ├── angular-1.5.8 │ ├── angular-animate.min.js │ ├── angular-aria.min.js │ ├── angular-locale_zh-cn.js │ ├── angular-messages.min.js │ └── angular.min.js └── angular-material-1.1.1 │ ├── angular-material.min.css │ └── angular-material.min.js ├── awesome-bootstrap-checkbox ├── awesome-bootstrap-checkbox.css └── index.html ├── bootstrap-3.3.0 ├── css │ ├── bootstrap-theme.css │ ├── bootstrap-theme.css.map │ ├── bootstrap-theme.min.css │ ├── bootstrap.css │ ├── bootstrap.css.map │ └── bootstrap.min.css ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff └── js │ ├── bootstrap.js │ ├── bootstrap.min.js │ └── npm.js ├── bootstrap-table-1.11.0 ├── bootstrap-table.min.css ├── bootstrap-table.min.js └── locale │ ├── bootstrap-table-en-US.js │ ├── bootstrap-table-en-US.min.js │ ├── bootstrap-table-zh-CN.js │ └── bootstrap-table-zh-CN.min.js ├── checkbix ├── css │ ├── checkbix.css │ └── checkbix.min.css └── js │ ├── checkbix.js │ ├── checkbix.min.css │ └── checkbix.min.js ├── device.min.js ├── fastclick.min.js ├── font-awesome-4.7.0 ├── css │ ├── font-awesome.css │ └── font-awesome.min.css └── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 ├── fullPage ├── jquery.fullPage.css ├── jquery.fullPage.js ├── jquery.fullPage.min.js └── jquery.jdirk.min.js ├── jquery-confirm ├── jquery-confirm.min.css └── jquery-confirm.min.js ├── jquery.1.12.4.min.js ├── jquery.cookie.js ├── malihu-custom-scrollbar-plugin ├── jquery.mCustomScrollbar.concat.min.js ├── jquery.mCustomScrollbar.css ├── jquery.mCustomScrollbar.js ├── jquery.mCustomScrollbar.min.css └── mCSB_buttons.png ├── material-design-iconic-font-2.2.0 ├── css │ ├── material-design-iconic-font.css │ └── material-design-iconic-font.min.css └── fonts │ ├── Material-Design-Iconic-Font.eot │ ├── Material-Design-Iconic-Font.svg │ ├── Material-Design-Iconic-Font.ttf │ ├── Material-Design-Iconic-Font.woff │ └── Material-Design-Iconic-Font.woff2 ├── select2 ├── css │ ├── select2.css │ └── select2.min.css ├── js │ ├── i18n │ │ ├── ar.js │ │ ├── az.js │ │ ├── bg.js │ │ ├── ca.js │ │ ├── cs.js │ │ ├── da.js │ │ ├── de.js │ │ ├── el.js │ │ ├── en.js │ │ ├── es.js │ │ ├── et.js │ │ ├── eu.js │ │ ├── fa.js │ │ ├── fi.js │ │ ├── fr.js │ │ ├── gl.js │ │ ├── he.js │ │ ├── hi.js │ │ ├── hr.js │ │ ├── hu.js │ │ ├── id.js │ │ ├── is.js │ │ ├── it.js │ │ ├── ja.js │ │ ├── km.js │ │ ├── ko.js │ │ ├── lt.js │ │ ├── lv.js │ │ ├── mk.js │ │ ├── ms.js │ │ ├── nb.js │ │ ├── nl.js │ │ ├── pl.js │ │ ├── pt-BR.js │ │ ├── pt.js │ │ ├── ro.js │ │ ├── ru.js │ │ ├── sk.js │ │ ├── sl.js │ │ ├── sr-Cyrl.js │ │ ├── sr.js │ │ ├── sv.js │ │ ├── th.js │ │ ├── tr.js │ │ ├── uk.js │ │ ├── vi.js │ │ ├── zh-CN.js │ │ └── zh-TW.js │ ├── select2.full.js │ ├── select2.full.min.js │ ├── select2.js │ └── select2.min.js └── theme │ ├── select2-bootstrap.css │ └── select2-bootstrap.min.css ├── waves-0.7.5 ├── waves.css ├── waves.js ├── waves.min.css ├── waves.min.js └── waves.min.js.map ├── zTree_v3 ├── css │ ├── awesomeStyle │ │ ├── awesome.css │ │ ├── awesome.less │ │ ├── fa.less │ │ └── img │ │ │ └── loading.gif │ ├── demo.css │ ├── metroStyle │ │ ├── img │ │ │ ├── line_conn.png │ │ │ ├── loading.gif │ │ │ ├── metro.gif │ │ │ └── metro.png │ │ └── metroStyle.css │ └── zTreeStyle │ │ ├── img │ │ ├── diy │ │ │ ├── 1_close.png │ │ │ ├── 1_open.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 7.png │ │ │ ├── 8.png │ │ │ └── 9.png │ │ ├── line_conn.gif │ │ ├── loading.gif │ │ ├── zTreeStandard.gif │ │ └── zTreeStandard.png │ │ └── zTreeStyle.css └── js │ ├── jquery.ztree.all.min.js │ ├── jquery.ztree.core.min.js │ ├── jquery.ztree.excheck.min.js │ ├── jquery.ztree.exedit.min.js │ └── jquery.ztree.exhide.min.js ├── zheng.autoMail.1.0.min.js └── zheng.jprogress.0.1.min.js /.gitignore: -------------------------------------------------------------------------------- 1 | Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # Package Files # 8 | *.jar 9 | *.war 10 | *.zip 11 | *.tar.gz 12 | *.rar 13 | 14 | # IntelliJ IDEA project files 15 | .idea 16 | *.iml 17 | classes 18 | target 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ordering 2 | 毕业设计项目 3 | 4 | 一个简易的餐厅点餐系统,开发IDE为IntelliJ IDEA,通过Maven构建,后台采用SSM框架集(Spring、SpringMVC、MyBatis),数据库采用MySQL,前台管理端用到zhengAdmin,用户端用到SUI Mobile,图片用外链图床 。由于时间和能力关系,演示地址暂时没有完成,有时间继续完成。 5 | 6 | 项目在 [断乱组长](https://github.com/duanluan) 的帮助下完成。 7 | 非常感谢组长的帮助,在他的指点和教学下,才完成了这个比较简陋的毕业设计。 8 | 顺便宣传一下[计算机科学与艺术研究小组](https://github.com/csaarg)。 9 | 10 | ## 开发进度 11 | ### 已完成 12 | ##### 用户端 13 | 菜品列表:分成几大类别菜供用户挑选; 14 | 搜索菜品:用户搜索想要的菜品; 15 | 临时订单:用户点菜时创建,点上菜时完成; 16 | 正式订单:用户点结账时候完成。 17 | 18 | 19 | ##### 服务端 20 | 餐桌管理:增加、删除、修改、查询餐桌状态; 21 | 食品管理:增加、删除、修改、查询餐厅可提供的食品; 22 | 食品分类管理:增加、删除、修改、查询餐厅可提供的食品分类; 23 | 临时订单:查询临时订单列表,增加、修改在用户端自动进行; 24 | 正式订单:查询正式订单列表,增加、修改在用户端自动进行。 25 | 26 | ### 待完善 27 | 演示地址搭建 28 | 29 | ##### 服务端 30 | 修改订单信息 31 | 部分信息验证 32 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/base/controller/BaseController.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.base.controller; 2 | 3 | import cn.gtapc.ordering.constant.RequestResultEnum; 4 | import cn.gtapc.util.common.ObjectUtil; 5 | import cn.gtapc.util.common.ParseUtil; 6 | import com.baomidou.mybatisplus.plugins.Page; 7 | import org.apache.shiro.crypto.hash.SimpleHash; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Controller; 10 | import org.springframework.web.bind.annotation.PostMapping; 11 | import org.springframework.web.bind.annotation.RequestParam; 12 | import org.springframework.web.bind.annotation.ResponseBody; 13 | 14 | import javax.servlet.http.HttpServletRequest; 15 | import java.util.HashMap; 16 | import java.util.Map; 17 | 18 | public class BaseController { 19 | 20 | @Autowired 21 | private HttpServletRequest request; 22 | 23 | /** 24 | * 获取 MyBatis Plus Page 对象 25 | * 分页处理 26 | * @param limit 每页需要显示的数量 27 | * @param searchCount 是否返回查询到的数量 28 | * @param 29 | * @return 30 | */ 31 | protected Page getPage(int offset, int limit, boolean searchCount) { 32 | // 如果分页小于零 33 | if (ObjectUtil.lessThanZero(offset)) { 34 | offset = ParseUtil.parseInt(request.getParameter("offset")); 35 | } 36 | if (ObjectUtil.lessThanAndEqualZero(limit)) { 37 | limit = ParseUtil.parseInt(request.getParameter("limit")); 38 | } 39 | // 第一个参数为 current(当前页码) = offset(当前页码的第一行 - 1) / 10 + 1 40 | Page page = new Page<>(offset / 10 + 1, limit); 41 | // 查出的数据 42 | page.setSearchCount(searchCount); 43 | return page; 44 | } 45 | 46 | protected Page getPage(int offset, int limit) { 47 | return getPage(offset, limit, false); 48 | } 49 | 50 | protected Page getPage(int limit) { 51 | return getPage(-1, limit, false); 52 | } 53 | 54 | // 默认为展示10条 55 | protected Page getManagePage() { 56 | return getPage(-1, 10, true); 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/base/entity/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.base.entity; 2 | 3 | import com.baomidou.mybatisplus.annotations.TableField; 4 | import com.baomidou.mybatisplus.annotations.TableId; 5 | import com.baomidou.mybatisplus.enums.IdType; 6 | 7 | import java.io.Serializable; 8 | import java.util.Date; 9 | 10 | 11 | public class BaseEntity implements Serializable { 12 | 13 | // 公共类 14 | // @TableField(exist = false) 15 | private static final long serialVersionUID = 1L; 16 | 17 | // id 18 | @TableId(value = "id", type = IdType.AUTO) 19 | private Long id; 20 | 21 | // 创建时间 22 | @TableField(value = "created_time") 23 | private Date createdTime; 24 | 25 | // 更新时间 26 | @TableField(value = "updated_time") 27 | private Date updatedTime; 28 | 29 | // 删除状态 30 | private Boolean deleted = false; 31 | 32 | // 备注 33 | private String remark; 34 | 35 | 36 | public Long getId() { 37 | return id; 38 | } 39 | 40 | public void setId(Long id) { 41 | this.id = id; 42 | } 43 | 44 | public Date getCreatedTime() { 45 | return createdTime; 46 | } 47 | 48 | public void setCreatedTime(Date createdTime) { 49 | this.createdTime = createdTime; 50 | } 51 | 52 | public Date getUpdatedTime() { 53 | return updatedTime; 54 | } 55 | 56 | public void setUpdatedTime(Date updatedTime) { 57 | this.updatedTime = updatedTime; 58 | } 59 | 60 | public Boolean getDeleted() { 61 | return deleted; 62 | } 63 | 64 | public void setDeleted(Boolean deleted) { 65 | this.deleted = deleted; 66 | } 67 | 68 | public String getRemark() { 69 | return remark; 70 | } 71 | 72 | public void setRemark(String remark) { 73 | this.remark = remark; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/base/springmvc/convert/DateConverter.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.base.springmvc.convert; 2 | 3 | import cn.gtapc.util.common.DateUtil; 4 | import cn.gtapc.util.common.ParseUtil; 5 | import org.springframework.core.convert.converter.Converter; 6 | 7 | import java.util.Date; 8 | 9 | /** 10 | * 全局日期處理類 11 | * Convert 12 | * 泛型 T:代表客戶端提交的參數 String 13 | * 泛型 S:通過 convert 轉換的類型 14 | */ 15 | public class DateConverter implements Converter { 16 | 17 | @Override 18 | public Date convert(String str) { 19 | String parsePattern = null; 20 | if (str.length() == 7) { 21 | parsePattern = "yyyy-MM"; 22 | } 23 | if (str.length() == 10) { 24 | parsePattern = "yyyy-MM-dd"; 25 | } 26 | // 时间戳 27 | if(str.length() == 13){ 28 | Date date = new Date(); 29 | date.setTime(ParseUtil.parseLong(str)); 30 | return date; 31 | } 32 | return DateUtil.parseDate(str, parsePattern); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/constant/ConfigConstant.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.constant; 2 | 3 | import cn.gtapc.util.common.PropertiesUtil; 4 | 5 | import java.util.Properties; 6 | 7 | /** 8 | * 配置項常量類 9 | */ 10 | public final class ConfigConstant { 11 | 12 | public static final String MANAGE_BASE_URL; 13 | 14 | public static final String COMMON_BASE_URL; 15 | 16 | static { 17 | 18 | Properties configProperties = PropertiesUtil.loadProperties("properties/config.properties"); 19 | 20 | MANAGE_BASE_URL = configProperties.getProperty("manage.base.url"); 21 | COMMON_BASE_URL = configProperties.getProperty("common.base.url"); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/constant/DinnerTableStatusEnum.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.constant; 2 | 3 | import java.util.ArrayList; 4 | import java.util.HashMap; 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | public enum DinnerTableStatusEnum { 9 | 10 | /** 11 | * 餐桌状态 12 | */ 13 | EMPTY((short) 0, "无人"), 14 | EATING((short) 1, "进食中"); 15 | 16 | private short key; 17 | private String value; 18 | 19 | DinnerTableStatusEnum(short key, String value) { 20 | this.key = key; 21 | this.value = value; 22 | } 23 | 24 | public short getKey() { 25 | return key; 26 | } 27 | 28 | public void setKey(short key) { 29 | this.key = key; 30 | } 31 | 32 | public String getValue() { 33 | return value; 34 | } 35 | 36 | public void setValue(String value) { 37 | this.value = value; 38 | } 39 | 40 | public static List> listKeyAndValues() { 41 | List> list = new ArrayList>(); 42 | Map map; 43 | DinnerTableStatusEnum[] strs = DinnerTableStatusEnum.values(); 44 | for (int i = 0; i < strs.length; i++) { 45 | map = new HashMap<>(); 46 | map.put("key", strs[i].getKey()); 47 | map.put("value", strs[i].getValue()); 48 | list.add(map); 49 | } 50 | return list; 51 | } 52 | 53 | } -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/constant/RequestResultEnum.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.constant; 2 | 3 | import com.baomidou.mybatisplus.plugins.Page; 4 | 5 | import java.util.HashMap; 6 | import java.util.List; 7 | import java.util.Map; 8 | 9 | public enum RequestResultEnum { 10 | 11 | /** 12 | *消息响应 13 | */ 14 | SUCCESS(0x000000, "成功"), 15 | PARAM_ERROR(0x000101, "参数错误"), 16 | 17 | DINNER_TABLE_EXIST(0x010001,"餐桌已存在"), 18 | DINNER_TABLE_NOT_EXIST(0x010002,"餐桌不存在"), 19 | DINNER_TABLE_STATUS_IS_WRONG(0x010101,"餐桌状态不正确"), 20 | FOOD_TYPE_EXIST(0x020001,"食品分类已存在"), 21 | FOOD_TYPE_NOT_EXIST(0x020002,"食品分类不存在"), 22 | FOOD_EXIST(0x030001,"食品已存在"), 23 | FOOD_NOT_EXIST(0x030002,"食品不存在"), 24 | TEMPORARY_ORDER_EXIST(0x040001,"临时订单已存在"), 25 | TEMPORARY_ORDER_NOT_EXIST(0x040002,"临时订单不存在"), 26 | TEMPORARY_ORDER_FINISHED(0x040101,"临时订单已完成"), 27 | TEMPORARY_ORDER_NOT_FINISHED(0x040102,"临时订单未完成"), 28 | 29 | 30 | FAILURE(0x000001, "失败"); 31 | 32 | private int code; 33 | private String message; 34 | 35 | public int getCode() { 36 | return code; 37 | } 38 | 39 | public void setCode(int code) { 40 | this.code = code; 41 | } 42 | 43 | public String getMessage() { 44 | return message; 45 | } 46 | 47 | public void setMessage(String message) { 48 | this.message = message; 49 | } 50 | 51 | RequestResultEnum(int code, String message) { 52 | this.code = code; 53 | this.message = message; 54 | } 55 | 56 | public Map getResult() { 57 | Map map = new HashMap<>(); 58 | map.put("message", this.getMessage()); 59 | map.put("code", this.code); 60 | 61 | return map; 62 | } 63 | 64 | public Map getResult(Object data) { 65 | Map map = new HashMap<>(); 66 | map.put("message", this.getMessage()); 67 | map.put("code", this.code); 68 | map.put("data", data); 69 | return map; 70 | } 71 | 72 | public Map getPageResult(Page page, Object data) { 73 | Map map = new HashMap<>(); 74 | map.put("message", this.getMessage()); 75 | map.put("code", this.code); 76 | map.put("data", data); 77 | map.put("total", page.getTotal()); 78 | return map; 79 | } 80 | 81 | } 82 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/controller/CommonController.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.controller; 2 | 3 | import cn.gtapc.base.controller.BaseController; 4 | import cn.gtapc.ordering.constant.RequestResultEnum; 5 | import cn.gtapc.util.common.ObjectUtil; 6 | import org.apache.shiro.crypto.hash.SimpleHash; 7 | import org.springframework.stereotype.Controller; 8 | import org.springframework.web.bind.annotation.PostMapping; 9 | import org.springframework.web.bind.annotation.RequestParam; 10 | import org.springframework.web.bind.annotation.ResponseBody; 11 | 12 | import java.util.HashMap; 13 | import java.util.Map; 14 | 15 | @Controller 16 | public class CommonController extends BaseController { 17 | 18 | // 将要被操作的 ID 集合以及对应 RESTFul 的 Key 19 | public static Map toBeOperationIds = new HashMap(); 20 | 21 | @ResponseBody 22 | @PostMapping("/batchOperation") 23 | public Map batchOperation(@RequestParam(value = "ids[]") long[] ids) { 24 | if (ObjectUtil.greaterThanZero(ids)) { 25 | String key = new SimpleHash("MD5", ids.toString(), null, 100).toString(); 26 | this.toBeOperationIds.put(key, ids); 27 | return RequestResultEnum.SUCCESS.getResult(key); 28 | } 29 | return RequestResultEnum.FAILURE.getResult(); 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/controller/FoodController.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | 6 | 7 | @Controller 8 | @RequestMapping("/foods") 9 | public class FoodController { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/controller/OrderController.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.controller; 2 | 3 | 4 | import cn.gtapc.ordering.constant.RequestResultEnum; 5 | import cn.gtapc.ordering.entity.Order; 6 | import cn.gtapc.ordering.entity.TemporaryOrder; 7 | import cn.gtapc.ordering.entity.vo.OrderedVO; 8 | import cn.gtapc.ordering.entity.vo.TemporaryOrderVO; 9 | import cn.gtapc.ordering.service.IOrderService; 10 | import cn.gtapc.ordering.service.ITemporaryOrderService; 11 | import com.alibaba.fastjson.JSONObject; 12 | import com.baomidou.mybatisplus.mapper.EntityWrapper; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Controller; 15 | import org.springframework.web.bind.annotation.PostMapping; 16 | import org.springframework.web.bind.annotation.RequestMapping; 17 | import org.springframework.web.bind.annotation.ResponseBody; 18 | 19 | import java.util.ArrayList; 20 | import java.util.Date; 21 | import java.util.List; 22 | import java.util.Map; 23 | 24 | @Controller 25 | @RequestMapping("/orders") 26 | public class OrderController { 27 | @Autowired 28 | private ITemporaryOrderService temporaryOrderService; 29 | 30 | @Autowired 31 | private IOrderService orderService; 32 | 33 | @ResponseBody 34 | @PostMapping 35 | public Map update() { 36 | OrderedVO orderedVO = new OrderedVO(); 37 | 38 | // TODO 根据当前用户获取餐桌 ID 39 | Long dinnerTableId = 1L; 40 | // 正式订单信息 41 | Order order = new Order(); 42 | order.setDinnerTableId(dinnerTableId); 43 | order.setFinished(false); 44 | List orderList = orderService.selectList(new EntityWrapper(order)); 45 | order = orderList.get(0); 46 | // 临时订单信息 47 | TemporaryOrder temporaryOrder = new TemporaryOrder(); 48 | temporaryOrder.setOrderId(order.getId()); 49 | 50 | // 获取未完成的临时订单 51 | List temporaryOrderList = temporaryOrderService.selectList(new EntityWrapper(temporaryOrder).orderBy("finished")); 52 | List temporaryOrderVOList = new ArrayList<>(); 53 | 54 | 55 | long deleted[] =new long[temporaryOrderList.size()]; 56 | int i = 0; 57 | 58 | for (TemporaryOrder temporaryOrder1 : temporaryOrderList) { 59 | deleted[ i ] = temporaryOrder1.getId(); 60 | temporaryOrderService.selectById(temporaryOrder1.getId()); 61 | i++; 62 | } 63 | 64 | try { 65 | if (temporaryOrderService.delete(deleted)){ 66 | 67 | order.setFinished(true); 68 | order.setFinishedTime(new Date()); 69 | if (orderService.updateById(order)){ 70 | Order order1 = new Order(); 71 | order1.setDinnerTableId(dinnerTableId); 72 | order1.setCreatedTime(new Date()); 73 | order1.setTotalPrice((long)0); 74 | if (orderService.insert(order1)){ 75 | return RequestResultEnum.SUCCESS.getResult(); 76 | } 77 | } 78 | return RequestResultEnum.FAILURE.getResult(); 79 | } 80 | 81 | } catch (Exception e) { 82 | e.printStackTrace(); 83 | return RequestResultEnum.FAILURE.getResult(); 84 | } finally { 85 | // 异常后清空数据 86 | CommonController.toBeOperationIds.remove(temporaryOrderList); 87 | } 88 | 89 | // 如果插入返回成功,没有则返回失败 90 | return RequestResultEnum.FAILURE.getResult(); 91 | 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/controller/VOController.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.controller; 2 | 3 | import cn.gtapc.base.controller.BaseController; 4 | import cn.gtapc.ordering.constant.DinnerTableStatusEnum; 5 | import cn.gtapc.ordering.constant.RequestResultEnum; 6 | import cn.gtapc.ordering.entity.DinnerTable; 7 | import cn.gtapc.ordering.entity.FoodType; 8 | import cn.gtapc.ordering.service.IDinnerTableService; 9 | import cn.gtapc.ordering.service.IFoodTypeService; 10 | import cn.gtapc.util.common.ObjectUtil; 11 | import com.baomidou.mybatisplus.mapper.EntityWrapper; 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | import org.springframework.stereotype.Controller; 14 | import org.springframework.web.bind.annotation.*; 15 | 16 | import java.util.HashMap; 17 | import java.util.List; 18 | import java.util.Map; 19 | 20 | @Controller 21 | public class VOController extends BaseController { 22 | 23 | @Autowired 24 | IDinnerTableService dinnerTableService; 25 | @Autowired 26 | IFoodTypeService foodTypeService; 27 | 28 | @GetMapping("/index") 29 | @ResponseBody 30 | private Map index(Long dinnerTableId) { 31 | // 如果 餐桌id小于等于零 返回错误 32 | if (ObjectUtil.lessThanAndEqualZero(dinnerTableId)) { 33 | return RequestResultEnum.PARAM_ERROR.getResult(); 34 | } 35 | DinnerTable dinnerTable = new DinnerTable(); 36 | dinnerTable.setId(dinnerTableId); 37 | dinnerTable.setDeleted(false); 38 | // 如果餐桌id 为空返回餐桌不存在 39 | if ((dinnerTable = dinnerTableService.selectById(dinnerTable)) == null) { 40 | return RequestResultEnum.DINNER_TABLE_NOT_EXIST.getResult(); 41 | } 42 | // 43 | if (dinnerTable.getStatus() != DinnerTableStatusEnum.EATING.getKey()) { 44 | return RequestResultEnum.DINNER_TABLE_STATUS_IS_WRONG.getResult(); 45 | } 46 | 47 | Map dataMap = new HashMap<>(); 48 | // 获取食品分类 49 | List foodTypeList = foodTypeService.selectList(new EntityWrapper()); 50 | dataMap.put("footTypeList", foodTypeList); 51 | // TODO 根据食品分类(此处为招牌菜)获取食品列表 52 | 53 | return null; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/controller/manage/ManageOrder2Controller.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.controller.manage; 2 | 3 | 4 | import cn.gtapc.base.controller.BaseController; 5 | import cn.gtapc.ordering.constant.RequestResultEnum; 6 | import cn.gtapc.ordering.entity.Order; 7 | import cn.gtapc.ordering.service.IOrderService; 8 | import com.baomidou.mybatisplus.mapper.EntityWrapper; 9 | import com.baomidou.mybatisplus.plugins.Page; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.stereotype.Controller; 12 | import org.springframework.web.bind.annotation.GetMapping; 13 | import org.springframework.web.bind.annotation.RequestMapping; 14 | import org.springframework.web.bind.annotation.ResponseBody; 15 | 16 | import java.util.List; 17 | import java.util.Map; 18 | 19 | @Controller 20 | @RequestMapping("/manage/orders2") 21 | public class ManageOrder2Controller extends BaseController{ 22 | 23 | @Autowired 24 | private IOrderService orderService; 25 | 26 | @ResponseBody 27 | @GetMapping 28 | public Map list() { 29 | // 获取分页数据 30 | Page page = this.getManagePage(); 31 | Order order = new Order(); 32 | // 删除状态 33 | order.setDeleted(false); 34 | order.setFinished(true); 35 | // EntityWrapper 是条件构造器 36 | List orderList = orderService.selectPage(page, new EntityWrapper(order) 37 | // 默认按 创建时间-更新时间-状态升序显示 38 | .orderBy("created_time", false) 39 | .orderBy("updated_time", false)).getRecords(); 40 | // 按顺序输出临时订单数据及分页数据 41 | return RequestResultEnum.SUCCESS.getPageResult(page, orderList); 42 | } 43 | 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/controller/manage/ManageOrderController.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.controller.manage; 2 | 3 | 4 | import cn.gtapc.base.controller.BaseController; 5 | import cn.gtapc.ordering.constant.RequestResultEnum; 6 | import cn.gtapc.ordering.entity.Order; 7 | import cn.gtapc.ordering.entity.TemporaryOrder; 8 | import cn.gtapc.ordering.service.IFoodService; 9 | import cn.gtapc.ordering.service.IOrderService; 10 | import cn.gtapc.ordering.service.ITemporaryOrderService; 11 | import com.baomidou.mybatisplus.mapper.EntityWrapper; 12 | import com.baomidou.mybatisplus.plugins.Page; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.web.bind.annotation.GetMapping; 15 | import org.springframework.web.bind.annotation.RequestMapping; 16 | 17 | import org.springframework.stereotype.Controller; 18 | import org.springframework.web.bind.annotation.ResponseBody; 19 | 20 | import java.util.List; 21 | import java.util.Map; 22 | 23 | @Controller 24 | @RequestMapping("/manage/orders") 25 | public class ManageOrderController extends BaseController{ 26 | 27 | @Autowired 28 | private IOrderService orderService; 29 | 30 | @ResponseBody 31 | @GetMapping 32 | public Map list() { 33 | // 获取分页数据 34 | Page page = this.getManagePage(); 35 | Order order = new Order(); 36 | // 删除状态 37 | order.setDeleted(false); 38 | // EntityWrapper 是条件构造器 39 | List orderList = orderService.selectPage(page, new EntityWrapper(order) 40 | // 默认按 创建时间-更新时间-状态升序显示 41 | .orderBy("created_time", false) 42 | .orderBy("updated_time", false)).getRecords(); 43 | // 按顺序输出临时订单数据及分页数据 44 | return RequestResultEnum.SUCCESS.getPageResult(page, orderList); 45 | } 46 | 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/controller/manage/ManageTemporaryOrder2Controller.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.controller.manage; 2 | 3 | 4 | import cn.gtapc.base.controller.BaseController; 5 | import cn.gtapc.ordering.constant.RequestResultEnum; 6 | import cn.gtapc.ordering.controller.CommonController; 7 | import cn.gtapc.ordering.entity.TemporaryOrder; 8 | import cn.gtapc.ordering.service.IFoodService; 9 | import cn.gtapc.ordering.service.ITemporaryOrderService; 10 | import cn.gtapc.util.common.ObjectUtil; 11 | import cn.gtapc.util.common.StringUtil; 12 | import com.baomidou.mybatisplus.mapper.EntityWrapper; 13 | import com.baomidou.mybatisplus.plugins.Page; 14 | import org.springframework.beans.factory.annotation.Autowired; 15 | import org.springframework.stereotype.Controller; 16 | import org.springframework.web.bind.annotation.*; 17 | 18 | import java.util.List; 19 | import java.util.Map; 20 | 21 | @Controller 22 | @RequestMapping("/manage/temporaryOrders2") 23 | public class ManageTemporaryOrder2Controller extends BaseController{ 24 | 25 | @Autowired 26 | private ITemporaryOrderService temporaryOrderService; 27 | private IFoodService foodService; 28 | 29 | @ResponseBody 30 | @GetMapping 31 | public Map list() { 32 | // 获取分页数据 33 | Page page = this.getManagePage(); 34 | TemporaryOrder temporaryOrder = new TemporaryOrder(); 35 | // 删除状态 36 | temporaryOrder.setDeleted(false); 37 | temporaryOrder.setFinished(true); 38 | // EntityWrapper 是条件构造器 39 | List temporaryOrderList = temporaryOrderService.selectPage(page, new EntityWrapper(temporaryOrder) 40 | // 默认按 创建时间-更新时间-状态升序显示 41 | .orderBy("created_time", false) 42 | .orderBy("updated_time", false)).getRecords(); 43 | // 按顺序输出临时订单数据及分页数据 44 | return RequestResultEnum.SUCCESS.getPageResult(page, temporaryOrderList); 45 | } 46 | /** 47 | * 删除多条数据 48 | * @param key 49 | * @return 50 | */ 51 | @ResponseBody 52 | @DeleteMapping("/{key}") 53 | public Map delete(@PathVariable String key) { 54 | long[] ids = null; 55 | // 需要删除的数据是否存在 56 | // 如果 key为空或ids[] 不大于零 57 | if (StringUtil.isEmpty(key) || !ObjectUtil.greaterThanZero((ids = CommonController.toBeOperationIds.get(key)))) { 58 | // 返回错误 59 | return RequestResultEnum.PARAM_ERROR.getResult(); 60 | } 61 | try { 62 | // 需要删除的数据是否存在 63 | // ids.length 取得ids数组长度 64 | // 循环删除 65 | for (int i = 0; i < ids.length; i++) { 66 | TemporaryOrder temporaryOrder = new TemporaryOrder(); 67 | temporaryOrder.setId(ids[i]); 68 | temporaryOrder.setDeleted(false); 69 | // 判断食品分类是否为空 70 | if (temporaryOrderService.selectById(temporaryOrder) == null) { 71 | // 返回食品分类不存在 72 | return RequestResultEnum.TEMPORARY_ORDER_NOT_EXIST.getResult(); 73 | } 74 | } 75 | // 删除 返回成功 76 | if (temporaryOrderService.delete(ids)) { 77 | return RequestResultEnum.SUCCESS.getResult(); 78 | } 79 | } catch (Exception e) { 80 | e.printStackTrace(); 81 | return RequestResultEnum.FAILURE.getResult(); 82 | } finally { 83 | // 异常后清空数据 84 | CommonController.toBeOperationIds.remove(key); 85 | } 86 | return RequestResultEnum.FAILURE.getResult(); 87 | } 88 | 89 | 90 | } 91 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/controller/manage/ManageTemporaryOrderController.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.controller.manage; 2 | 3 | 4 | import cn.gtapc.base.controller.BaseController; 5 | import cn.gtapc.ordering.constant.RequestResultEnum; 6 | import cn.gtapc.ordering.controller.CommonController; 7 | import cn.gtapc.ordering.entity.Food; 8 | import cn.gtapc.ordering.entity.FoodType; 9 | import cn.gtapc.ordering.entity.Order; 10 | import cn.gtapc.ordering.entity.TemporaryOrder; 11 | import cn.gtapc.ordering.entity.vo.OrderedVO; 12 | import cn.gtapc.ordering.entity.vo.TemporaryOrderVO; 13 | import cn.gtapc.ordering.service.IFoodService; 14 | import cn.gtapc.ordering.service.IFoodTypeService; 15 | import cn.gtapc.ordering.service.IOrderService; 16 | import cn.gtapc.ordering.service.ITemporaryOrderService; 17 | import cn.gtapc.util.common.ObjectUtil; 18 | import cn.gtapc.util.common.StringUtil; 19 | import com.alibaba.fastjson.JSONObject; 20 | import com.baomidou.mybatisplus.mapper.EntityWrapper; 21 | import com.baomidou.mybatisplus.plugins.Page; 22 | import org.springframework.beans.factory.annotation.Autowired; 23 | import org.springframework.web.bind.annotation.*; 24 | 25 | import org.springframework.stereotype.Controller; 26 | 27 | import java.util.ArrayList; 28 | import java.util.List; 29 | import java.util.Map; 30 | 31 | @Controller 32 | @RequestMapping("/manage/temporaryOrders") 33 | public class ManageTemporaryOrderController extends BaseController { 34 | 35 | @Autowired 36 | private ITemporaryOrderService temporaryOrderService; 37 | 38 | @ResponseBody 39 | @GetMapping 40 | public Map list(Boolean finished) { 41 | if (StringUtil.isEmpty(finished)) { 42 | return RequestResultEnum.PARAM_ERROR.getResult(); 43 | } 44 | 45 | Page page = this.getManagePage(); 46 | return RequestResultEnum.SUCCESS.getPageResult(page, temporaryOrderService.list(page, finished)); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/entity/DinnerTable.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.entity; 2 | 3 | import cn.gtapc.base.entity.BaseEntity; 4 | 5 | /** 6 | * 餐桌 实体类 7 | */ 8 | public class DinnerTable extends BaseEntity { 9 | 10 | /** 11 | * 餐桌状态 12 | */ 13 | private Short status; 14 | public Short getStatus() { 15 | return status; 16 | } 17 | public void setStatus(Short status) { 18 | this.status = status; 19 | } 20 | } -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/entity/Food.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.entity; 2 | 3 | import java.io.Serializable; 4 | 5 | import com.baomidou.mybatisplus.annotations.TableField; 6 | import com.baomidou.mybatisplus.activerecord.Model; 7 | import cn.gtapc.base.entity.BaseEntity; 8 | /** 9 | * 食品 实体类 10 | */ 11 | public class Food extends BaseEntity { 12 | 13 | /** 14 | * 名称 15 | */ 16 | private String name; 17 | /** 18 | * 价格 19 | */ 20 | private Long price; 21 | /** 22 | * 图片 URL 23 | */ 24 | @TableField("image_url") 25 | private String imageUrl; 26 | /** 27 | * 食物分类 ID 28 | */ 29 | @TableField("food_type_id") 30 | private Long foodTypeId; 31 | 32 | public Long getPrice() { 33 | return price; 34 | } 35 | 36 | public void setPrice(Long price) { 37 | this.price = price; 38 | } 39 | 40 | public String getName() { 41 | return name; 42 | } 43 | 44 | public void setName(String name) { 45 | this.name = name; 46 | } 47 | 48 | public String getImageUrl() { 49 | return imageUrl; 50 | } 51 | 52 | public void setImageUrl(String imageUrl) { 53 | this.imageUrl = imageUrl; 54 | } 55 | 56 | public Long getFoodTypeId() { 57 | return foodTypeId; 58 | } 59 | 60 | public void setFoodTypeId(Long foodTypeId) { 61 | this.foodTypeId = foodTypeId; 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/entity/FoodType.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.entity; 2 | 3 | import java.io.Serializable; 4 | 5 | import com.baomidou.mybatisplus.annotations.TableField; 6 | import com.baomidou.mybatisplus.activerecord.Model; 7 | import com.baomidou.mybatisplus.annotations.TableName; 8 | import cn.gtapc.base.entity.BaseEntity; 9 | 10 | /** 11 | * 食品分类 实体类 12 | */ 13 | @TableName("food_type") 14 | public class FoodType extends BaseEntity { 15 | 16 | /** 17 | * 名称 18 | */ 19 | private String name; 20 | 21 | 22 | /** 23 | * 图标 URL 24 | */ 25 | @TableField("icon_url") 26 | private String iconUrl; 27 | 28 | public String getName() { 29 | return name; 30 | } 31 | 32 | public void setName(String name) { 33 | this.name = name; 34 | } 35 | 36 | public String getIconUrl() { 37 | return iconUrl; 38 | } 39 | 40 | public void setIconUrl(String iconUrl) { 41 | this.iconUrl = iconUrl; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/entity/Order.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.entity; 2 | 3 | import java.io.Serializable; 4 | import java.util.Date; 5 | import java.util.List; 6 | 7 | import com.baomidou.mybatisplus.annotations.TableField; 8 | import com.baomidou.mybatisplus.activerecord.Model; 9 | import com.baomidou.mybatisplus.annotations.TableName; 10 | import cn.gtapc.base.entity.BaseEntity; 11 | /** 12 | * 订单 实体类 13 | */ 14 | @TableName("_order") 15 | public class Order extends BaseEntity { 16 | 17 | // /** 18 | // * 临时订单 ID 19 | // */ 20 | // @TableField("temporary_order_ids") 21 | // private String temporaryOrderIds; 22 | /** 23 | * 总价 += 临时订单总价 24 | */ 25 | @TableField("total_price") 26 | private Long totalPrice; 27 | 28 | @TableField("dinner_table_id") 29 | private Long dinnerTableId; 30 | 31 | /** 32 | * 完成状态 33 | */ 34 | private boolean finished; 35 | 36 | /** 37 | * 完成时间 38 | */ 39 | @TableField("finished_time") 40 | private Date finishedTime; 41 | 42 | public Long getDinnerTableId() { 43 | return dinnerTableId; 44 | } 45 | 46 | public void setDinnerTableId(Long dinnerTableId) { 47 | this.dinnerTableId = dinnerTableId; 48 | } 49 | 50 | public boolean getFinished() { 51 | return finished; 52 | } 53 | 54 | public void setFinished(boolean finished) { 55 | this.finished = finished; 56 | } 57 | 58 | public Date getFinishedTime() { 59 | return finishedTime; 60 | } 61 | 62 | public void setFinishedTime(Date finishedTime) { 63 | this.finishedTime = finishedTime; 64 | } 65 | 66 | // public String getTemporaryOrderIds() { 67 | // return temporaryOrderIds; 68 | // } 69 | // 70 | // public void setTemporaryOrderIds(String temporaryOrderIds) { 71 | // this.temporaryOrderIds = temporaryOrderIds; 72 | // } 73 | 74 | public Long getTotalPrice() { 75 | return totalPrice; 76 | } 77 | 78 | public void setTotalPrice(Long totalPrice) { 79 | this.totalPrice = totalPrice; 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/entity/TemporaryOrder.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.entity; 2 | 3 | import java.io.Serializable; 4 | import java.util.Date; 5 | 6 | import com.baomidou.mybatisplus.annotations.TableField; 7 | import com.baomidou.mybatisplus.activerecord.Model; 8 | import com.baomidou.mybatisplus.annotations.TableName; 9 | import cn.gtapc.base.entity.BaseEntity; 10 | /** 11 | * 临时订单 实体类 12 | */ 13 | @TableName("temporary_order") 14 | public class TemporaryOrder extends BaseEntity { 15 | 16 | @TableField("order_id") 17 | private Long orderId; 18 | 19 | /** 20 | * 食品 ID 21 | */ 22 | @TableField("food_id") 23 | private Long foodId; 24 | /** 25 | * 点菜的数量 26 | */ 27 | private Integer number; 28 | /** 29 | * 总价 = 食品价格 * 数量 30 | */ 31 | @TableField("total_price") 32 | private Long totalPrice; 33 | /** 34 | * 临时订单完成状态 35 | */ 36 | private boolean finished; 37 | 38 | // /** 39 | // * 食品名称 40 | // */ 41 | // @TableField("name") 42 | // private String name; 43 | 44 | /** 45 | * 临时订单完成时间 46 | */ 47 | @TableField("finished_time") 48 | private Date finishedTime; 49 | 50 | public Long getOrderId() { 51 | return orderId; 52 | } 53 | 54 | public void setOrderId(Long orderId) { 55 | this.orderId = orderId; 56 | } 57 | 58 | public boolean getFinished() { 59 | return finished; 60 | } 61 | 62 | public void setFinished(boolean finished) { 63 | this.finished = finished; 64 | } 65 | 66 | public Date getFinishedTime() { 67 | return finishedTime; 68 | } 69 | 70 | public void setFinishedTime(Date finishedTime) { 71 | this.finishedTime = finishedTime; 72 | } 73 | 74 | public Long getFoodId() { 75 | return foodId; 76 | } 77 | 78 | public void setFoodId(Long foodId) { 79 | this.foodId = foodId; 80 | } 81 | 82 | public Integer getNumber() { 83 | return number; 84 | } 85 | 86 | public void setNumber(Integer number) { 87 | this.number = number; 88 | } 89 | 90 | public Long getTotalPrice() { 91 | return totalPrice; 92 | } 93 | 94 | public void setTotalPrice(Long totalPrice) { 95 | this.totalPrice = totalPrice; 96 | } 97 | 98 | } 99 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/entity/vo/OrderedVO.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.entity.vo; 2 | 3 | import cn.gtapc.ordering.entity.TemporaryOrder; 4 | import com.baomidou.mybatisplus.annotations.TableField; 5 | 6 | import java.util.Date; 7 | import java.util.List; 8 | 9 | public class OrderedVO { 10 | 11 | private Long totalPrice; 12 | private Long dinnerTableId; 13 | private boolean finished; 14 | private Date finishedTime; 15 | 16 | private List temporaryOrderVOList; 17 | 18 | public Long getTotalPrice() { 19 | return totalPrice; 20 | } 21 | 22 | public void setTotalPrice(Long totalPrice) { 23 | this.totalPrice = totalPrice; 24 | } 25 | 26 | public Long getDinnerTableId() { 27 | return dinnerTableId; 28 | } 29 | 30 | public void setDinnerTableId(Long dinnerTableId) { 31 | this.dinnerTableId = dinnerTableId; 32 | } 33 | 34 | public boolean isFinished() { 35 | return finished; 36 | } 37 | 38 | public void setFinished(boolean finished) { 39 | this.finished = finished; 40 | } 41 | 42 | public Date getFinishedTime() { 43 | return finishedTime; 44 | } 45 | 46 | public void setFinishedTime(Date finishedTime) { 47 | this.finishedTime = finishedTime; 48 | } 49 | 50 | public List getTemporaryOrderVOList() { 51 | return temporaryOrderVOList; 52 | } 53 | 54 | public void setTemporaryOrderVOList(List temporaryOrderVOList) { 55 | this.temporaryOrderVOList = temporaryOrderVOList; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/entity/vo/TemporaryOrderVO.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.entity.vo; 2 | 3 | import cn.gtapc.base.entity.BaseEntity; 4 | 5 | import java.util.Date; 6 | 7 | public class TemporaryOrderVO extends BaseEntity { 8 | 9 | private Long orderId; 10 | private Long foodId; 11 | private Integer number; 12 | private Long totalPrice; 13 | private boolean finished; 14 | private Date finishedTime; 15 | 16 | private String foodName; 17 | 18 | public Long getOrderId() { 19 | return orderId; 20 | } 21 | 22 | public void setOrderId(Long orderId) { 23 | this.orderId = orderId; 24 | } 25 | 26 | public Long getFoodId() { 27 | return foodId; 28 | } 29 | 30 | public void setFoodId(Long foodId) { 31 | this.foodId = foodId; 32 | } 33 | 34 | public Integer getNumber() { 35 | return number; 36 | } 37 | 38 | public void setNumber(Integer number) { 39 | this.number = number; 40 | } 41 | 42 | public Long getTotalPrice() { 43 | return totalPrice; 44 | } 45 | 46 | public void setTotalPrice(Long totalPrice) { 47 | this.totalPrice = totalPrice; 48 | } 49 | 50 | public boolean isFinished() { 51 | return finished; 52 | } 53 | 54 | public void setFinished(boolean finished) { 55 | this.finished = finished; 56 | } 57 | 58 | public Date getFinishedTime() { 59 | return finishedTime; 60 | } 61 | 62 | public void setFinishedTime(Date finishedTime) { 63 | this.finishedTime = finishedTime; 64 | } 65 | 66 | public String getFoodName() { 67 | return foodName; 68 | } 69 | 70 | public void setFoodName(String foodName) { 71 | this.foodName = foodName; 72 | } 73 | } -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/filter/ViewInterceptor.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.filter; 2 | 3 | import cn.gtapc.ordering.constant.ConfigConstant; 4 | import org.springframework.web.servlet.HandlerInterceptor; 5 | import org.springframework.web.servlet.ModelAndView; 6 | 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | public class ViewInterceptor implements HandlerInterceptor { 11 | 12 | @Override 13 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception { 14 | return true; 15 | } 16 | 17 | @Override 18 | public void postHandle(HttpServletRequest request, HttpServletResponse response, Object o, ModelAndView modelAndView) throws Exception { 19 | // 獲取項目根路徑 20 | // String baseUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath(); 21 | if (modelAndView != null) { 22 | modelAndView.addObject("manageBaseUrl", ConfigConstant.MANAGE_BASE_URL); 23 | modelAndView.addObject("commonBaseUrl", ConfigConstant.COMMON_BASE_URL); 24 | } 25 | } 26 | 27 | @Override 28 | public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object o, Exception e) throws Exception { 29 | 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/mapper/DinnerTableMapper.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.mapper; 2 | 3 | import cn.gtapc.ordering.entity.DinnerTable; 4 | import com.baomidou.mybatisplus.mapper.BaseMapper; 5 | import com.baomidou.mybatisplus.plugins.Page; 6 | 7 | import java.util.List; 8 | /** 9 | *

10 | * 餐桌 Mapper 接口 11 | *

12 | */ 13 | public interface DinnerTableMapper extends BaseMapper { 14 | 15 | List select(Page page); 16 | 17 | } -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/mapper/FoodMapper.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.mapper; 2 | 3 | import cn.gtapc.ordering.entity.Food; 4 | import cn.gtapc.ordering.entity.FoodType; 5 | import com.baomidou.mybatisplus.mapper.BaseMapper; 6 | import com.baomidou.mybatisplus.plugins.Page; 7 | 8 | import java.util.List; 9 | /** 10 | *

11 | * 食品 Mapper 接口 12 | *

13 | */ 14 | public interface FoodMapper extends BaseMapper { 15 | 16 | List select(Page page); 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/mapper/FoodTypeMapper.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.mapper; 2 | 3 | import cn.gtapc.ordering.entity.DinnerTable; 4 | import cn.gtapc.ordering.entity.FoodType; 5 | import com.baomidou.mybatisplus.mapper.BaseMapper; 6 | import com.baomidou.mybatisplus.plugins.Page; 7 | 8 | import java.util.List; 9 | /** 10 | *

11 | * 分类 Mapper 接口 12 | *

13 | */ 14 | public interface FoodTypeMapper extends BaseMapper { 15 | 16 | List select(Page page); 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/mapper/OrderMapper.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.mapper; 2 | 3 | import cn.gtapc.ordering.entity.Order; 4 | import cn.gtapc.ordering.entity.TemporaryOrder; 5 | import com.baomidou.mybatisplus.mapper.BaseMapper; 6 | import com.baomidou.mybatisplus.plugins.Page; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | *

12 | * 订单 Mapper 接口 13 | *

14 | */ 15 | public interface OrderMapper extends BaseMapper { 16 | List select(Page page); 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/mapper/TemporaryOrderMapper.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.mapper; 2 | 3 | import cn.gtapc.ordering.entity.FoodType; 4 | import cn.gtapc.ordering.entity.TemporaryOrder; 5 | import cn.gtapc.ordering.entity.vo.TemporaryOrderVO; 6 | import com.baomidou.mybatisplus.mapper.BaseMapper; 7 | import com.baomidou.mybatisplus.plugins.Page; 8 | import org.apache.ibatis.annotations.Param; 9 | 10 | import java.util.List; 11 | 12 | public interface TemporaryOrderMapper extends BaseMapper { 13 | 14 | List selectVO(Page page, @Param("temporaryOrderFinished")Boolean temporaryOrderFinished); 15 | 16 | List selectByDinnerTableId(@Param("dinnerTableId") long dinnerTableId); 17 | 18 | } -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/IDinnerTableService.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service; 2 | 3 | import cn.gtapc.ordering.constant.RequestResultEnum; 4 | import cn.gtapc.ordering.entity.DinnerTable; 5 | import com.baomidou.mybatisplus.plugins.Page; 6 | import com.baomidou.mybatisplus.service.IService; 7 | 8 | import java.util.List; 9 | /** 10 | *

11 | * 餐桌 Service 接口 12 | *

13 | */ 14 | public interface IDinnerTableService extends IService { 15 | 16 | // 分页数据 17 | List list(Page page); 18 | 19 | /** 20 | * 删除多条数据 21 | * 22 | * @param ids 需要删除的数据 ID 数组 23 | * @return 24 | */ 25 | boolean delete(long[] ids) throws Exception; 26 | 27 | /** 28 | * 修改多条数据 29 | * 30 | * @param ids 需要修改的数据 ID 数组 31 | * @return 32 | * @throws Exception 33 | */ 34 | boolean update(long[] ids) throws Exception; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/IFoodService.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service; 2 | 3 | import cn.gtapc.ordering.entity.DinnerTable; 4 | import cn.gtapc.ordering.entity.Food; 5 | import com.baomidou.mybatisplus.plugins.Page; 6 | import com.baomidou.mybatisplus.service.IService; 7 | import org.springframework.transaction.annotation.Transactional; 8 | 9 | import java.util.List; 10 | /** 11 | *

12 | * 食品 Service 接口 13 | *

14 | */ 15 | public interface IFoodService extends IService { 16 | 17 | List list(Page page); 18 | 19 | /** 20 | * 删除多条数据 21 | * 22 | * @param ids 需要删除的数据 ID 数组 23 | * @return 24 | */ 25 | @Transactional 26 | boolean delete(long[] ids) throws Exception; 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/IFoodTypeService.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service; 2 | 3 | import cn.gtapc.ordering.entity.DinnerTable; 4 | import cn.gtapc.ordering.entity.FoodType; 5 | import com.baomidou.mybatisplus.plugins.Page; 6 | import com.baomidou.mybatisplus.service.IService; 7 | import org.springframework.transaction.annotation.Transactional; 8 | 9 | import java.util.List; 10 | /** 11 | *

12 | * 食品分类 Service 接口 13 | *

14 | */ 15 | public interface IFoodTypeService extends IService { 16 | 17 | List list(Page page); 18 | 19 | /** 20 | * 删除多条数据 21 | * 22 | * @param ids 需要删除的数据 ID 数组 23 | * @return 24 | */ 25 | @Transactional 26 | boolean delete(long[] ids) throws Exception; 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/IOrderService.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service; 2 | 3 | import cn.gtapc.ordering.entity.Order; 4 | import cn.gtapc.ordering.entity.TemporaryOrder; 5 | import com.baomidou.mybatisplus.plugins.Page; 6 | import com.baomidou.mybatisplus.service.IService; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | *

12 | * 订单 Service 接口 13 | *

14 | */ 15 | public interface IOrderService extends IService { 16 | List list(Page page); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/ITemporaryOrderService.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service; 2 | 3 | import cn.gtapc.ordering.entity.TemporaryOrder; 4 | import cn.gtapc.ordering.entity.vo.TemporaryOrderVO; 5 | import com.baomidou.mybatisplus.plugins.Page; 6 | import com.baomidou.mybatisplus.service.IService; 7 | 8 | import java.util.List; 9 | 10 | public interface ITemporaryOrderService extends IService { 11 | 12 | List list(Page page,Boolean temporaryOrderFinished); 13 | 14 | List list(long dinnerTableId); 15 | 16 | boolean update(long[] temporaryOrder2)throws Exception; 17 | 18 | boolean delete(long[] deleted); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/impl/DinnerTableServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service.impl; 2 | 3 | import cn.gtapc.ordering.constant.DinnerTableStatusEnum; 4 | import cn.gtapc.ordering.constant.RequestResultEnum; 5 | import cn.gtapc.ordering.entity.DinnerTable; 6 | import cn.gtapc.ordering.service.IDinnerTableService; 7 | import cn.gtapc.util.common.ObjectUtil; 8 | import com.baomidou.mybatisplus.plugins.Page; 9 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 10 | import cn.gtapc.ordering.mapper.DinnerTableMapper; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.stereotype.Service; 13 | import org.springframework.transaction.annotation.Transactional; 14 | import org.springframework.transaction.interceptor.TransactionAspectSupport; 15 | 16 | import java.util.Date; 17 | import java.util.List; 18 | /** 19 | *

20 | * 餐桌 Service 实现 21 | *

22 | * 23 | */ 24 | @Service 25 | public class DinnerTableServiceImpl extends ServiceImpl implements IDinnerTableService { 26 | 27 | @Autowired 28 | private DinnerTableMapper dinnerTableMapper; 29 | 30 | /** 31 | * 获取分页数据 32 | * @param page 33 | * @return 34 | */ 35 | @Override 36 | public List list(Page page) { 37 | return dinnerTableMapper.select(page); 38 | } 39 | /** 40 | * 删除多条数据 41 | * 42 | * @param ids 需要删除的数据 ID 数组 43 | * @return 44 | */ 45 | @Transactional 46 | @Override 47 | public boolean delete(long[] ids) throws Exception { 48 | // 循环删除 49 | for (int i = 0; i < ids.length; i++) { 50 | long id = ids[i]; 51 | // 52 | DinnerTable dinnerTable = this.selectById(id); 53 | dinnerTable.setDeleted(true); 54 | dinnerTable.setUpdatedTime(new Date()); 55 | // 如果需要删除的餐桌id不大于零 执行回滚操作 56 | if (!ObjectUtil.greaterThanZero(dinnerTableMapper.updateById(dinnerTable))) { 57 | TransactionAspectSupport.currentTransactionStatus().isRollbackOnly(); 58 | return false; 59 | } 60 | } 61 | return true; 62 | } 63 | 64 | /** 65 | * 修改多条数据 66 | * 67 | * @param ids 需要修改的数据 ID 数组 68 | * @return 69 | * @throws Exception 70 | */ 71 | @Transactional 72 | @Override 73 | public boolean update(long[] ids) throws Exception { 74 | // 循环修改状态 75 | for (int i = 0; i < ids.length; i++) { 76 | long id = ids[i]; 77 | DinnerTable dinnerTable = new DinnerTable(); 78 | dinnerTable.setId(id); 79 | dinnerTable.setDeleted(false); 80 | dinnerTable = dinnerTableMapper.selectById(dinnerTable); 81 | // 如果 餐桌状态 无人 就修改成 进食中 82 | if (DinnerTableStatusEnum.EMPTY.getKey() == dinnerTable.getStatus()) { 83 | dinnerTable.setStatus(DinnerTableStatusEnum.EATING.getKey()); 84 | } else { 85 | // 否则修改成 无人 状态 86 | dinnerTable.setStatus(DinnerTableStatusEnum.EMPTY.getKey()); 87 | } 88 | // 写入更新时间 89 | dinnerTable.setUpdatedTime(new Date()); 90 | // 如果需要删除的餐桌id不大于零 执行回滚操作 91 | if(!ObjectUtil.greaterThanZero(dinnerTableMapper.updateById(dinnerTable))){ 92 | TransactionAspectSupport.currentTransactionStatus().isRollbackOnly(); 93 | return false; 94 | } 95 | } 96 | return true; 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/impl/FoodServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service.impl; 2 | 3 | import cn.gtapc.ordering.entity.Food; 4 | import cn.gtapc.ordering.entity.FoodType; 5 | import cn.gtapc.ordering.mapper.FoodMapper; 6 | import cn.gtapc.ordering.mapper.FoodTypeMapper; 7 | import cn.gtapc.ordering.service.IFoodService; 8 | import cn.gtapc.util.common.ObjectUtil; 9 | import com.baomidou.mybatisplus.plugins.Page; 10 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.stereotype.Service; 13 | import org.springframework.transaction.annotation.Transactional; 14 | import org.springframework.transaction.interceptor.TransactionAspectSupport; 15 | 16 | import java.util.Date; 17 | import java.util.List; 18 | /** 19 | *

20 | * 食品 Service 实现 21 | *

22 | * 23 | */ 24 | @Service 25 | public class FoodServiceImpl extends ServiceImpl implements IFoodService { 26 | 27 | 28 | @Autowired 29 | private FoodMapper foodMapper; 30 | /** 31 | * 获取分页数据 32 | * @param page 33 | * @return 34 | */ 35 | public List list(Page page) { 36 | return foodMapper.select(page); 37 | } 38 | /** 39 | * 删除多条数据 40 | * 41 | * @param ids 需要删除的数据 ID 数组 42 | * @return 43 | */ 44 | @Transactional 45 | @Override 46 | public boolean delete(long[] ids) throws Exception { 47 | // 循环删除 48 | for (int i = 0; i < ids.length; i++) { 49 | long id = ids[i]; 50 | Food food = this.selectById(id); 51 | food.setDeleted(true); 52 | // 写入更新时间 53 | food.setUpdatedTime(new Date()); 54 | // 如果需要删除的食品id不大于零 执行回滚操作 55 | if (!ObjectUtil.greaterThanZero(foodMapper.updateById(food))) { 56 | TransactionAspectSupport.currentTransactionStatus().isRollbackOnly(); 57 | return false; 58 | } 59 | } 60 | return true; 61 | } 62 | 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/impl/FoodTypeServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service.impl; 2 | 3 | import cn.gtapc.ordering.entity.DinnerTable; 4 | import cn.gtapc.ordering.entity.FoodType; 5 | import cn.gtapc.ordering.mapper.FoodMapper; 6 | import cn.gtapc.ordering.mapper.FoodTypeMapper; 7 | import cn.gtapc.ordering.service.IFoodTypeService; 8 | import cn.gtapc.util.common.ObjectUtil; 9 | import com.baomidou.mybatisplus.plugins.Page; 10 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.stereotype.Service; 13 | import org.springframework.transaction.annotation.Transactional; 14 | import org.springframework.transaction.interceptor.TransactionAspectSupport; 15 | 16 | import java.util.Date; 17 | import java.util.List; 18 | /** 19 | *

20 | * 食品分类 Service 实现 21 | *

22 | * 23 | */ 24 | @Service 25 | public class FoodTypeServiceImpl extends ServiceImpl implements IFoodTypeService { 26 | 27 | @Autowired 28 | private FoodTypeMapper foodTypeMapper; 29 | /** 30 | * 获取分页数据 31 | * @param page 32 | * @return 33 | */ 34 | public List list(Page page) { 35 | return foodTypeMapper.select(page); 36 | } 37 | /** 38 | * 删除多条数据 39 | * 40 | * @param ids 需要删除的数据 ID 数组 41 | * @return 42 | */ 43 | @Transactional 44 | @Override 45 | public boolean delete(long[] ids) throws Exception { 46 | // 循环删除 47 | for (int i = 0; i < ids.length; i++) { 48 | long id = ids[i]; 49 | FoodType foodType = this.selectById(id); 50 | foodType.setDeleted(true); 51 | // 写入更新时间 52 | foodType.setUpdatedTime(new Date()); 53 | // 如果需要删除的食品分类id不大于零 执行回滚操作 54 | if (!ObjectUtil.greaterThanZero(foodTypeMapper.updateById(foodType))) { 55 | TransactionAspectSupport.currentTransactionStatus().isRollbackOnly(); 56 | return false; 57 | } 58 | } 59 | return true; 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/impl/OrderServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service.impl; 2 | 3 | import cn.gtapc.ordering.entity.Order; 4 | import cn.gtapc.ordering.mapper.OrderMapper; 5 | import cn.gtapc.ordering.service.IOrderService; 6 | import cn.gtapc.util.common.ObjectUtil; 7 | import com.baomidou.mybatisplus.plugins.Page; 8 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.stereotype.Service; 11 | 12 | import java.util.Date; 13 | import java.util.List; 14 | 15 | /** 16 | *

17 | * 订单 Service 实现 18 | *

19 | * 20 | */ 21 | @Service 22 | public class OrderServiceImpl extends ServiceImpl implements IOrderService { 23 | 24 | @Autowired 25 | private OrderMapper orderMapper; 26 | 27 | @Override 28 | public List list(Page page) { 29 | return orderMapper.select(page); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/ordering/service/impl/TemporaryOrderServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.ordering.service.impl; 2 | 3 | import cn.gtapc.ordering.entity.FoodType; 4 | import cn.gtapc.ordering.entity.Order; 5 | import cn.gtapc.ordering.entity.TemporaryOrder; 6 | import cn.gtapc.ordering.entity.vo.OrderedVO; 7 | import cn.gtapc.ordering.entity.vo.TemporaryOrderVO; 8 | import cn.gtapc.ordering.mapper.FoodMapper; 9 | import cn.gtapc.ordering.mapper.OrderMapper; 10 | import cn.gtapc.ordering.mapper.TemporaryOrderMapper; 11 | import cn.gtapc.ordering.service.ITemporaryOrderService; 12 | import cn.gtapc.util.common.ObjectUtil; 13 | import com.alibaba.fastjson.JSONObject; 14 | import com.baomidou.mybatisplus.mapper.EntityWrapper; 15 | import com.baomidou.mybatisplus.plugins.Page; 16 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 17 | import org.springframework.beans.factory.annotation.Autowired; 18 | import org.springframework.stereotype.Service; 19 | import org.springframework.transaction.interceptor.TransactionAspectSupport; 20 | 21 | import java.util.ArrayList; 22 | import java.util.Date; 23 | import java.util.List; 24 | 25 | /** 26 | *

27 | * 临时订单 Service 实现 28 | *

29 | */ 30 | @Service 31 | public class TemporaryOrderServiceImpl extends ServiceImpl implements ITemporaryOrderService { 32 | 33 | @Autowired 34 | private TemporaryOrderMapper temporaryOrderMapper; 35 | 36 | /** 37 | * 获取分页数据 38 | * 39 | * @param page 40 | * @return 41 | */ 42 | @Override 43 | public List list(Page page, Boolean temporaryOrderFinished) { 44 | return temporaryOrderMapper.selectVO(page, temporaryOrderFinished); 45 | } 46 | 47 | @Override 48 | public List list(long dinnerTableId) { 49 | // 根据餐桌 ID 获取未完成订单所属的未完成的临时订单 ID 50 | return temporaryOrderMapper.selectByDinnerTableId(dinnerTableId); 51 | } 52 | 53 | @Override 54 | public boolean update(long[] temporaryOrder2) throws Exception { 55 | try { 56 | for (int i = 0; i < temporaryOrder2.length; i++) { 57 | long id = temporaryOrder2[i]; 58 | TemporaryOrder temporaryOrder = this.selectById(id); 59 | if (temporaryOrder.getNumber() != 0 && temporaryOrder.getNumber() != null) { 60 | temporaryOrder.setFinished(true); 61 | temporaryOrder.setUpdatedTime(new Date()); 62 | // 如果需要删除不大于零 执行回滚操作 63 | if (!ObjectUtil.greaterThanZero(temporaryOrderMapper.updateById(temporaryOrder))) { 64 | TransactionAspectSupport.currentTransactionStatus().isRollbackOnly(); 65 | return false; 66 | } 67 | } 68 | 69 | } 70 | } catch (Exception e) { 71 | 72 | } 73 | return true; 74 | 75 | } 76 | 77 | 78 | @Override 79 | public boolean delete(long[] deleted) { 80 | try { 81 | for (int i = 0; i < deleted.length; i++) { 82 | long id = deleted[i]; 83 | TemporaryOrder temporaryOrder = this.selectById(id); 84 | temporaryOrder.setDeleted(true); 85 | temporaryOrder.setUpdatedTime(new Date()); 86 | // 如果需要删除不大于零 执行回滚操作 87 | if (!ObjectUtil.greaterThanZero(temporaryOrderMapper.updateById(temporaryOrder))) { 88 | TransactionAspectSupport.currentTransactionStatus().isRollbackOnly(); 89 | return false; 90 | } 91 | 92 | 93 | } 94 | } catch (Exception e) { 95 | 96 | } 97 | return true; 98 | 99 | } 100 | 101 | } 102 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/util/common/CollectionUtil.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.util.common; 2 | 3 | import org.apache.commons.collections4.CollectionUtils; 4 | 5 | import java.util.Collection; 6 | 7 | /** 8 | * 类集工具类 9 | * 10 | * @author duanluan 11 | */ 12 | public final class CollectionUtil { 13 | 14 | /** 15 | * 判断类集是否为空 16 | * 17 | * @param collection 需要判断的类集 18 | * @return 是否为空的结果 19 | */ 20 | public static boolean isEmpty(Collection collection) { 21 | return CollectionUtils.isEmpty(collection); 22 | } 23 | 24 | /** 25 | * 判断类集是否不为空 26 | * 27 | * @param collection 需要判断的集合 28 | * @return 是否不为空的结果 29 | */ 30 | public static boolean isNotEmpty(Collection collection) { 31 | return CollectionUtils.isNotEmpty(collection); 32 | } 33 | 34 | /** 35 | * 判斷類集是否不為空且只有一個元素 36 | * 37 | * @param collection 需要判断的集合 38 | * @return 是否不為空且只有一個元素的結果 39 | */ 40 | public static boolean isNotEmptyAndOnlyOne(Collection collection) { 41 | return CollectionUtil.isNotEmpty(collection) && collection.size() == 1; 42 | } 43 | 44 | /** 45 | * 判断集合长度是否大于零 46 | * 47 | * @param collection 需要判断的集合 48 | * @return 49 | */ 50 | public static boolean greaterThanZero(Collection collection) { 51 | return collection != null && collection.size() > 0 ? true : false; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/util/common/MapUtil.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.util.common; 2 | 3 | import org.apache.commons.collections4.MapUtils; 4 | 5 | import java.util.Map; 6 | 7 | /** 8 | * 集合工具类 9 | * 10 | * @author duanluan 11 | */ 12 | public final class MapUtil { 13 | 14 | /** 15 | * 判断集合是否为空 16 | * 17 | * @param map 需要判断的集合 18 | * @return 是否为空的结果 19 | */ 20 | public static boolean isEmpty(Map map) { 21 | return MapUtils.isEmpty(map); 22 | } 23 | 24 | /** 25 | * 判断集合是否不为空 26 | * 27 | * @param map 需要判断的集合 28 | * @return 是否不为空的结果 29 | */ 30 | public static boolean isNotEmpty(Map map) { 31 | return MapUtils.isNotEmpty(map); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/util/common/RandomUtil.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.util.common; 2 | 3 | import java.util.Random; 4 | 5 | public class RandomUtil { 6 | 7 | public static final String ALL = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 8 | public static final String UPPERCASE_LOWERCASE_LETTER = "abcdefghijkllmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 9 | public static final String UPPERCASE_LETTER = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 10 | public static final String LOWERCASE_LETTER = "abcdefghijkllmnopqrstuvwxyz"; 11 | public static final String NUMBER = "0123456789"; 12 | 13 | /** 14 | * 根據源字符生成指定長度的隨機字符串 15 | * 16 | * @param sourceStr 17 | * @param length 18 | * @return 19 | */ 20 | public static String generateStr(String sourceStr, Long length){ 21 | StringBuffer stringBuffer = new StringBuffer(); 22 | Random random = new Random(); 23 | for (int i = 0; i < length; i++) { 24 | stringBuffer.append(sourceStr.charAt(random.nextInt(sourceStr.length()))); 25 | } 26 | 27 | return stringBuffer.toString(); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/util/common/StringUtil.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.util.common; 2 | 3 | import org.apache.commons.lang3.StringUtils; 4 | 5 | /** 6 | * 字符串工具类 7 | * 8 | * @author duanluan 9 | */ 10 | public final class StringUtil { 11 | 12 | /** 13 | * 判断字符串是否为空 14 | * 15 | * @param str 需要判断的字符串 16 | * @return 是否为空的结果 17 | */ 18 | public static boolean isEmpty(String str) { 19 | if (str != null) { 20 | str = str.trim(); 21 | } 22 | return StringUtils.isEmpty(str); 23 | } 24 | 25 | /** 26 | * 判断字符串是否为空 27 | * 28 | * @param str 需要判断的字符串 29 | * @return 是否为空的结果 30 | */ 31 | public static boolean isEmpty(Object str) { 32 | if (str != null) { 33 | str = str.toString().trim(); 34 | return StringUtils.isEmpty(str.toString()); 35 | } else { 36 | return false; 37 | } 38 | } 39 | 40 | /** 41 | * 判断字符串是否不为空 42 | * 43 | * @param str 需要判断的字符串 44 | * @return 是否不为空的结果 45 | */ 46 | public static boolean isNotEmpty(String str) { 47 | if (str != null) { 48 | str = str.trim(); 49 | } 50 | return StringUtils.isNotEmpty(str); 51 | } 52 | 53 | /** 54 | * 判断字符串是否不为空 55 | * 56 | * @param str 需要判断的字符串 57 | * @return 是否不为空的结果 58 | */ 59 | public static boolean isNotEmpty(Object str) { 60 | if (str != null) { 61 | str = str.toString().trim(); 62 | return StringUtils.isNotEmpty(str.toString()); 63 | } else { 64 | return false; 65 | } 66 | } 67 | 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/util/common/ValidateUtil.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.util.common; 2 | 3 | import java.util.regex.Pattern; 4 | 5 | public class ValidateUtil { 6 | 7 | private ValidateUtil() { 8 | } 9 | 10 | public static boolean validateEmail(String email) { 11 | return Pattern.matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", email); 12 | } 13 | 14 | /** 15 | * 6 - 20 位的英文、數字或半角符號 16 | * 17 | * @param password 18 | * @return 19 | */ 20 | public static boolean validatePassword(String password) { 21 | return Pattern.matches("^[a-zA-Z0-9\\x21-\\x7e]{5,19}$", password); 22 | } 23 | 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/cn/gtapc/util/constant/RequestMethodEnum.java: -------------------------------------------------------------------------------- 1 | package cn.gtapc.util.constant; 2 | 3 | /** 4 | * 配合 HttpUtil 使用 5 | */ 6 | public enum RequestMethodEnum { 7 | GET, 8 | POST, 9 | DELETE, 10 | PUT 11 | } 12 | -------------------------------------------------------------------------------- /src/main/resources/doc/响应编码消息规范.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/resources/doc/响应编码消息规范.xlsx -------------------------------------------------------------------------------- /src/main/resources/generatorConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 32 | 33 | 34 | 35 | 36 | 41 | 42 | 43 | 44 | 45 | 46 | 50 | 51 | 52 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/DinnerTableMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | dt.id, 7 | dt.status, 8 | dt.created_time createdTime, 9 | dt.updated_time updatedTime, 10 | dt.deleted, 11 | dt.remark 12 | 13 | 14 | 15 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/FoodMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | f.id, 7 | f.name, 8 | f.price, 9 | f.image_url imageUrl, 10 | f.created_time createdTime, 11 | f.updated_time updatedTime, 12 | f.deleted, 13 | f.remark 14 | 15 | 16 | 17 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/FoodTypeMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ft.id, 7 | ft.name, 8 | ft.icon_url iconUrl, 9 | ft.created_time createdTime, 10 | ft.updated_time updatedTime, 11 | ft.deleted, 12 | ft.remark 13 | 14 | 15 | 16 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/OrderMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | to.id, 7 | to.temporary_order_ids temporaryOrderIds, 8 | to.total_price totalPrice, 9 | to.created_time createdTime, 10 | to.updated_time updatedTime, 11 | to.deleted, 12 | to.remark 13 | 14 | 15 | 16 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/TemporaryOrderMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | _to.id, 7 | _to.order_id orderId, 8 | _to.food_id foodId, 9 | _to.number, 10 | _to.total_price totalPrice, 11 | _to.finished, 12 | _to.finished_time finishedTime, 13 | _to.created_time createdTime, 14 | _to.updated_time updatedTime, 15 | _to.deleted, 16 | _to.remark 17 | 18 | 19 | 20 | 21 | 37 | 38 | 39 | 49 | 50 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mybatis-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/main/resources/properties/config.properties: -------------------------------------------------------------------------------- 1 | manage.base.url=http://localhost:8080/ordering/manage 2 | common.base.url=http://localhost:8080/ordering 3 | -------------------------------------------------------------------------------- /src/main/resources/properties/freemarker.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/resources/properties/freemarker.properties -------------------------------------------------------------------------------- /src/main/resources/properties/jdbc.properties: -------------------------------------------------------------------------------- 1 | jdbc.driver=com.mysql.jdbc.Driver 2 | jdbc.url=jdbc:mysql://localhost:3306/ordering?tinyInt1isBit=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&allowMultiQueries=true&useSSL=false 3 | jdbc.username=root 4 | jdbc.password= 5 | pool.dbcp2.initialSize=3 6 | pool.dbcp2.minIdle=3 7 | pool.dbcp2.maxIdle=5 8 | pool.dbcp2.maxTotal=15 9 | pool.dbcp2.defaultAutoCommit=false -------------------------------------------------------------------------------- /src/main/resources/properties/mail.properties: -------------------------------------------------------------------------------- 1 | mail.from=postmaster@duanluan.top 2 | mail.protocol=smtp 3 | mail.host=smtp.mxhichina.com 4 | mail.port=25 5 | mail.username=postmaster@duanluan.top 6 | mail.password=Azljihbaba0813 7 | mail.auth=true 8 | mail.starttls=true 9 | -------------------------------------------------------------------------------- /src/main/resources/spring/applicationContext.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /src/main/resources/spring/spring-dataSource.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/main/resources/spring/spring-mvc-freeMarker.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/main/resources/spring/spring-mvc.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /src/main/resources/spring/spring-mybatis.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 42 | 43 | 44 | 45 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /src/main/resources/spring/spring-transaction.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | ordering 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | contextConfigLocation 23 | 24 | classpath*:spring/applicationContext.xml, 25 | classpath*:spring/spring-dataSource.xml, 26 | classpath*:spring/spring-transaction.xml, 27 | classpath*:spring/spring-mybatis.xml 28 | 29 | 30 | 31 | 32 | 33 | org.springframework.web.context.ContextLoaderListener 34 | 35 | 36 | 37 | org.springframework.web.util.IntrospectorCleanupListener 38 | 39 | 40 | 41 | 42 | httpMethodFilter 43 | org.springframework.web.filter.HttpPutFormContentFilter 44 | 45 | 46 | httpMethodFilter 47 | /* 48 | 49 | 50 | 51 | encodingFilter 52 | org.springframework.web.filter.CharacterEncodingFilter 53 | 54 | encoding 55 | UTF-8 56 | 57 | 58 | 59 | encodingFilter 60 | /* 61 | 62 | 63 | 64 | 65 | SpringMVC 66 | org.springframework.web.servlet.DispatcherServlet 67 | 68 | contextConfigLocation 69 | 70 | classpath*:spring/spring-mvc.xml, 71 | classpath*:spring/spring-mvc-freeMarker.xml 72 | 73 | 74 | 1 75 | 76 | 77 | SpringMVC 78 | 79 | / 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /src/main/webapp/freeMarker/manage/food_detail.ftl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 18 | <#--编辑菜品分类--> 19 | 20 |
21 |
22 | 23 | 24 |
25 |
26 | 27 |
28 |
29 |
30 | 36 |
37 |
38 | 39 | 40 |
41 |
42 | 43 | 44 |
45 |
46 | 47 |
48 |
49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/webapp/freeMarker/manage/food_type_detail.ftl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 14 | <#--编辑菜品分类--> 15 | 16 |
17 | 18 | 19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/webapp/freeMarker/ordered_panel1.ftl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 27 | 28 | 29 | 30 |
31 |
32 | 33 |
34 | 39 |
40 |
41 | <#list temporaryOrderList as temporaryOrder> 42 | ${temporaryOrder.finished} 43 | <#if temporaryOrder.finished = false> 44 | ${temporaryOrder.id}
45 | 46 | 47 |
48 |
49 |
50 |
51 | 56 |
57 |
58 | 59 |
60 |
61 |
62 |
63 |
64 | 65 | 66 | 67 | 88 | -------------------------------------------------------------------------------- /src/main/webapp/static/css/style.css: -------------------------------------------------------------------------------- 1 | *{ 2 | box-sizing: content-box; 3 | } 4 | 5 | .ac-container{ 6 | margin: 10px auto 30px auto; 7 | text-align: left; 8 | } 9 | .ac-container label{ 10 | font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif; 11 | padding: 5px 20px; 12 | position: relative; 13 | z-index: 20; 14 | display: block; 15 | height: 30px; 16 | cursor: pointer; 17 | color: #777; 18 | text-shadow: 1px 1px 1px rgba(255,255,255,0.8); 19 | line-height: 33px; 20 | font-size: 19px; 21 | background: #ffffff; 22 | background: -moz-linear-gradient(top, #ffffff 1%, #eaeaea 100%); 23 | background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,#ffffff), color-stop(100%,#eaeaea)); 24 | background: -webkit-linear-gradient(top, #ffffff 1%,#eaeaea 100%); 25 | background: -o-linear-gradient(top, #ffffff 1%,#eaeaea 100%); 26 | background: -ms-linear-gradient(top, #ffffff 1%,#eaeaea 100%); 27 | background: linear-gradient(top, #ffffff 1%,#eaeaea 100%); 28 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eaeaea',GradientType=0 ); 29 | box-shadow: 30 | 0px 0px 0px 1px rgba(155,155,155,0.3), 31 | 1px 0px 0px 0px rgba(255,255,255,0.9) inset, 32 | 0px 2px 2px rgba(0,0,0,0.1); 33 | } 34 | .ac-container label:hover{ 35 | background: #fff; 36 | } 37 | .ac-container input:checked + label, 38 | .ac-container input:checked + label:hover{ 39 | background: #c6e1ec; 40 | color: #3d7489; 41 | text-shadow: 0px 1px 1px rgba(255,255,255, 0.6); 42 | box-shadow: 43 | 0px 0px 0px 1px rgba(155,155,155,0.3), 44 | 0px 2px 2px rgba(0,0,0,0.1); 45 | } 46 | .ac-container label:hover:after, 47 | .ac-container input:checked + label:hover:after{ 48 | content: ''; 49 | position: absolute; 50 | width: 24px; 51 | height: 24px; 52 | right: 13px; 53 | top: 7px; 54 | background: transparent url(../images/arrow_down.png) no-repeat center center; 55 | } 56 | .ac-container input:checked + label:hover:after{ 57 | background-image: url(../images/arrow_up.png); 58 | } 59 | .ac-container input{ 60 | display: none; 61 | } 62 | .ac-container article{ 63 | background: rgba(255, 255, 255, 0.5); 64 | margin-top: -1px; 65 | overflow: hidden; 66 | height: 0px; 67 | position: relative; 68 | z-index: 10; 69 | -webkit-transition: height 0.3s ease-in-out, box-shadow 0.6s linear; 70 | -moz-transition: height 0.3s ease-in-out, box-shadow 0.6s linear; 71 | -o-transition: height 0.3s ease-in-out, box-shadow 0.6s linear; 72 | -ms-transition: height 0.3s ease-in-out, box-shadow 0.6s linear; 73 | transition: height 0.3s ease-in-out, box-shadow 0.6s linear; 74 | } 75 | .ac-container article p{ 76 | font-style: italic; 77 | color: #777; 78 | line-height: 23px; 79 | font-size: 14px; 80 | padding: 20px; 81 | text-shadow: 1px 1px 1px rgba(255,255,255,0.8); 82 | } 83 | .ac-container input:checked ~ article{ 84 | -webkit-transition: height 0.5s ease-in-out, box-shadow 0.1s linear; 85 | -moz-transition: height 0.5s ease-in-out, box-shadow 0.1s linear; 86 | -o-transition: height 0.5s ease-in-out, box-shadow 0.1s linear; 87 | -ms-transition: height 0.5s ease-in-out, box-shadow 0.1s linear; 88 | transition: height 0.5s ease-in-out, box-shadow 0.1s linear; 89 | box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.3); 90 | } 91 | .ac-container input:checked ~ article.ac-small{ 92 | height: 80px; 93 | } 94 | .ac-container input:checked ~ article.ac-medium{ 95 | height: 90px; 96 | } 97 | .ac-container input:checked ~ article.ac-large{ 98 | height: 100px; 99 | } -------------------------------------------------------------------------------- /src/main/webapp/static/images/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/images/arrow_down.png -------------------------------------------------------------------------------- /src/main/webapp/static/images/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/images/arrow_up.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/demo.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 公共素材 8 | 9 | 10 | 11 | 12 | 公共素材 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/login.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 登录页 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 | 21 |
22 |
23 |
24 | 25 |
26 | 27 |
28 |
29 |
30 |
31 |
32 | 33 |
34 | 35 |
36 | 37 | 38 | 39 | 40 | 41 | 42 | 45 | 46 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/css/common.css: -------------------------------------------------------------------------------- 1 | body, html {height: 100%; position: relative; font-family: 'Microsoft yahei'; font-size: 13px; font-weight: 400;} 2 | img {vertical-align: middle;} 3 | a, a:hover, a:active, a:focus {text-decoration: none; -webkit-user-drag: none; outline: none; color: #000;} 4 | a i{font-size: 13px;} 5 | 6 | #main{padding: 10px 20px;} 7 | 8 | /* 数据表格 */ 9 | body{font-size: 12px;} 10 | .table i{font-size: 12px; color: #000;} 11 | .bootstrap-table .table>thead>tr>th{border-bottom: none;} 12 | .bootstrap-table .table:not(.table-condensed), .bootstrap-table .table:not(.table-condensed)>tbody>tr>td, .bootstrap-table .table:not(.table-condensed)>tbody>tr>th, .bootstrap-table .table:not(.table-condensed)>tfoot>tr>td, .bootstrap-table .table:not(.table-condensed)>tfoot>tr>th, .bootstrap-table .table:not(.table-condensed)>thead>tr>td{padding: 12px 8px;} 13 | /* 分页 */ 14 | .pagination>.active>a, .pagination>.active>span, .pagination>.active>a:hover, .pagination>.active>span:hover, .pagination>.active>a:focus, .pagination>.active>span:focus{background: #f5f5f5; color: #000; border-color: #7d7d7d;} 15 | .pagination>li>a, .pagination>li>span{color: #000;}.dropdown-menu>.active>a, .dropdown-menu>.active>a:hover, .dropdown-menu>.active>a:focus{background-color: #999;} 16 | /* bootstrap */ 17 | .jconfirm .jconfirm-box .jconfirm-buttons button{-webkit-border-radius: 0; border-radius: 0;} 18 | .btn:active{-webkit-box-shadow: none; box-shadow: none;} 19 | /* input */ 20 | body .jconfirm{z-index: 999;} 21 | .jconfirm-content form{margin-top: 10px;} 22 | .crudDialog{padding: 0 0 2px;} 23 | .dialog-buttons a{font-weight: bold;} 24 | .form-group{margin-bottom: 20px;} 25 | .form-group label{position: absolute; line-height: 2; font-size: 16px; font-weight: normal; transition: all .2s; pointer-events: none; color: #999;} 26 | .form-group .active{transform: translateY(-65%); font-size: 12px; color: #337ab7;} 27 | .form-group .form-control{font-size: 14px; box-shadow: none; padding-left: 0; padding-right: 0; border-radius: 0; border: none; border-bottom: 2px solid #eee; outline: none; transition: all .5s;} 28 | .form-group .form-control:focus{box-shadow: none; border-color: #337ab7;} -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/css/login.css: -------------------------------------------------------------------------------- 1 | body, html {height: 100%; font-family: 'Microsoft yahei'; font-size: 13px; font-weight: 400;} 2 | img {vertical-align: middle;} 3 | a, a:hover, a:active, a:focus {text-decoration: none; -webkit-user-drag: none;} 4 | a i{font-size: 13px;} 5 | 6 | body{background:#ECECEC;} 7 | body:before{height:50%;width:100%;position:absolute;top:0;left:0;background:#29a176;content:"";z-index:0} 8 | #login-window{position:relative;top:50%;left:50%;width:500px;height:200px;margin-left:-250px;margin-top:-100px;padding:35px 55px 35px 25px;z-index:10;background:#fff;box-shadow:0 1px 11px rgba(0,0,0,.27);border-radius:2px;} 9 | .m-b-20{margin-bottom:20px !important;} 10 | 11 | #login-bt{position:absolute;width:50px;height:50px;border-radius:50%;line-height:36px!important;top:50%;margin-top:-25px;right:-25px;background:#FF4F0F;} 12 | #login-bt i{font-size:23px;color:#fff;} 13 | 14 | .input-group-addon{border:none;background:none;font-size:16px;} 15 | .form-control{position:relative;font-size:13px;border:1px solid #e0e0e0;border-left:0;border-right:0;border-top:0;padding:0;background:#fff;height:35px;line-height:35px;transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;box-shadow:none;} 16 | .form-control:active, .form-control:focus{box-shadow:none;} 17 | .fg-line{position:relative;vertical-align:top;display:inline-block;width:100%;} 18 | .fg-line:after{position:absolute;z-index:3;bottom:0;left:0;height:2px;width:0;content:"";-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s;background:#29a176;} 19 | .fg-line.fg-toggled:after{width:100%} 20 | 21 | input[type=checkbox].checkbix:checked+label>span:before{box-sizing: content-box;} -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/avatar.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/logo.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-cms-theme-m1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-cms-theme-m1.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-cms-theme-m2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-cms-theme-m2.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-cms-theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-cms-theme.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-cms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-cms.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-oss-theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-oss-theme.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-oss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-oss.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-pay-theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-pay-theme.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-pay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-pay.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-ucenter-theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-ucenter-theme.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-ucenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-ucenter.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-upms-theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-upms-theme.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zheng-upms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zheng-upms.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/images/zsz.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/images/zsz.psd -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/js/login.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | // Waves初始化 3 | Waves.displayEffect(); 4 | // 输入框获取焦点后出现下划线 5 | $('.form-control').focus(function() { 6 | $(this).parent().addClass('fg-toggled'); 7 | }).blur(function() { 8 | $(this).parent().removeClass('fg-toggled'); 9 | }); 10 | }); 11 | Checkbix.init(); 12 | $(function() { 13 | // 点击登录按钮 14 | $('#login-bt').click(function() { 15 | login(); 16 | }); 17 | // 回车事件 18 | $('#username, #password').keypress(function (event) { 19 | if (13 == event.keyCode) { 20 | login(); 21 | } 22 | }); 23 | }); 24 | // 登录 25 | function login() { 26 | $.ajax({ 27 | url: BASE_PATH + '/sso/login', 28 | type: 'POST', 29 | data: { 30 | username: $('#username').val(), 31 | password: $('#password').val(), 32 | rememberMe: $('#rememberMe').is(':checked'), 33 | backurl: BACK_URL 34 | }, 35 | beforeSend: function() { 36 | 37 | }, 38 | success: function(json){ 39 | if (json.code == 1) { 40 | location.href = json.data; 41 | } else { 42 | alert(json.data); 43 | if (10101 == json.code) { 44 | $('#username').focus(); 45 | } 46 | if (10102 == json.code) { 47 | $('#password').focus(); 48 | } 49 | } 50 | }, 51 | error: function(error){ 52 | console.log(error); 53 | } 54 | }); 55 | } -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/My97DatePicker/lang/en.js: -------------------------------------------------------------------------------- 1 | var $lang={ 2 | errAlertMsg: "Invalid date or the date out of range,redo or not?", 3 | aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], 4 | aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"], 5 | aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 6 | aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"], 7 | clearStr: "Clear", 8 | todayStr: "Today", 9 | okStr: "OK", 10 | updateStr: "OK", 11 | timeStr: "Time", 12 | quickStr: "Quick Selection", 13 | err_1: 'MinDate Cannot be bigger than MaxDate!' 14 | } -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/My97DatePicker/lang/zh-cn.js: -------------------------------------------------------------------------------- 1 | var $lang={ 2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?", 3 | aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"], 4 | aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"], 5 | aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"], 6 | aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"], 7 | clearStr: "\u6E05\u7A7A", 8 | todayStr: "\u4ECA\u5929", 9 | okStr: "\u786E\u5B9A", 10 | updateStr: "\u786E\u5B9A", 11 | timeStr: "\u65F6\u95F4", 12 | quickStr: "\u5FEB\u901F\u9009\u62E9", 13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!' 14 | } -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/My97DatePicker/lang/zh-tw.js: -------------------------------------------------------------------------------- 1 | var $lang={ 2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?", 3 | aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"], 4 | aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"], 5 | aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"], 6 | aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"], 7 | clearStr: "\u6E05\u7A7A", 8 | todayStr: "\u4ECA\u5929", 9 | okStr: "\u78BA\u5B9A", 10 | updateStr: "\u78BA\u5B9A", 11 | timeStr: "\u6642\u9593", 12 | quickStr: "\u5FEB\u901F\u9078\u64C7", 13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!' 14 | } -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/My97DatePicker/skin/WdatePicker.css: -------------------------------------------------------------------------------- 1 | .Wdate{ 2 | border:#999 1px solid; 3 | height:20px; 4 | background:#fff url(datePicker.gif) no-repeat right; 5 | } 6 | .Wdate::-ms-clear{display:none;} 7 | 8 | .WdateFmtErr{ 9 | font-weight:bold; 10 | color:red; 11 | } -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/My97DatePicker/skin/datePicker.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/My97DatePicker/skin/datePicker.gif -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/My97DatePicker/skin/default/img.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/My97DatePicker/skin/default/img.gif -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/My97DatePicker/skin/whyGreen/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/My97DatePicker/skin/whyGreen/bg.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/My97DatePicker/skin/whyGreen/img.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/My97DatePicker/skin/whyGreen/img.gif -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/angular/angular-1.5.8/angular-aria.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.5.8 3 | (c) 2010-2016 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(t,p){'use strict';var b="BUTTON A INPUT TEXTAREA SELECT DETAILS SUMMARY".split(" "),l=function(a,c){if(-1!==c.indexOf(a[0].nodeName))return!0};p.module("ngAria",["ng"]).provider("$aria",function(){function a(a,b,m,h){return function(d,f,e){var q=e.$normalize(b);!c[q]||l(f,m)||e[q]||d.$watch(e[a],function(a){a=h?!a:!!a;f.attr(b,a)})}}var c={ariaHidden:!0,ariaChecked:!0,ariaReadonly:!0,ariaDisabled:!0,ariaRequired:!0,ariaInvalid:!0,ariaValue:!0,tabindex:!0,bindKeypress:!0,bindRoleForClick:!0}; 7 | this.config=function(a){c=p.extend(c,a)};this.$get=function(){return{config:function(a){return c[a]},$$watchExpr:a}}}).directive("ngShow",["$aria",function(a){return a.$$watchExpr("ngShow","aria-hidden",[],!0)}]).directive("ngHide",["$aria",function(a){return a.$$watchExpr("ngHide","aria-hidden",[],!1)}]).directive("ngValue",["$aria",function(a){return a.$$watchExpr("ngValue","aria-checked",b,!1)}]).directive("ngChecked",["$aria",function(a){return a.$$watchExpr("ngChecked","aria-checked",b,!1)}]).directive("ngReadonly", 8 | ["$aria",function(a){return a.$$watchExpr("ngReadonly","aria-readonly",b,!1)}]).directive("ngRequired",["$aria",function(a){return a.$$watchExpr("ngRequired","aria-required",b,!1)}]).directive("ngModel",["$aria",function(a){function c(c,h,d,f){return a.config(h)&&!d.attr(c)&&(f||!l(d,b))}function g(a,c){return!c.attr("role")&&c.attr("type")===a&&"INPUT"!==c[0].nodeName}function k(a,c){var d=a.type,f=a.role;return"checkbox"===(d||f)||"menuitemcheckbox"===f?"checkbox":"radio"===(d||f)||"menuitemradio"=== 9 | f?"radio":"range"===d||"progressbar"===f||"slider"===f?"range":""}return{restrict:"A",require:"ngModel",priority:200,compile:function(b,h){var d=k(h,b);return{pre:function(a,e,c,b){"checkbox"===d&&(b.$isEmpty=function(a){return!1===a})},post:function(f,e,b,n){function h(){return n.$modelValue}function k(a){e.attr("aria-checked",b.value==n.$viewValue)}function l(){e.attr("aria-checked",!n.$isEmpty(n.$viewValue))}var m=c("tabindex","tabindex",e,!1);switch(d){case "radio":case "checkbox":g(d,e)&&e.attr("role", 10 | d);c("aria-checked","ariaChecked",e,!1)&&f.$watch(h,"radio"===d?k:l);m&&e.attr("tabindex",0);break;case "range":g(d,e)&&e.attr("role","slider");if(a.config("ariaValue")){var p=!e.attr("aria-valuemin")&&(b.hasOwnProperty("min")||b.hasOwnProperty("ngMin")),r=!e.attr("aria-valuemax")&&(b.hasOwnProperty("max")||b.hasOwnProperty("ngMax")),s=!e.attr("aria-valuenow");p&&b.$observe("min",function(a){e.attr("aria-valuemin",a)});r&&b.$observe("max",function(a){e.attr("aria-valuemax",a)});s&&f.$watch(h,function(a){e.attr("aria-valuenow", 11 | a)})}m&&e.attr("tabindex",0)}!b.hasOwnProperty("ngRequired")&&n.$validators.required&&c("aria-required","ariaRequired",e,!1)&&b.$observe("required",function(){e.attr("aria-required",!!b.required)});c("aria-invalid","ariaInvalid",e,!0)&&f.$watch(function(){return n.$invalid},function(a){e.attr("aria-invalid",!!a)})}}}}}]).directive("ngDisabled",["$aria",function(a){return a.$$watchExpr("ngDisabled","aria-disabled",b,!1)}]).directive("ngMessages",function(){return{restrict:"A",require:"?ngMessages", 12 | link:function(a,b,g,k){b.attr("aria-live")||b.attr("aria-live","assertive")}}}).directive("ngClick",["$aria","$parse",function(a,c){return{restrict:"A",compile:function(g,k){var m=c(k.ngClick,null,!0);return function(c,d,f){if(!l(d,b)&&(a.config("bindRoleForClick")&&!d.attr("role")&&d.attr("role","button"),a.config("tabindex")&&!d.attr("tabindex")&&d.attr("tabindex",0),a.config("bindKeypress")&&!f.ngKeypress))d.on("keypress",function(a){function b(){m(c,{$event:a})}var d=a.which||a.keyCode;32!==d&& 13 | 13!==d||c.$apply(b)})}}}}]).directive("ngDblclick",["$aria",function(a){return function(c,g,k){!a.config("tabindex")||g.attr("tabindex")||l(g,b)||g.attr("tabindex",0)}}])})(window,window.angular); 14 | //# sourceMappingURL=angular-aria.min.js.map 15 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/angular/angular-1.5.8/angular-locale_zh-cn.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular.module("ngLocale", [], ["$provide", function($provide) { 3 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; 4 | $provide.value("$locale", { 5 | "DATETIME_FORMATS": { 6 | "AMPMS": [ 7 | "\u4e0a\u5348", 8 | "\u4e0b\u5348" 9 | ], 10 | "DAY": [ 11 | "\u661f\u671f\u65e5", 12 | "\u661f\u671f\u4e00", 13 | "\u661f\u671f\u4e8c", 14 | "\u661f\u671f\u4e09", 15 | "\u661f\u671f\u56db", 16 | "\u661f\u671f\u4e94", 17 | "\u661f\u671f\u516d" 18 | ], 19 | "ERANAMES": [ 20 | "\u516c\u5143\u524d", 21 | "\u516c\u5143" 22 | ], 23 | "ERAS": [ 24 | "\u516c\u5143\u524d", 25 | "\u516c\u5143" 26 | ], 27 | "FIRSTDAYOFWEEK": 6, 28 | "MONTH": [ 29 | "\u4e00\u6708", 30 | "\u4e8c\u6708", 31 | "\u4e09\u6708", 32 | "\u56db\u6708", 33 | "\u4e94\u6708", 34 | "\u516d\u6708", 35 | "\u4e03\u6708", 36 | "\u516b\u6708", 37 | "\u4e5d\u6708", 38 | "\u5341\u6708", 39 | "\u5341\u4e00\u6708", 40 | "\u5341\u4e8c\u6708" 41 | ], 42 | "SHORTDAY": [ 43 | "\u5468\u65e5", 44 | "\u5468\u4e00", 45 | "\u5468\u4e8c", 46 | "\u5468\u4e09", 47 | "\u5468\u56db", 48 | "\u5468\u4e94", 49 | "\u5468\u516d" 50 | ], 51 | "SHORTMONTH": [ 52 | "1\u6708", 53 | "2\u6708", 54 | "3\u6708", 55 | "4\u6708", 56 | "5\u6708", 57 | "6\u6708", 58 | "7\u6708", 59 | "8\u6708", 60 | "9\u6708", 61 | "10\u6708", 62 | "11\u6708", 63 | "12\u6708" 64 | ], 65 | "STANDALONEMONTH": [ 66 | "\u4e00\u6708", 67 | "\u4e8c\u6708", 68 | "\u4e09\u6708", 69 | "\u56db\u6708", 70 | "\u4e94\u6708", 71 | "\u516d\u6708", 72 | "\u4e03\u6708", 73 | "\u516b\u6708", 74 | "\u4e5d\u6708", 75 | "\u5341\u6708", 76 | "\u5341\u4e00\u6708", 77 | "\u5341\u4e8c\u6708" 78 | ], 79 | "WEEKENDRANGE": [ 80 | 5, 81 | 6 82 | ], 83 | "fullDate": "y\u5e74M\u6708d\u65e5EEEE", 84 | "longDate": "y\u5e74M\u6708d\u65e5", 85 | "medium": "y\u5e74M\u6708d\u65e5 ah:mm:ss", 86 | "mediumDate": "y\u5e74M\u6708d\u65e5", 87 | "mediumTime": "ah:mm:ss", 88 | "short": "yy/M/d ah:mm", 89 | "shortDate": "yy/M/d", 90 | "shortTime": "ah:mm" 91 | }, 92 | "NUMBER_FORMATS": { 93 | "CURRENCY_SYM": "\u00a5", 94 | "DECIMAL_SEP": ".", 95 | "GROUP_SEP": ",", 96 | "PATTERNS": [ 97 | { 98 | "gSize": 3, 99 | "lgSize": 3, 100 | "maxFrac": 3, 101 | "minFrac": 0, 102 | "minInt": 1, 103 | "negPre": "-", 104 | "negSuf": "", 105 | "posPre": "", 106 | "posSuf": "" 107 | }, 108 | { 109 | "gSize": 3, 110 | "lgSize": 3, 111 | "maxFrac": 2, 112 | "minFrac": 2, 113 | "minInt": 1, 114 | "negPre": "-\u00a4\u00a0", 115 | "negSuf": "", 116 | "posPre": "\u00a4\u00a0", 117 | "posSuf": "" 118 | } 119 | ] 120 | }, 121 | "id": "zh-cn", 122 | "localeID": "zh_CN", 123 | "pluralCat": function(n, opt_precision) { return PLURAL_CATEGORY.OTHER;} 124 | }); 125 | }]); 126 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/angular/angular-1.5.8/angular-messages.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.5.8 3 | (c) 2010-2016 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(y,l){'use strict';function w(){return["$animate",function(t){return{restrict:"AE",transclude:"element",priority:1,terminal:!0,require:"^^ngMessages",link:function(u,n,a,c,f){var e=n[0],d,r=a.ngMessage||a.when;a=a.ngMessageExp||a.whenExp;var k=function(a){d=a?p(a)?a:a.split(/[\s,]+/):null;c.reRender()};a?(k(u.$eval(a)),u.$watchCollection(a,k)):k(r);var g,s;c.register(e,s={test:function(a){var m=d;a=m?p(m)?0<=m.indexOf(a):m.hasOwnProperty(a):void 0;return a},attach:function(){g||f(function(a, 7 | m){t.enter(a,null,n);g=a;var d=g.$$attachId=c.getAttachId();g.on("$destroy",function(){g&&g.$$attachId===d&&(c.deregister(e),s.detach());m.$destroy()})})},detach:function(){if(g){var a=g;g=null;t.leave(a)}}})}}}]}var v,p,q,x;l.module("ngMessages",[],function(){v=l.forEach;p=l.isArray;q=l.isString;x=l.element}).directive("ngMessages",["$animate",function(t){function u(a,c){return q(c)&&0===c.length||n(a.$eval(c))}function n(a){return q(a)?a.length:!!a}return{require:"ngMessages",restrict:"AE",controller:["$element", 8 | "$scope","$attrs",function(a,c,f){function e(a,c){for(var b=c,d=[];b&&b!==a;){var h=b.$$ngMessageNode;if(h&&h.length)return g[h];b.childNodes.length&&-1===d.indexOf(b)?(d.push(b),b=b.childNodes[b.childNodes.length-1]):b.previousSibling?b=b.previousSibling:(b=b.parentNode,d.push(b))}}var d=this,r=0,k=0;this.getAttachId=function(){return k++};var g=this.messages={},s,l;this.render=function(m){m=m||{};s=!1;l=m;for(var g=u(c,f.ngMessagesMultiple)||u(c,f.multiple),b=[],e={},h=d.head,r=!1,k=0;null!=h;){k++; 9 | var q=h.message,p=!1;r||v(m,function(a,b){!p&&n(a)&&q.test(b)&&!e[b]&&(p=e[b]=!0,q.attach())});p?r=!g:b.push(q);h=h.next}v(b,function(a){a.detach()});b.length!==k?t.setClass(a,"ng-active","ng-inactive"):t.setClass(a,"ng-inactive","ng-active")};c.$watchCollection(f.ngMessages||f["for"],d.render);a.on("$destroy",function(){v(g,function(a){a.message.detach()})});this.reRender=function(){s||(s=!0,c.$evalAsync(function(){s&&l&&d.render(l)}))};this.register=function(c,f){var b=r.toString();g[b]={message:f}; 10 | var k=a[0],h=g[b];d.head?(k=e(k,c))?(h.next=k.next,k.next=h):(h.next=d.head,d.head=h):d.head=h;c.$$ngMessageNode=b;r++;d.reRender()};this.deregister=function(c){var f=c.$$ngMessageNode;delete c.$$ngMessageNode;var b=g[f];(c=e(a[0],c))?c.next=b.next:d.head=b.next;delete g[f];d.reRender()}}]}}]).directive("ngMessagesInclude",["$templateRequest","$document","$compile",function(l,p,n){function a(a,f){var e=n.$$createComment?n.$$createComment("ngMessagesInclude",f):p[0].createComment(" ngMessagesInclude: "+ 11 | f+" "),e=x(e);a.after(e);a.remove()}return{restrict:"AE",require:"^^ngMessages",link:function(c,f,e){var d=e.ngMessagesInclude||e.src;l(d).then(function(e){c.$$destroyed||(q(e)&&!e.trim()?a(f,d):n(e)(c,function(c){f.after(c);a(f,d)}))})}}}]).directive("ngMessage",w()).directive("ngMessageExp",w())})(window,window.angular); 12 | //# sourceMappingURL=angular-messages.min.js.map 13 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/bootstrap-3.3.0/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/bootstrap-3.3.0/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/bootstrap-3.3.0/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/bootstrap-3.3.0/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/bootstrap-3.3.0/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/bootstrap-3.3.0/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/bootstrap-3.3.0/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/bootstrap-table-1.11.0/locale/bootstrap-table-en-US.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bootstrap Table English translation 3 | * Author: Zhixin Wen 4 | */ 5 | (function ($) { 6 | 'use strict'; 7 | 8 | $.fn.bootstrapTable.locales['en-US'] = { 9 | formatLoadingMessage: function () { 10 | return 'Loading, please wait...'; 11 | }, 12 | formatRecordsPerPage: function (pageNumber) { 13 | return pageNumber + ' rows per page'; 14 | }, 15 | formatShowingRows: function (pageFrom, pageTo, totalRows) { 16 | return 'Showing ' + pageFrom + ' to ' + pageTo + ' of ' + totalRows + ' rows'; 17 | }, 18 | formatSearch: function () { 19 | return 'Search'; 20 | }, 21 | formatNoMatches: function () { 22 | return 'No matching records found'; 23 | }, 24 | formatPaginationSwitch: function () { 25 | return 'Hide/Show pagination'; 26 | }, 27 | formatRefresh: function () { 28 | return 'Refresh'; 29 | }, 30 | formatToggle: function () { 31 | return 'Toggle'; 32 | }, 33 | formatColumns: function () { 34 | return 'Columns'; 35 | }, 36 | formatAllRows: function () { 37 | return 'All'; 38 | }, 39 | formatExport: function () { 40 | return 'Export data'; 41 | }, 42 | formatClearFilters: function () { 43 | return 'Clear filters'; 44 | } 45 | }; 46 | 47 | $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['en-US']); 48 | 49 | })(jQuery); 50 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/bootstrap-table-1.11.0/locale/bootstrap-table-en-US.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * bootstrap-table - v1.11.0 - 2016-07-02 3 | * https://github.com/wenzhixin/bootstrap-table 4 | * Copyright (c) 2016 zhixin wen 5 | * Licensed MIT License 6 | */ 7 | !function(a){"use strict";a.fn.bootstrapTable.locales["en-US"]={formatLoadingMessage:function(){return"Loading, please wait..."},formatRecordsPerPage:function(a){return a+" rows per page"},formatShowingRows:function(a,b,c){return"Showing "+a+" to "+b+" of "+c+" rows"},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatColumns:function(){return"Columns"},formatAllRows:function(){return"All"},formatExport:function(){return"Export data"},formatClearFilters:function(){return"Clear filters"}},a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales["en-US"])}(jQuery); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/bootstrap-table-1.11.0/locale/bootstrap-table-zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bootstrap Table Chinese translation 3 | * Author: Zhixin Wen 4 | */ 5 | (function ($) { 6 | 'use strict'; 7 | 8 | $.fn.bootstrapTable.locales['zh-CN'] = { 9 | formatLoadingMessage: function () { 10 | return '正在努力地加载数据中,请稍候……'; 11 | }, 12 | formatRecordsPerPage: function (pageNumber) { 13 | return '每页显示 ' + pageNumber + ' 条记录'; 14 | }, 15 | formatShowingRows: function (pageFrom, pageTo, totalRows) { 16 | return '显示第 ' + pageFrom + ' 到第 ' + pageTo + ' 条记录,总共 ' + totalRows + ' 条记录'; 17 | }, 18 | formatSearch: function () { 19 | return '搜索'; 20 | }, 21 | formatNoMatches: function () { 22 | return '没有找到匹配的记录'; 23 | }, 24 | formatPaginationSwitch: function () { 25 | return '隐藏/显示分页'; 26 | }, 27 | formatRefresh: function () { 28 | return '刷新'; 29 | }, 30 | formatToggle: function () { 31 | return '切换'; 32 | }, 33 | formatColumns: function () { 34 | return '列'; 35 | }, 36 | formatExport: function () { 37 | return '导出数据'; 38 | }, 39 | formatClearFilters: function () { 40 | return '清空过滤'; 41 | } 42 | }; 43 | 44 | $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']); 45 | 46 | })(jQuery); 47 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/bootstrap-table-1.11.0/locale/bootstrap-table-zh-CN.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * bootstrap-table - v1.11.0 - 2016-07-02 3 | * https://github.com/wenzhixin/bootstrap-table 4 | * Copyright (c) 2016 zhixin wen 5 | * Licensed MIT License 6 | */ 7 | !function(a){"use strict";a.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中,请稍候……"},formatRecordsPerPage:function(a){return"每页显示 "+a+" 条记录"},formatShowingRows:function(a,b,c){return"显示第 "+a+" 到第 "+b+" 条记录,总共 "+c+" 条记录"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatColumns:function(){return"列"},formatExport:function(){return"导出数据"},formatClearFilters:function(){return"清空过滤"}},a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales["zh-CN"])}(jQuery); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/checkbix/css/checkbix.min.css: -------------------------------------------------------------------------------- 1 | input[type=checkbox].checkbix{position:absolute;opacity:0;z-index:-1}input[type=checkbox].checkbix+label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:inherit;-webkit-transition:all 250ms cubic-bezier(.4,0,.23,1);transition:all 250ms cubic-bezier(.4,0,.23,1);margin-bottom:.15rem}input[type=checkbox].checkbix+label>span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:.5em;width:16px;height:16px;background:0 0;border:.1rem solid #333;border-radius:1px;cursor:pointer;-webkit-transition:all 250ms cubic-bezier(.4,0,.23,1);transition:all 250ms cubic-bezier(.4,0,.23,1);position:relative}input[type=checkbox].checkbix:focus+label>span{outline:0;border-color:#001414;box-shadow:0 0 0 1px rgba(0,20,20,.5)}input[type=checkbox].checkbix:checked+label>span{background:#5ECD62;border:.1rem solid transparent;-webkit-animation:reveal .2s cubic-bezier(.4,0,.5,1);animation:reveal .2s cubic-bezier(.4,0,.5,1)}input[type=checkbox].checkbix:checked+label>span:before{content:"";position:absolute;top:0;left:22%;margin-left:auto;margin-right:auto;border-right:2px solid transparent;border-bottom:2px solid transparent;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-animation:checkboxcheck 125ms 50ms cubic-bezier(.1,0,.1,1) forwards;animation:checkboxcheck 125ms 50ms cubic-bezier(.1,0,.1,1) forwards}@-webkit-keyframes reveal{0%,100%{-webkit-transform:scale(1);transform:scale(1)}33%{-webkit-transform:scale(.5);transform:scale(.5)}}@keyframes reveal{0%,100%{-webkit-transform:scale(1);transform:scale(1)}33%{-webkit-transform:scale(.5);transform:scale(.5)}}@-webkit-keyframes checkboxcheck{0%{width:0;height:0;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}33%{width:.2em;height:.3em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}100%{width:.2em;height:.4em;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}}@keyframes checkboxcheck{0%{width:0;height:0;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}33%{width:.2em;height:.3em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}100%{width:.2em;height:.4em;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}}input[type=checkbox].checkbix[data-size=large]+label>span{width:24px;height:24px}input[type=checkbox].checkbix[data-size=large]+label>span:before{-webkit-animation:checkboxchecklarge 125ms 50ms cubic-bezier(.1,0,.1,1) forwards;animation:checkboxchecklarge 125ms 50ms cubic-bezier(.1,0,.1,1) forwards;border-right:3px solid transparent;border-bottom:3px solid transparent}@-webkit-keyframes checkboxchecklarge{0%{width:0;height:0;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}33%{width:.3em;height:.6em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}100%{width:.3em;height:.6em;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}}@keyframes checkboxchecklarge{0%{width:0;height:0;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}33%{width:.3em;height:.6em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}100%{width:.3em;height:.6em;border-color:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}}input[type=checkbox].checkbix[data-shape=circled]+label>span{border-radius:100%}input[type=checkbox].checkbix[data-color=black]:checked+label>span{background:#111}input[type=checkbox].checkbix[data-color=blue]:checked+label>span{background:#0074D9}input[type=checkbox].checkbix[data-color=red]:checked+label>span{background:#FF4136}input[type=checkbox].checkbix[data-color=gray]:checked+label>span{background:#AAA}input[type=checkbox].checkbix[data-color=orange]:checked+label>span{background:#FF851B} -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/checkbix/js/checkbix.js: -------------------------------------------------------------------------------- 1 | (function(t,e){"use strict";if(typeof define==="function"&&define.amd){define("Checkbix",e)}else if(typeof exports==="object"){exports=module.exports=e()}else{t.Checkbix=e()}})(this,function(){"use strict";var t={};var e;var a={initClass:"checkbix"};var r=function(t,e,a){if(Object.prototype.toString.call(t)==="[object Object]"){for(var r in t){if(Object.prototype.hasOwnProperty.call(t,r)){e.call(a,t[r],r,t)}}}else{for(var n=0,i=t.length;n'+t[a].getAttribute("data-text")+"")}};t.destroy=function(){if(!e)return;document.removeEventListener("click",i,false);e=null};t.init=function(r){t.destroy();e=n(a,r||{});document.addEventListener("DOMContentLoaded",i,false)};return t}); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/checkbix/js/checkbix.min.js: -------------------------------------------------------------------------------- 1 | !function(t,e){"use strict";"function"==typeof define&&define.amd?define("Checkbix",e):"object"==typeof exports?exports=module.exports=e():t.Checkbix=e()}(this,function(){"use strict";var t,e={},n={initClass:"checkbix"},i=function(t,e,n){if("[object Object]"===Object.prototype.toString.call(t))for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.call(n,t[i],i,t);else for(var a=0,r=t.length;a'+e[n].getAttribute("data-text")+"")}};return e.destroy=function(){t&&(document.removeEventListener("click",r,!1),t=null)},e.init=function(i){e.destroy(),t=a(n,i||{}),document.addEventListener("DOMContentLoaded",r,!1)},e}); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/device.min.js: -------------------------------------------------------------------------------- 1 | /*! device.js 0.2.7 */ 2 | (function(){var a,b,c,d,e,f,g,h,i,j;b=window.device,a={},window.device=a,d=window.document.documentElement,j=window.navigator.userAgent.toLowerCase(),a.ios=function(){return a.iphone()||a.ipod()||a.ipad()},a.iphone=function(){return!a.windows()&&e("iphone")},a.ipod=function(){return e("ipod")},a.ipad=function(){return e("ipad")},a.android=function(){return!a.windows()&&e("android")},a.androidPhone=function(){return a.android()&&e("mobile")},a.androidTablet=function(){return a.android()&&!e("mobile")},a.blackberry=function(){return e("blackberry")||e("bb10")||e("rim")},a.blackberryPhone=function(){return a.blackberry()&&!e("tablet")},a.blackberryTablet=function(){return a.blackberry()&&e("tablet")},a.windows=function(){return e("windows")},a.windowsPhone=function(){return a.windows()&&e("phone")},a.windowsTablet=function(){return a.windows()&&e("touch")&&!a.windowsPhone()},a.fxos=function(){return(e("(mobile;")||e("(tablet;"))&&e("; rv:")},a.fxosPhone=function(){return a.fxos()&&e("mobile")},a.fxosTablet=function(){return a.fxos()&&e("tablet")},a.meego=function(){return e("meego")},a.cordova=function(){return window.cordova&&"file:"===location.protocol},a.nodeWebkit=function(){return"object"==typeof window.process},a.mobile=function(){return a.androidPhone()||a.iphone()||a.ipod()||a.windowsPhone()||a.blackberryPhone()||a.fxosPhone()||a.meego()},a.tablet=function(){return a.ipad()||a.androidTablet()||a.blackberryTablet()||a.windowsTablet()||a.fxosTablet()},a.desktop=function(){return!a.tablet()&&!a.mobile()},a.television=function(){var a;for(television=["googletv","viera","smarttv","internet.tv","netcast","nettv","appletv","boxee","kylo","roku","dlnadoc","roku","pov_tv","hbbtv","ce-html"],a=0;a1},a.landscape=function(){return window.innerHeight/window.innerWidth<1},a.noConflict=function(){return window.device=b,this},e=function(a){return-1!==j.indexOf(a)},g=function(a){var b;return b=new RegExp(a,"i"),d.className.match(b)},c=function(a){var b=null;g(a)||(b=d.className.replace(/^\s+|\s+$/g,""),d.className=b+" "+a)},i=function(a){g(a)&&(d.className=d.className.replace(" "+a,""))},a.ios()?a.ipad()?c("ios ipad tablet"):a.iphone()?c("ios iphone mobile"):a.ipod()&&c("ios ipod mobile"):a.android()?c(a.androidTablet()?"android tablet":"android mobile"):a.blackberry()?c(a.blackberryTablet()?"blackberry tablet":"blackberry mobile"):a.windows()?c(a.windowsTablet()?"windows tablet":a.windowsPhone()?"windows mobile":"desktop"):a.fxos()?c(a.fxosTablet()?"fxos tablet":"fxos mobile"):a.meego()?c("meego mobile"):a.nodeWebkit()?c("node-webkit"):a.television()?c("television"):a.desktop()&&c("desktop"),a.cordova()&&c("cordova"),f=function(){a.landscape()?(i("portrait"),c("landscape")):(i("landscape"),c("portrait"))},h=Object.prototype.hasOwnProperty.call(window,"onorientationchange")?"orientationchange":"resize",window.addEventListener?window.addEventListener(h,f,!1):window.attachEvent?window.attachEvent(h,f):window[h]=f,f(),"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return a}):"undefined"!=typeof module&&module.exports?module.exports=a:window.device=a}).call(this); 3 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/jquery.cookie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery Cookie Plugin v1.4.1 3 | * https://github.com/carhartl/jquery-cookie 4 | * 5 | * Copyright 2006, 2014 Klaus Hartl 6 | * Released under the MIT license 7 | */ 8 | (function (factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD (Register as an anonymous module) 11 | define(['jquery'], factory); 12 | } else if (typeof exports === 'object') { 13 | // Node/CommonJS 14 | module.exports = factory(require('jquery')); 15 | } else { 16 | // Browser globals 17 | factory(jQuery); 18 | } 19 | }(function ($) { 20 | 21 | var pluses = /\+/g; 22 | 23 | function encode(s) { 24 | return config.raw ? s : encodeURIComponent(s); 25 | } 26 | 27 | function decode(s) { 28 | return config.raw ? s : decodeURIComponent(s); 29 | } 30 | 31 | function stringifyCookieValue(value) { 32 | return encode(config.json ? JSON.stringify(value) : String(value)); 33 | } 34 | 35 | function parseCookieValue(s) { 36 | if (s.indexOf('"') === 0) { 37 | // This is a quoted cookie as according to RFC2068, unescape... 38 | s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); 39 | } 40 | 41 | try { 42 | // Replace server-side written pluses with spaces. 43 | // If we can't decode the cookie, ignore it, it's unusable. 44 | // If we can't parse the cookie, ignore it, it's unusable. 45 | s = decodeURIComponent(s.replace(pluses, ' ')); 46 | return config.json ? JSON.parse(s) : s; 47 | } catch(e) {} 48 | } 49 | 50 | function read(s, converter) { 51 | var value = config.raw ? s : parseCookieValue(s); 52 | return $.isFunction(converter) ? converter(value) : value; 53 | } 54 | 55 | var config = $.cookie = function (key, value, options) { 56 | 57 | // Write 58 | 59 | if (arguments.length > 1 && !$.isFunction(value)) { 60 | options = $.extend({}, config.defaults, options); 61 | 62 | if (typeof options.expires === 'number') { 63 | var days = options.expires, t = options.expires = new Date(); 64 | t.setMilliseconds(t.getMilliseconds() + days * 864e+5); 65 | } 66 | 67 | return (document.cookie = [ 68 | encode(key), '=', stringifyCookieValue(value), 69 | options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 70 | options.path ? '; path=' + options.path : '', 71 | options.domain ? '; domain=' + options.domain : '', 72 | options.secure ? '; secure' : '' 73 | ].join('')); 74 | } 75 | 76 | // Read 77 | 78 | var result = key ? undefined : {}, 79 | // To prevent the for loop in the first place assign an empty array 80 | // in case there are no cookies at all. Also prevents odd result when 81 | // calling $.cookie(). 82 | cookies = document.cookie ? document.cookie.split('; ') : [], 83 | i = 0, 84 | l = cookies.length; 85 | 86 | for (; i < l; i++) { 87 | var parts = cookies[i].split('='), 88 | name = decode(parts.shift()), 89 | cookie = parts.join('='); 90 | 91 | if (key === name) { 92 | // If second argument (value) is a function it's a converter... 93 | result = read(cookie, value); 94 | break; 95 | } 96 | 97 | // Prevent storing a cookie that we couldn't decode. 98 | if (!key && (cookie = read(cookie)) !== undefined) { 99 | result[name] = cookie; 100 | } 101 | } 102 | 103 | return result; 104 | }; 105 | 106 | config.defaults = {}; 107 | 108 | $.removeCookie = function (key, options) { 109 | // Must not alter options, thus extending a fresh object... 110 | $.cookie(key, '', $.extend({}, options, { expires: -1 })); 111 | return !$.cookie(key); 112 | }; 113 | 114 | })); 115 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/malihu-custom-scrollbar-plugin/mCSB_buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/malihu-custom-scrollbar-plugin/mCSB_buttons.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/material-design-iconic-font-2.2.0/fonts/Material-Design-Iconic-Font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/material-design-iconic-font-2.2.0/fonts/Material-Design-Iconic-Font.eot -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/material-design-iconic-font-2.2.0/fonts/Material-Design-Iconic-Font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/material-design-iconic-font-2.2.0/fonts/Material-Design-Iconic-Font.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/material-design-iconic-font-2.2.0/fonts/Material-Design-Iconic-Font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/material-design-iconic-font-2.2.0/fonts/Material-Design-Iconic-Font.woff -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/material-design-iconic-font-2.2.0/fonts/Material-Design-Iconic-Font.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/material-design-iconic-font-2.2.0/fonts/Material-Design-Iconic-Font.woff2 -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/ar.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum;return"الرجاء حذف "+t+" عناصر"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"الرجاء إضافة "+t+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){return"تستطيع إختيار "+e.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/az.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/bg.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/ca.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/cs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím zadejte o jeden znak méně":n<=4?"Prosím zadejte o "+e(n,!0)+" znaky méně":"Prosím zadejte o "+n+" znaků méně"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím zadejte ještě jeden znak":n<=4?"Prosím zadejte ještě další "+e(n,!0)+" znaky":"Prosím zadejte ještě dalších "+n+" znaků"},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky":"Můžete zvolit maximálně "+n+" položek"},noResults:function(){return"Nenalezeny žádné položky"},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/da.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Angiv venligst "+t+" tegn mindre"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Angiv venligst "+t+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/de.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/el.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/en.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/es.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/et.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/eu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/fa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/fi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/fr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/gl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var t=e.input.length-e.maximum;return t===1?"Elimine un carácter":"Elimine "+t+" caracteres"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t===1?"Engada un carácter":"Engada "+t+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return e.maximum===1?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/he.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/hi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/hr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/hu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/it.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/km.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/lt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/lv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/mk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/ms.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/nl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/pl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/pt-BR.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/pt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/ro.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/ru.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/sk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/sl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Prosim zbrišite "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Prosim vpišite še "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var t="Označite lahko največ "+e.maximum+" predmet";return e.maximum==2?t+="a":e.maximum!=1&&(t+="e"),t},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/sr-Cyrl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/sr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/uk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/select2/js/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/waves-0.7.5/waves.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Waves v0.7.5 3 | * http://fian.my.id/Waves 4 | * 5 | * Copyright 2014-2016 Alfiana E. Sibuea and other contributors 6 | * Released under the MIT license 7 | * https://github.com/fians/Waves/blob/master/LICENSE 8 | */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);-moz-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);-o-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button:hover,.waves-button:visited,.waves-button-input{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:transparent;font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all 300ms;-moz-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block} -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/awesomeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/awesomeStyle/img/loading.gif -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/demo.css: -------------------------------------------------------------------------------- 1 | html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { 2 | margin: 0;padding: 0;border: 0;outline: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;} 3 | body {color: #2f332a;font: 15px/21px Arial, Helvetica, simsun, sans-serif;background: #f0f6e4 \9;} 4 | h1, h2, h3, h4, h5, h6 {color: #2f332a;font-weight: bold;font-family: Helvetica, Arial, sans-serif;padding-bottom: 5px;} 5 | h1 {font-size: 24px;line-height: 34px;text-align: center;} 6 | h2 {font-size: 14px;line-height: 24px;padding-top: 5px;} 7 | h6 {font-weight: normal;font-size: 12px;letter-spacing: 1px;line-height: 24px;text-align: center;} 8 | a {color:#3C6E31;text-decoration: underline;} 9 | a:hover {background-color:#3C6E31;color:white;} 10 | input.radio {margin: 0 2px 0 8px;} 11 | input.radio.first {margin-left:0;} 12 | input.empty {color: lightgray;} 13 | code {color: #2f332a;} 14 | .highlight_red {color:#A60000;} 15 | .highlight_green {color:#A7F43D;} 16 | li {list-style: circle;font-size: 12px;} 17 | li.title {list-style: none;} 18 | ul.list {margin-left: 17px;} 19 | 20 | div.content_wrap {width: 600px;height:380px;} 21 | div.content_wrap div.left{float: left;width: 250px;} 22 | div.content_wrap div.right{float: right;width: 340px;} 23 | div.zTreeDemoBackground {width:250px;height:362px;text-align:left;} 24 | 25 | ul.ztree {margin-top: 10px;border: 1px solid #617775;background: #f0f6e4;width:220px;height:360px;overflow-y:scroll;overflow-x:auto;} 26 | ul.log {border: 1px solid #617775;background: #f0f6e4;width:300px;height:170px;overflow: hidden;} 27 | ul.log.small {height:45px;} 28 | ul.log li {color: #666666;list-style: none;padding-left: 10px;} 29 | ul.log li.dark {background-color: #E3E3E3;} 30 | 31 | /* ruler */ 32 | div.ruler {height:20px; width:220px; background-color:#f0f6e4;border: 1px solid #333; margin-bottom: 5px; cursor: pointer} 33 | div.ruler div.cursor {height:20px; width:30px; background-color:#3C6E31; color:white; text-align: right; padding-right: 5px; cursor: pointer} -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/metroStyle/img/line_conn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/metroStyle/img/line_conn.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/metroStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/metroStyle/img/loading.gif -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/metroStyle/img/metro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/metroStyle/img/metro.gif -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/metroStyle/img/metro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/metroStyle/img/metro.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/1_close.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/1_open.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/2.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/3.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/4.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/5.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/6.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/7.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/8.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/diy/9.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/line_conn.gif -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/loading.gif -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/zTreeStandard.gif -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xxin12/Ordering/4ae1364cff9c36ee78ebfca474c52f42473de162/src/main/webapp/static/manage/resources/plugins/zTree_v3/css/zTreeStyle/img/zTreeStandard.png -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zheng.autoMail.1.0.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * autoMail v1.0 3 | * 日期:2014-01-18 4 | * 作者:张恕征 5 | * 邮箱:469741414@qq.com 6 | * 主页:http://www.zhangshuzheng.cn/ 7 | * Copyright (c) 2014, Zhang Shuzheng All rights reserved. 8 | */ 9 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('(6(2){2.J.3=6(11){b 10=\'\\n\'+\'.3{1x:1y;z-1B:1E;u:#v;l:p m #W;q-G:1b;w:X;q-1o:1u;1t:Q;}\\n\'+\'.3 .Z{14:0;w:0;P-O:1i;k-1d:I;q-G:1b;r:#1w;l-1g:p m #19;V:1v;}\\n\'+\'.3 x{14:0;w:0;u:#1s;}\\n\'+\'.3 x c{1p-E:Q;P-O:1i;k-1d:I;l-s:p m #v;l-1g:p m #19;r:#1r;V:1q;}\\n\'+\'.3 .h{u:#W;r:#1D;}\\n\'+\'.3 .F{k-1C:1F;u:#v;l-s:p m #v;P-O:1.1z;w:X 1l;q-G:I;-1m-1n:1k(0.8);}\\n\'+\'.3 .F a{r:#24;k-27:Q;}\\n\'+\'\';2(\'26\').U(10);b S=2.Y({},2.J.3.17,11);B i.23(6(j){b 9=2(i);b 1f=2.20?2.Y({},S,9.1Z()):S;b d=2(\'\');2(\'22\').U(d);6 M(4){2(\'.3\').f(j).A(\'c\').1c(\'h\').f(4).1e(\'h\');B R};b T=1f.18;b 5=-1;b D=6(4){4.21(\'2e\',\'2d\');7(4.e()!=""){b y=\'2c ↓\';2f(b t=0;t\'+4.e()+\'@\'+T[t]+\'\'};y+=\'&1N;3\';d.K(y).1K()};2(\'.3 c\').1H(6(){2(i).1e(\'h\')},6(){2(i).1c(\'h\')}).1G(6(){4.e(2(i).K()).1j();d.L()})};9.1j(6(){5=-1;d.1h({\'s\':9.15().s+9.1J(1I)+\'12\',\'16\':9.15().16+\'12\'});7(9.e().1a(\'@\')==-1){D(9)}}).1V(6(){d.1U(1X).L(0)}).1W(6(4){7(9.e().1a(\'@\')==-1){7(4.o==1T){5++;7(5>=2(\'.3\').f(j).A(\'c\').N){5=0};M(5);}H 7(4.o==1Q){5--;7(5<0){5=2(\'.3\').f(j).A(\'c\').N-1};M(5);}H 7(4.o==13){7(5>=0){9.e(2(\'.3\').f(j).A(\'c\').f(5).K());d.L()}}H{5=-1;D(9)}}}).1P(6(4){7(4.o==1S){B R};7(4.o==13){7(!d.1R(":1O")){B R}}})})};2.J.3.17={18:[]}})(29);',62,140,'||_0|autoMail|_c|_a|function|if||_5||var|li|_7|val|eq|div|cmail|this|_4|text|border|solid||keyCode|1px|font|color|top|_e|background|fff|padding|ul|_d||find|return|class|_b|style|autoMailCopy|size|else|10px|fn|html|hide|_8|length|height|line|none|false|_3|_9|append|cursor|e5e5e5|2px|extend|autoMailTip|_2|_1|px||margin|offset|left|defaults|emails|E5E5E5|indexOf|12px|removeClass|indent|addClass|_6|bottom|css|30px|focus|scale|5px|webkit|transform|family|list|pointer|666|f5f5f5|display|Georgia|default|999|position|absolute|5em|type|index|align|000|9999|right|mousedown|hover|true|outerHeight|show|target|cn|copy|hidden|keypress|38|is|32|40|delay|blur|keyup|100|zhangshuzheng|data|meta|attr|body|each|b5b5b5|_blank|head|decoration|www|jQuery|http|href|请选择邮箱类型|off|autocomplete|for'.split('|'),0,{})) 10 | -------------------------------------------------------------------------------- /src/main/webapp/static/manage/resources/plugins/zheng.jprogress.0.1.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jprogress v0.1 3 | * 日期:2014-03-03 4 | * 作者:张恕征 5 | * 邮箱:469741414@qq.com 6 | * 主页:http://www.zhangshuzheng.cn/ 7 | * Copyright (c) 2014, Zhang Shuzheng All rights reserved. 8 | * 9 | */ 10 | (function($){ 11 | 12 | $.extend({ 13 | progress:function(){ 14 | /*面板样式*/ 15 | var style = ''; 20 | $('head').append(style); 21 | 22 | //页面插入空下拉列表html 23 | var $progress = $('
'); 24 | $('body').append($progress); 25 | } 26 | }); 27 | })(jQuery); 28 | --------------------------------------------------------------------------------