From 2804585b14a62cc1fdec876b65267a4db8bc8995 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 14 一月 2025 10:55:47 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/basShuttleErrLog/basShuttleErrLog.js | 287 src/main/resources/mapper/WrkMastLogMapper.xml | 2 src/main/java/com/zy/asrs/controller/ApiLogController.java | 129 src/main/java/com/zy/asrs/controller/LocMastController.java | 122 src/main/webapp/static/js/operateLog/operateLog.js | 396 + src/main/java/com/zy/asrs/controller/BasLiftErrController.java | 127 src/main/webapp/static/js/basLocSts/basLocSts.js | 440 + src/main/webapp/views/admin/wrkMast/wrkMast.html | 12 src/main/webapp/views/admin/basWrkIotype/basWrkIotype.html | 54 src/main/webapp/views/admin/wrkMastLog/wrkMastLog.html | 98 src/main/webapp/views/admin/role/role.html | 60 src/main/java/com/zy/asrs/mapper/BasLocStsMapper.java | 12 src/main/webapp/views/admin/tpl/tpl-note.html | 206 src/main/webapp/static/images/zy-logo-dark.png | 0 src/main/webapp/views/admin/basShuttleErr/basShuttleErr.html | 134 src/main/webapp/views/shuttle.html | 2 src/main/webapp/views/admin/apiLog/apiLog.html | 187 src/main/webapp/views/admin/basPlcerror/basPlcerror.html | 56 src/main/java/com/zy/asrs/controller/BasLocStsController.java | 147 src/main/java/com/zy/system/controller/UserController.java | 12 src/main/webapp/views/shuttle_zs.html | 2 src/main/webapp/static/layui/lay/modules/notice/notice.css | 1929 ++++ src/main/webapp/views/admin/wrkLastno/wrkLastno.html | 58 src/main/webapp/static/js/basLiftOpt/basLiftOpt.js | 264 src/main/webapp/static/layui/lay/modules/tableMerge.js | 75 src/main/java/com/zy/asrs/entity/WrkMastLog.java | 24 src/main/webapp/views/admin/tpl/theme/img/theme-cyan.png | 0 src/main/webapp/views/admin/user/user_detail.html | 87 src/main/webapp/views/admin/basLiftOpt/basLiftOpt.html | 134 src/main/webapp/static/js/basLiftErrLog/basLiftErrLog.js | 287 src/main/webapp/static/layui/lay/modules/notice/5.wav | 0 src/main/java/com/zy/asrs/controller/BasWrkIotypeController.java | 147 src/main/webapp/views/admin/basWrkStatus/basWrkStatus.html | 54 src/main/java/com/zy/asrs/service/impl/ApiLogServiceImpl.java | 51 src/main/webapp/views/admin/tpl/theme/img/theme-my.png | 0 src/main/java/com/zy/asrs/service/BasWrkIotypeService.java | 8 src/main/webapp/static/css/cool.css | 48 src/main/webapp/static/js/role/rolePower.js | 82 src/main/java/com/zy/asrs/service/BasWrkStatusService.java | 8 src/main/webapp/views/forklift.html | 2 src/main/webapp/views/admin/role/role_power_detail.html | 37 src/main/webapp/static/js/basShuttleErr/basShuttleErr.js | 267 src/main/webapp/views/admin/tpl/theme/img/ic_loading.gif | 0 src/main/webapp/views/admin/permission/permission.html | 66 src/main/java/com/zy/asrs/controller/WrkMastLogController.java | 143 src/main/webapp/views/admin/wrkMastLog/wrkDetlLog.html | 99 src/main/webapp/static/layui/lay/modules/notice/3.wav | 0 src/main/java/com/zy/asrs/service/BasPlcerrorService.java | 8 src/main/webapp/views/admin/tpl/theme/img/theme-admin.png | 0 src/main/webapp/static/js/basShuttleErrLog/basShuttleOpt.js | 275 src/main/webapp/static/js/permission/permission.js | 378 src/main/webapp/views/admin/basPlcerror/basPlcerror_detail.html | 96 src/main/webapp/views/admin/operateLog/operateLog.html | 70 src/main/webapp/static/layui/lay/modules/contextMenu.js | 228 src/main/java/com/zy/asrs/controller/BasShuttleController.java | 127 src/main/java/com/zy/asrs/controller/BasShuttleErrLogController.java | 128 src/main/java/com/zy/asrs/service/impl/BasWrkStatusServiceImpl.java | 12 src/main/webapp/views/admin/basLiftErrLog/basLiftErrLog.html | 240 src/main/webapp/static/layui/lay/modules/notice/1.wav | 0 src/main/webapp/views/admin/tpl/tpl-theme.html | 229 src/main/java/com/zy/asrs/controller/BasPlcerrorController.java | 133 src/main/webapp/static/layui/lay/modules/notice/notice.js | 1241 +++ src/main/webapp/views/admin/tpl/theme/img/theme-pink.png | 0 src/main/java/com/zy/asrs/controller/BasLiftOptController.java | 128 src/main/webapp/views/admin/tpl/alarm-detl.html | 52 src/main/java/com/zy/asrs/controller/BasLiftErrLogController.java | 128 src/main/webapp/static/layui/lay/modules/xmSelect.js | 8 src/main/java/com/zy/asrs/entity/ApiLog.java | 193 src/main/webapp/static/layui/lay/modules/admin.js | 1667 ++++ src/main/java/com/zy/asrs/controller/BasLiftController.java | 127 src/main/webapp/static/layui/lay/modules/tableX.js | 645 + src/main/webapp/views/admin/tpl/theme/img/theme-blue.png | 0 src/main/java/com/zy/asrs/controller/ShuttleController.java | 1 src/main/webapp/static/js/userLogin/userLogin.js | 369 src/main/resources/mapper/ApiLogMapper.xml | 32 src/main/webapp/static/js/locMast/locMast.js | 590 + src/main/webapp/static/js/basWrkStatus/basWrkStatus.js | 441 + src/main/java/com/zy/asrs/entity/BasLocSts.java | 164 src/main/webapp/views/admin/config/config_detail.html | 83 src/main/webapp/views/admin/role/role_detail.html | 82 src/main/webapp/views/admin/wrkLastno/wrkLastno_detail.html | 78 src/main/webapp/static/css/loader.css | 59 src/main/webapp/views/admin/basWrkIotype/basWrkIotype_detail.html | 94 src/main/webapp/views/admin/index.html | 199 src/main/webapp/views/admin/tpl/theme/img/theme-colorful.png | 0 src/main/webapp/views/admin/locMast/locMast.html | 177 src/main/webapp/views/admin/resource/resource.html | 309 src/main/webapp/views/admin/tpl/theme/img/theme-white.png | 0 src/main/webapp/views/admin/basLocSts/basLocSts_detail.html | 88 src/main/webapp/views/admin/basWrkStatus/basWrkStatus_detail.html | 96 src/main/java/com/zy/asrs/mapper/ApiLogMapper.java | 14 src/main/webapp/static/css/originTable.css | 29 src/main/webapp/static/layui/lay/modules/index.js | 302 src/main/java/com/zy/asrs/entity/LocMast.java | 10 src/main/java/com/zy/asrs/controller/BasShuttleOptController.java | 53 src/main/webapp/static/layui/lay/modules/notice/6.wav | 0 src/main/webapp/views/admin/tpl/theme/img/theme-purple.png | 0 src/main/java/com/zy/asrs/service/impl/BasPlcerrorServiceImpl.java | 12 src/main/java/com/zy/asrs/service/impl/BasLocStsServiceImpl.java | 12 src/main/java/com/zy/asrs/entity/BasShuttleOpt.java | 9 src/main/webapp/views/admin/userLogin/userLogin.html | 61 src/main/webapp/views/admin/basLiftErr/basLiftErr.html | 134 src/main/webapp/views/lift.html | 2 src/main/webapp/views/admin/wrkMastLog/wrkMastLog_detail.html | 196 src/main/webapp/views/shuttle2.html | 2 src/main/webapp/static/js/basLift/basLift.js | 277 src/main/webapp/static/css/admin.css | 445 + src/main/webapp/static/images/zy-logo.png | 0 src/main/java/com/zy/asrs/controller/WrkLastnoController.java | 133 src/main/webapp/views/admin/userLogin/userLogin_detail.html | 69 src/main/webapp/static/js/basLiftErr/basLiftErr.js | 260 src/main/java/com/zy/system/controller/ResourceController.java | 24 src/main/webapp/views/admin/basLift/basLift.html | 260 src/main/webapp/views/admin/basShuttleErrLog/basShuttleErrLog.html | 240 src/main/java/com/zy/asrs/controller/BasWrkStatusController.java | 147 src/main/java/com/zy/asrs/service/BasLocStsService.java | 8 src/main/webapp/static/layui/lay/modules/treeTable.js | 2 src/main/java/com/zy/asrs/service/impl/BasWrkIotypeServiceImpl.java | 12 src/main/webapp/static/js/resource/resource.js | 382 src/main/webapp/views/admin/user/user.html | 177 src/main/webapp/static/js/wrkMastLog/wrkMastLog.js | 532 + src/main/webapp/views/admin/config/config.html | 55 src/main/webapp/static/js/basShuttle/basShuttle.js | 279 src/main/webapp/views/admin/locMast/locMast_detail.html | 88 src/main/webapp/views/index.html | 7 src/main/webapp/views/admin/operateLog/operateLog_detail.html | 87 src/main/java/com/zy/asrs/service/ApiLogService.java | 12 src/main/webapp/static/js/config/config.js | 345 src/main/webapp/static/js/user/user.js | 238 src/main/webapp/static/js/wrkLastno/wrkLastno.js | 475 + src/main/webapp/static/layui/lay/modules/notice/4.wav | 0 src/main/webapp/views/admin/permission/permission_detail.html | 79 src/main/webapp/views/admin/basShuttle/basShuttle.html | 148 src/main/webapp/views/admin/basLocSts/basLocSts.html | 54 src/main/webapp/views/admin/tpl/theme/img/theme-green.png | 0 src/main/webapp/static/js/apiLog/apiLog.js | 268 src/main/webapp/views/admin/password.html | 146 src/main/webapp/views/pipeline.html | 2 src/main/java/com/zy/asrs/controller/BasShuttleErrController.java | 127 src/main/webapp/static/js/role/role.js | 410 + src/main/resources/mapper/BasLocStsMapper.xml | 16 src/main/webapp/views/admin/basShuttleErrLog/basShuttleOpt.html | 57 src/main/webapp/views/admin/tpl/theme/img/theme-red.png | 0 src/main/webapp/views/admin/detail.html | 172 src/main/webapp/static/css/common.css | 254 /dev/null | 10 src/main/webapp/static/js/basWrkIotype/basWrkIotype.js | 443 + src/main/webapp/views/admin/tpl/theme/img/icon_search.png | 0 src/main/webapp/views/admin/tpl/theme/img/icon_date.png | 0 src/main/webapp/static/js/basPlcerror/basPlcerror.js | 369 src/main/webapp/static/layui/lay/modules/notice/2.wav | 0 151 files changed, 23,183 insertions(+), 92 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/ApiLogController.java b/src/main/java/com/zy/asrs/controller/ApiLogController.java new file mode 100644 index 0000000..36ed259 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/ApiLogController.java @@ -0,0 +1,129 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.ApiLog; +import com.zy.asrs.service.ApiLogService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class ApiLogController extends BaseController { + + @Autowired + private ApiLogService apiLogService; + + @RequestMapping(value = "/apiLog/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(apiLogService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/apiLog/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + EntityWrapper<ApiLog> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(ApiLog.class, param.keySet(), wrapper, condition); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { + wrapper.orderBy("create_time", false); + } + return R.ok(apiLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/apiLog/add/auth") + @ManagerAuth + public R add(ApiLog apiLog) { + apiLogService.insert(apiLog); + return R.ok(); + } + + @RequestMapping(value = "/apiLog/update/auth") + @ManagerAuth + public R update(ApiLog apiLog){ + if (Cools.isEmpty(apiLog) || null==apiLog.getId()){ + return R.error(); + } + apiLogService.updateById(apiLog); + return R.ok(); + } + + @RequestMapping(value = "/apiLog/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + apiLogService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/apiLog/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<ApiLog> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("apiLog")); + convert(map, wrapper); + List<ApiLog> list = apiLogService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/apiLogQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<ApiLog> wrapper = new EntityWrapper<>(); + wrapper.like("uuid", condition); + Page<ApiLog> page = apiLogService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (ApiLog apiLog : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", apiLog.getId()); + map.put("value", apiLog.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/apiLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<ApiLog> wrapper = new EntityWrapper<ApiLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != apiLogService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(ApiLog.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasLiftController.java b/src/main/java/com/zy/asrs/controller/BasLiftController.java new file mode 100644 index 0000000..d103c38 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasLiftController.java @@ -0,0 +1,127 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasLift; +import com.zy.asrs.service.BasLiftService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class BasLiftController extends BaseController { + + @Autowired + private BasLiftService basLiftService; + + @RequestMapping(value = "/basLift/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(basLiftService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basLift/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + EntityWrapper<BasLift> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(BasLift.class, param.keySet(), wrapper, condition); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basLiftService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basLift/add/auth") + @ManagerAuth + public R add(BasLift basLift) { + basLiftService.insert(basLift); + return R.ok(); + } + + @RequestMapping(value = "/basLift/update/auth") + @ManagerAuth + public R update(BasLift basLift){ + if (Cools.isEmpty(basLift) || null==basLift.getLiftNo()){ + return R.error(); + } + basLiftService.updateById(basLift); + return R.ok(); + } + + @RequestMapping(value = "/basLift/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + basLiftService.delete(new EntityWrapper<BasLift>().eq("lift_no", id)); + } + return R.ok(); + } + + @RequestMapping(value = "/basLift/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<BasLift> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("basLift")); + convert(map, wrapper); + List<BasLift> list = basLiftService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basLiftQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasLift> wrapper = new EntityWrapper<>(); + wrapper.like("lift_no", condition); + Page<BasLift> page = basLiftService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasLift basLift : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basLift.getLiftNo()); + map.put("value", basLift.getLiftNo()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basLift/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasLift> wrapper = new EntityWrapper<BasLift>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basLiftService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasLift.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasLiftErrController.java b/src/main/java/com/zy/asrs/controller/BasLiftErrController.java new file mode 100644 index 0000000..a8b67e3 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasLiftErrController.java @@ -0,0 +1,127 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasLiftErr; +import com.zy.asrs.service.BasLiftErrService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class BasLiftErrController extends BaseController { + + @Autowired + private BasLiftErrService basLiftErrService; + + @RequestMapping(value = "/basLiftErr/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(basLiftErrService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basLiftErr/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + EntityWrapper<BasLiftErr> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(BasLiftErr.class, param.keySet(), wrapper, condition); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basLiftErrService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basLiftErr/add/auth") + @ManagerAuth + public R add(BasLiftErr basLiftErr) { + basLiftErrService.insert(basLiftErr); + return R.ok(); + } + + @RequestMapping(value = "/basLiftErr/update/auth") + @ManagerAuth + public R update(BasLiftErr basLiftErr){ + if (Cools.isEmpty(basLiftErr) || null==basLiftErr.getErrorCode()){ + return R.error(); + } + basLiftErrService.updateById(basLiftErr); + return R.ok(); + } + + @RequestMapping(value = "/basLiftErr/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + basLiftErrService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/basLiftErr/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<BasLiftErr> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("basLiftErr")); + convert(map, wrapper); + List<BasLiftErr> list = basLiftErrService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basLiftErrQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasLiftErr> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<BasLiftErr> page = basLiftErrService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasLiftErr basLiftErr : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basLiftErr.getErrorCode()); + map.put("value", basLiftErr.getErrorCode()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basLiftErr/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasLiftErr> wrapper = new EntityWrapper<BasLiftErr>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basLiftErrService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasLiftErr.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasLiftErrLogController.java b/src/main/java/com/zy/asrs/controller/BasLiftErrLogController.java new file mode 100644 index 0000000..83b79e6 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasLiftErrLogController.java @@ -0,0 +1,128 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasLiftErrLog; +import com.zy.asrs.service.BasLiftErrLogService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class BasLiftErrLogController extends BaseController { + + @Autowired + private BasLiftErrLogService basLiftErrLogService; + + @RequestMapping(value = "/basLiftErrLog/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(basLiftErrLogService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basLiftErrLog/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + EntityWrapper<BasLiftErrLog> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(BasLiftErrLog.class, param.keySet(), wrapper, condition); + wrapper.orderBy("create_time", false); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basLiftErrLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basLiftErrLog/add/auth") + @ManagerAuth + public R add(BasLiftErrLog basLiftErrLog) { + basLiftErrLogService.insert(basLiftErrLog); + return R.ok(); + } + + @RequestMapping(value = "/basLiftErrLog/update/auth") + @ManagerAuth + public R update(BasLiftErrLog basLiftErrLog){ + if (Cools.isEmpty(basLiftErrLog) || null==basLiftErrLog.getId()){ + return R.error(); + } + basLiftErrLogService.updateById(basLiftErrLog); + return R.ok(); + } + + @RequestMapping(value = "/basLiftErrLog/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + basLiftErrLogService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/basLiftErrLog/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<BasLiftErrLog> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("basLiftErrLog")); + convert(map, wrapper); + List<BasLiftErrLog> list = basLiftErrLogService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basLiftErrLogQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasLiftErrLog> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<BasLiftErrLog> page = basLiftErrLogService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasLiftErrLog basLiftErrLog : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basLiftErrLog.getId()); + map.put("value", basLiftErrLog.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basLiftErrLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasLiftErrLog> wrapper = new EntityWrapper<BasLiftErrLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basLiftErrLogService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasLiftErrLog.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasLiftOptController.java b/src/main/java/com/zy/asrs/controller/BasLiftOptController.java new file mode 100644 index 0000000..4e21bdd --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasLiftOptController.java @@ -0,0 +1,128 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasLiftOpt; +import com.zy.asrs.service.BasLiftOptService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class BasLiftOptController extends BaseController { + + @Autowired + private BasLiftOptService basLiftOptService; + + @RequestMapping(value = "/basLiftOpt/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(basLiftOptService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basLiftOpt/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + EntityWrapper<BasLiftOpt> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(BasLiftOpt.class, param.keySet(), wrapper, condition); + wrapper.orderBy("send_time", false); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basLiftOptService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basLiftOpt/add/auth") + @ManagerAuth + public R add(BasLiftOpt basLiftOpt) { + basLiftOptService.insert(basLiftOpt); + return R.ok(); + } + + @RequestMapping(value = "/basLiftOpt/update/auth") + @ManagerAuth + public R update(BasLiftOpt basLiftOpt){ + if (Cools.isEmpty(basLiftOpt) || null==basLiftOpt.getId()){ + return R.error(); + } + basLiftOptService.updateById(basLiftOpt); + return R.ok(); + } + + @RequestMapping(value = "/basLiftOpt/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + basLiftOptService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/basLiftOpt/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<BasLiftOpt> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("basLiftOpt")); + convert(map, wrapper); + List<BasLiftOpt> list = basLiftOptService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basLiftOptQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasLiftOpt> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<BasLiftOpt> page = basLiftOptService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasLiftOpt basLiftOpt : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basLiftOpt.getId()); + map.put("value", basLiftOpt.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basLiftOpt/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasLiftOpt> wrapper = new EntityWrapper<BasLiftOpt>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basLiftOptService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasLiftOpt.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasLocStsController.java b/src/main/java/com/zy/asrs/controller/BasLocStsController.java new file mode 100644 index 0000000..2a40cc2 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasLocStsController.java @@ -0,0 +1,147 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasLocSts; +import com.zy.asrs.service.BasLocStsService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class BasLocStsController extends BaseController { + + @Autowired + private BasLocStsService basLocStsService; + + @RequestMapping(value = "/basLocSts/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(basLocStsService.selectById(id)); + } + + @RequestMapping(value = "/basLocSts/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + excludeTrash(param); + EntityWrapper<BasLocSts> wrapper = new EntityWrapper<>(); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basLocStsService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basLocSts/edit/auth") + @ManagerAuth + public R edit(BasLocSts basLocSts) { + if (Cools.isEmpty(basLocSts)){ + return R.error(); + } + if (null == basLocSts.getLocSts()){ + basLocStsService.insert(basLocSts); + } else { + basLocStsService.updateById(basLocSts); + } + return R.ok(); + } + + @RequestMapping(value = "/basLocSts/add/auth") + @ManagerAuth(memo = "搴撲綅鐘舵�佹坊鍔�") + public R add(BasLocSts basLocSts) { + basLocSts.setModiUser(getUserId()); + basLocSts.setModiTime(new Date()); + basLocSts.setAppeUser(getUserId()); + basLocSts.setAppeTime(new Date()); + basLocStsService.insert(basLocSts); + return R.ok(); + } + + @RequestMapping(value = "/basLocSts/update/auth") + @ManagerAuth(memo = "搴撲綅鐘舵�佷慨鏀�") + public R update(BasLocSts basLocSts){ + if (Cools.isEmpty(basLocSts) || null==basLocSts.getLocSts()){ + return R.error(); + } + basLocSts.setModiUser(getUserId()); + basLocSts.setModiTime(new Date()); + basLocStsService.updateById(basLocSts); + return R.ok(); + } + + @RequestMapping(value = "/basLocSts/delete/auth") + @ManagerAuth(memo = "搴撲綅鐘舵�佸垹闄�") + public R delete(@RequestParam String param){ + List<BasLocSts> list = JSONArray.parseArray(param, BasLocSts.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (BasLocSts entity : list){ + basLocStsService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/basLocSts/export/auth") + @ManagerAuth(memo = "搴撲綅鐘舵�佸鍑�") + public R export(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<BasLocSts> wrapper = new EntityWrapper<>(); + Map<String, Object> map = excludeTrash(param.getJSONObject("basLocSts")); + convert(map, wrapper); + List<BasLocSts> list = basLocStsService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basLocStsQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasLocSts> wrapper = new EntityWrapper<>(); + wrapper.like("loc_desc", condition); + Page<BasLocSts> page = basLocStsService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasLocSts basLocSts : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basLocSts.getLocSts()); + map.put("value", basLocSts.getLocDesc()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basLocSts/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasLocSts> wrapper = new EntityWrapper<BasLocSts>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basLocStsService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasLocSts.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasPlcerrorController.java b/src/main/java/com/zy/asrs/controller/BasPlcerrorController.java new file mode 100644 index 0000000..5e81cc1 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasPlcerrorController.java @@ -0,0 +1,133 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasPlcerror; +import com.zy.asrs.service.BasPlcerrorService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class BasPlcerrorController extends BaseController { + + @Autowired + private BasPlcerrorService basPlcerrorService; + + @RequestMapping(value = "/basPlcerror/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(basPlcerrorService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basPlcerror/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + EntityWrapper<BasPlcerror> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basPlcerrorService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private void convert(Map<String, Object> map, EntityWrapper wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basPlcerror/add/auth") + @ManagerAuth + public R add(BasPlcerror basPlcerror) { + basPlcerror.setModiUser(getUserId()); + basPlcerror.setModiTime(new Date()); + basPlcerror.setAppeUser(getUserId()); + basPlcerror.setAppeTime(new Date()); + basPlcerrorService.insert(basPlcerror); + return R.ok(); + } + + @RequestMapping(value = "/basPlcerror/update/auth") + @ManagerAuth + public R update(BasPlcerror basPlcerror){ + if (Cools.isEmpty(basPlcerror) || null==basPlcerror.getErrorCode()){ + return R.error(); + } + basPlcerror.setModiUser(getUserId()); + basPlcerror.setModiTime(new Date()); + basPlcerrorService.updateById(basPlcerror); + return R.ok(); + } + + @RequestMapping(value = "/basPlcerror/delete/auth") + @ManagerAuth + public R delete(@RequestParam String param){ + List<BasPlcerror> list = JSONArray.parseArray(param, BasPlcerror.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (BasPlcerror entity : list){ + basPlcerrorService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/basPlcerror/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<BasPlcerror> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("basPlcerror")); + convert(map, wrapper); + List<BasPlcerror> list = basPlcerrorService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basPlcerrorQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasPlcerror> wrapper = new EntityWrapper<>(); + wrapper.like("error_desc", condition); + Page<BasPlcerror> page = basPlcerrorService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasPlcerror basPlcerror : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basPlcerror.getErrorCode()); + map.put("value", basPlcerror.getErrorDesc()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basPlcerror/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasPlcerror> wrapper = new EntityWrapper<BasPlcerror>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basPlcerrorService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasPlcerror.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasShuttleController.java b/src/main/java/com/zy/asrs/controller/BasShuttleController.java new file mode 100644 index 0000000..88a5cc9 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasShuttleController.java @@ -0,0 +1,127 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasShuttle; +import com.zy.asrs.service.BasShuttleService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class BasShuttleController extends BaseController { + + @Autowired + private BasShuttleService basShuttleService; + + @RequestMapping(value = "/basShuttle/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(basShuttleService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basShuttle/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + EntityWrapper<BasShuttle> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(BasShuttle.class, param.keySet(), wrapper, condition); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basShuttleService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basShuttle/add/auth") + @ManagerAuth + public R add(BasShuttle basShuttle) { + basShuttleService.insert(basShuttle); + return R.ok(); + } + + @RequestMapping(value = "/basShuttle/update/auth") + @ManagerAuth + public R update(BasShuttle basShuttle){ + if (Cools.isEmpty(basShuttle) || null==basShuttle.getShuttleNo()){ + return R.error(); + } + basShuttleService.updateById(basShuttle); + return R.ok(); + } + + @RequestMapping(value = "/basShuttle/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + basShuttleService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/basShuttle/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<BasShuttle> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("basShuttle")); + convert(map, wrapper); + List<BasShuttle> list = basShuttleService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basShuttleQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasShuttle> wrapper = new EntityWrapper<>(); + wrapper.like("shuttle_no", condition); + Page<BasShuttle> page = basShuttleService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasShuttle basShuttle : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basShuttle.getShuttleNo()); + map.put("value", basShuttle.getShuttleNo()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basShuttle/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasShuttle> wrapper = new EntityWrapper<BasShuttle>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basShuttleService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasShuttle.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasShuttleErrController.java b/src/main/java/com/zy/asrs/controller/BasShuttleErrController.java new file mode 100644 index 0000000..440bd93 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasShuttleErrController.java @@ -0,0 +1,127 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasShuttleErr; +import com.zy.asrs.service.BasShuttleErrService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class BasShuttleErrController extends BaseController { + + @Autowired + private BasShuttleErrService basShuttleErrService; + + @RequestMapping(value = "/basShuttleErr/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(basShuttleErrService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basShuttleErr/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + EntityWrapper<BasShuttleErr> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(BasShuttleErr.class, param.keySet(), wrapper, condition); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basShuttleErrService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basShuttleErr/add/auth") + @ManagerAuth + public R add(BasShuttleErr basShuttleErr) { + basShuttleErrService.insert(basShuttleErr); + return R.ok(); + } + + @RequestMapping(value = "/basShuttleErr/update/auth") + @ManagerAuth + public R update(BasShuttleErr basShuttleErr){ + if (Cools.isEmpty(basShuttleErr) || null==basShuttleErr.getErrorCode()){ + return R.error(); + } + basShuttleErrService.updateById(basShuttleErr); + return R.ok(); + } + + @RequestMapping(value = "/basShuttleErr/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + basShuttleErrService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/basShuttleErr/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<BasShuttleErr> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("basShuttleErr")); + convert(map, wrapper); + List<BasShuttleErr> list = basShuttleErrService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basShuttleErrQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasShuttleErr> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<BasShuttleErr> page = basShuttleErrService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasShuttleErr basShuttleErr : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basShuttleErr.getErrorCode()); + map.put("value", basShuttleErr.getErrorCode()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basShuttleErr/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasShuttleErr> wrapper = new EntityWrapper<BasShuttleErr>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basShuttleErrService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasShuttleErr.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasShuttleErrLogController.java b/src/main/java/com/zy/asrs/controller/BasShuttleErrLogController.java new file mode 100644 index 0000000..31b3aef --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasShuttleErrLogController.java @@ -0,0 +1,128 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasShuttleErrLog; +import com.zy.asrs.service.BasShuttleErrLogService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class BasShuttleErrLogController extends BaseController { + + @Autowired + private BasShuttleErrLogService basShuttleErrLogService; + + @RequestMapping(value = "/basShuttleErrLog/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(basShuttleErrLogService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basShuttleErrLog/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + EntityWrapper<BasShuttleErrLog> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(BasShuttleErrLog.class, param.keySet(), wrapper, condition); + wrapper.orderBy("create_time", false); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basShuttleErrLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basShuttleErrLog/add/auth") + @ManagerAuth + public R add(BasShuttleErrLog basShuttleErrLog) { + basShuttleErrLogService.insert(basShuttleErrLog); + return R.ok(); + } + + @RequestMapping(value = "/basShuttleErrLog/update/auth") + @ManagerAuth + public R update(BasShuttleErrLog basShuttleErrLog){ + if (Cools.isEmpty(basShuttleErrLog) || null==basShuttleErrLog.getId()){ + return R.error(); + } + basShuttleErrLogService.updateById(basShuttleErrLog); + return R.ok(); + } + + @RequestMapping(value = "/basShuttleErrLog/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + basShuttleErrLogService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/basShuttleErrLog/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<BasShuttleErrLog> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("basShuttleErrLog")); + convert(map, wrapper); + List<BasShuttleErrLog> list = basShuttleErrLogService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basShuttleErrLogQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasShuttleErrLog> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<BasShuttleErrLog> page = basShuttleErrLogService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasShuttleErrLog basShuttleErrLog : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basShuttleErrLog.getId()); + map.put("value", basShuttleErrLog.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basShuttleErrLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasShuttleErrLog> wrapper = new EntityWrapper<BasShuttleErrLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basShuttleErrLogService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasShuttleErrLog.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasShuttleOptController.java b/src/main/java/com/zy/asrs/controller/BasShuttleOptController.java new file mode 100644 index 0000000..a3ecca1 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasShuttleOptController.java @@ -0,0 +1,53 @@ +package com.zy.asrs.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasShuttleOpt; +import com.zy.asrs.service.BasShuttleOptService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +@RestController +public class BasShuttleOptController extends BaseController { + @Autowired + private BasShuttleOptService basShuttleOptService; + + @RequestMapping(value = "/basShuttleOpt/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + EntityWrapper<BasShuttleOpt> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(BasShuttleOpt.class, param.keySet(), wrapper, condition); + wrapper.orderBy("send_time", false); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basShuttleOptService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } +} diff --git a/src/main/java/com/zy/asrs/controller/BasWrkIotypeController.java b/src/main/java/com/zy/asrs/controller/BasWrkIotypeController.java new file mode 100644 index 0000000..0136af7 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasWrkIotypeController.java @@ -0,0 +1,147 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasWrkIotype; +import com.zy.asrs.service.BasWrkIotypeService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class BasWrkIotypeController extends BaseController { + + @Autowired + private BasWrkIotypeService basWrkIotypeService; + + @RequestMapping(value = "/basWrkIotype/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") Long id) { + return R.ok(basWrkIotypeService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basWrkIotype/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + excludeTrash(param); + EntityWrapper<BasWrkIotype> wrapper = new EntityWrapper<>(); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basWrkIotypeService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basWrkIotype/edit/auth") + @ManagerAuth + public R edit(BasWrkIotype basWrkIotype) { + if (Cools.isEmpty(basWrkIotype)){ + return R.error(); + } + if (null == basWrkIotype.getIoType()){ + basWrkIotypeService.insert(basWrkIotype); + } else { + basWrkIotypeService.updateById(basWrkIotype); + } + return R.ok(); + } + + @RequestMapping(value = "/basWrkIotype/add/auth") + @ManagerAuth(memo = "鍏ュ嚭搴撶被鍨嬫坊鍔�") + public R add(BasWrkIotype basWrkIotype) { + basWrkIotype.setModiUser(getUserId()); + basWrkIotype.setModiTime(new Date()); + basWrkIotype.setAppeUser(getUserId()); + basWrkIotype.setAppeTime(new Date()); + basWrkIotypeService.insert(basWrkIotype); + return R.ok(); + } + + @RequestMapping(value = "/basWrkIotype/update/auth") + @ManagerAuth(memo = "鍏ュ嚭搴撶被鍨嬩慨鏀�") + public R update(BasWrkIotype basWrkIotype){ + if (Cools.isEmpty(basWrkIotype) || null==basWrkIotype.getIoType()){ + return R.error(); + } + basWrkIotype.setModiUser(getUserId()); + basWrkIotype.setModiTime(new Date()); + basWrkIotypeService.updateById(basWrkIotype); + return R.ok(); + } + + @RequestMapping(value = "/basWrkIotype/delete/auth") + @ManagerAuth(memo = "鍏ュ嚭搴撶被鍨嬪垹闄�") + public R delete(@RequestParam String param){ + List<BasWrkIotype> list = JSONArray.parseArray(param, BasWrkIotype.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (BasWrkIotype entity : list){ + basWrkIotypeService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/basWrkIotype/export/auth") + @ManagerAuth(memo = "鍏ュ嚭搴撶被鍨嬪鍑�") + public R export(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<BasWrkIotype> wrapper = new EntityWrapper<>(); + Map<String, Object> map = excludeTrash(param.getJSONObject("basWrkIotype")); + convert(map, wrapper); + List<BasWrkIotype> list = basWrkIotypeService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basWrkIotypeQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasWrkIotype> wrapper = new EntityWrapper<>(); + wrapper.like("io_desc", condition); + Page<BasWrkIotype> page = basWrkIotypeService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasWrkIotype basWrkIotype : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basWrkIotype.getIoType()); + map.put("value", basWrkIotype.getIoDesc()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basWrkIotype/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasWrkIotype> wrapper = new EntityWrapper<BasWrkIotype>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basWrkIotypeService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasWrkIotype.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/BasWrkStatusController.java b/src/main/java/com/zy/asrs/controller/BasWrkStatusController.java new file mode 100644 index 0000000..321b8f6 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/BasWrkStatusController.java @@ -0,0 +1,147 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.BasWrkStatus; +import com.zy.asrs.service.BasWrkStatusService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class BasWrkStatusController extends BaseController { + + @Autowired + private BasWrkStatusService basWrkStatusService; + + @RequestMapping(value = "/basWrkStatus/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") Long id) { + return R.ok(basWrkStatusService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basWrkStatus/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + excludeTrash(param); + EntityWrapper<BasWrkStatus> wrapper = new EntityWrapper<>(); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(basWrkStatusService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/basWrkStatus/edit/auth") + @ManagerAuth + public R edit(BasWrkStatus basWrkStatus) { + if (Cools.isEmpty(basWrkStatus)){ + return R.error(); + } + if (null == basWrkStatus.getWrkSts()){ + basWrkStatusService.insert(basWrkStatus); + } else { + basWrkStatusService.updateById(basWrkStatus); + } + return R.ok(); + } + + @RequestMapping(value = "/basWrkStatus/add/auth") + @ManagerAuth(memo = "宸ヤ綔鐘舵�佹坊鍔�") + public R add(BasWrkStatus basWrkStatus) { + basWrkStatus.setModiUser(getUserId()); + basWrkStatus.setModiTime(new Date()); + basWrkStatus.setAppeUser(getUserId()); + basWrkStatus.setAppeTime(new Date()); + basWrkStatusService.insert(basWrkStatus); + return R.ok(); + } + + @RequestMapping(value = "/basWrkStatus/update/auth") + @ManagerAuth(memo = "宸ヤ綔鐘舵�佷慨鏀�") + public R update(BasWrkStatus basWrkStatus){ + if (Cools.isEmpty(basWrkStatus) || null==basWrkStatus.getWrkSts()){ + return R.error(); + } + basWrkStatus.setModiUser(getUserId()); + basWrkStatus.setModiTime(new Date()); + basWrkStatusService.updateById(basWrkStatus); + return R.ok(); + } + + @RequestMapping(value = "/basWrkStatus/delete/auth") + @ManagerAuth(memo = "宸ヤ綔鐘舵�佸垹闄�") + public R delete(@RequestParam String param){ + List<BasWrkStatus> list = JSONArray.parseArray(param, BasWrkStatus.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (BasWrkStatus entity : list){ + basWrkStatusService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/basWrkStatus/export/auth") + @ManagerAuth(memo = "宸ヤ綔鐘舵�佸鍑�") + public R export(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<BasWrkStatus> wrapper = new EntityWrapper<>(); + Map<String, Object> map = excludeTrash(param.getJSONObject("basWrkStatus")); + convert(map, wrapper); + List<BasWrkStatus> list = basWrkStatusService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basWrkStatusQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<BasWrkStatus> wrapper = new EntityWrapper<>(); + wrapper.like("wrk_desc", condition); + Page<BasWrkStatus> page = basWrkStatusService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (BasWrkStatus basWrkStatus : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basWrkStatus.getWrkSts()); + map.put("value", basWrkStatus.getWrkDesc()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basWrkStatus/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<BasWrkStatus> wrapper = new EntityWrapper<BasWrkStatus>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != basWrkStatusService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasWrkStatus.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java index 787d39d..a08e8c3 100644 --- a/src/main/java/com/zy/asrs/controller/LocMastController.java +++ b/src/main/java/com/zy/asrs/controller/LocMastController.java @@ -1,36 +1,142 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; import com.core.common.R; +import com.core.exception.CoolException; import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.LocMastService; import com.zy.asrs.utils.Utils; import com.zy.common.model.MapNode; import com.zy.common.utils.NavigateMapData; +import com.zy.common.web.BaseController; import com.zy.core.enums.LocStsType; import com.zy.core.enums.MapNodeType; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; +import java.util.*; @Slf4j @RestController -@RequestMapping("/locMast") -public class LocMastController { +public class LocMastController extends BaseController { @Autowired private NavigateMapData navigateMapData; @Autowired private LocMastService locMastService; - @PostMapping("/init") + @RequestMapping(value = "/locMast/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(locMastService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/locMast/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + excludeTrash(param); + EntityWrapper<LocMast> wrapper = new EntityWrapper<>(); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(locMastService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/locMast/update/auth") + @ManagerAuth(memo = "搴撲綅淇敼") + @Transactional + public R update(LocMast locMast){ + if (Cools.isEmpty(locMast) || null==locMast.getLocNo()){ + return R.error(); + } + + Date now = new Date(); + locMast.setModiUser(getUserId()); + locMast.setModiTime(now); + if(!locMastService.updateById(locMast)) { + throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + return R.ok(); + } + + @RequestMapping(value = "/locMast/delete/auth") + @ManagerAuth(memo = "搴撲綅鍒犻櫎") + public R delete(@RequestParam String param){ + List<LocMast> list = JSONArray.parseArray(param, LocMast.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (LocMast entity : list){ + locMastService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/locMast/export/auth") + @ManagerAuth(memo = "搴撲綅瀵煎嚭") + public R export(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<LocMast> wrapper = new EntityWrapper<>(); + Map<String, Object> map = excludeTrash(param.getJSONObject("locMast")); + convert(map, wrapper); + List<LocMast> list = locMastService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/locMastQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<LocMast> wrapper = new EntityWrapper<>(); + wrapper.like("loc_no", condition); + Page<LocMast> page = locMastService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (LocMast locMast : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", locMast.getLocNo()); + map.put("value", locMast.getLocNo()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/locMast/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<LocMast> wrapper = new EntityWrapper<LocMast>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != locMastService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(LocMast.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + + @PostMapping("/locMast/init") @ManagerAuth(memo = "鍒濆鍖栧簱浣�") @Transactional public R shuttleStateTable(){ diff --git a/src/main/java/com/zy/asrs/controller/ShuttleController.java b/src/main/java/com/zy/asrs/controller/ShuttleController.java index 54e8772..d2c475c 100644 --- a/src/main/java/com/zy/asrs/controller/ShuttleController.java +++ b/src/main/java/com/zy/asrs/controller/ShuttleController.java @@ -15,7 +15,6 @@ import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.utils.Utils; -import com.zy.common.model.NavigateNode; import com.zy.common.model.enums.NavigationMapType; import com.zy.common.service.CommonService; import com.zy.common.utils.NavigateMapUtils; diff --git a/src/main/java/com/zy/asrs/controller/WrkLastnoController.java b/src/main/java/com/zy/asrs/controller/WrkLastnoController.java new file mode 100644 index 0000000..0ee6a4e --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/WrkLastnoController.java @@ -0,0 +1,133 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.WrkLastno; +import com.zy.asrs.service.WrkLastnoService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class WrkLastnoController extends BaseController { + + @Autowired + private WrkLastnoService wrkLastnoService; + + @RequestMapping(value = "/wrkLastno/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(wrkLastnoService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/wrkLastno/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + excludeTrash(param); + EntityWrapper<WrkLastno> wrapper = new EntityWrapper<>(); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(wrkLastnoService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/wrkLastno/add/auth") + @ManagerAuth(memo = "宸ヤ綔搴忓彿娣诲姞") + public R add(WrkLastno wrkLastno) { + wrkLastno.setModiUser(getUserId()); + wrkLastno.setModiTime(new Date()); + wrkLastno.setAppeUser(getUserId()); + wrkLastno.setAppeTime(new Date()); + wrkLastnoService.insert(wrkLastno); + return R.ok(); + } + + @RequestMapping(value = "/wrkLastno/update/auth") + @ManagerAuth(memo = "宸ヤ綔搴忓彿淇敼") + public R update(WrkLastno wrkLastno){ + if (Cools.isEmpty(wrkLastno) || null==wrkLastno.getWrkMk()){ + return R.error(); + } + wrkLastno.setModiUser(getUserId()); + wrkLastno.setModiTime(new Date()); + wrkLastnoService.updateById(wrkLastno); + return R.ok(); + } + + @RequestMapping(value = "/wrkLastno/delete/auth") + @ManagerAuth(memo = "宸ヤ綔搴忓彿鍒犻櫎") + public R delete(@RequestParam String param){ + List<WrkLastno> list = JSONArray.parseArray(param, WrkLastno.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (WrkLastno entity : list){ + wrkLastnoService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/wrkLastno/export/auth") + @ManagerAuth(memo = "宸ヤ綔搴忓彿瀵煎嚭") + public R export(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<WrkLastno> wrapper = new EntityWrapper<>(); + Map<String, Object> map = excludeTrash(param.getJSONObject("wrkLastno")); + convert(map, wrapper); + List<WrkLastno> list = wrkLastnoService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/wrkLastnoQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<WrkLastno> wrapper = new EntityWrapper<>(); + wrapper.like("wrk_mk", condition); + Page<WrkLastno> page = wrkLastnoService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (WrkLastno wrkLastno : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", wrkLastno.getWrkMk()); + map.put("value", wrkLastno.getWrkMk()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/wrkLastno/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<WrkLastno> wrapper = new EntityWrapper<WrkLastno>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != wrkLastnoService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(WrkLastno.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/WrkMastLogController.java b/src/main/java/com/zy/asrs/controller/WrkMastLogController.java new file mode 100644 index 0000000..7e0bec4 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/WrkMastLogController.java @@ -0,0 +1,143 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.WrkMastLog; +import com.zy.asrs.service.WrkMastLogService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class WrkMastLogController extends BaseController { + + @Autowired + private WrkMastLogService wrkMastLogService; + + @RequestMapping(value = "/wrkMastLog/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(wrkMastLogService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/wrkMastLog/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam(required = false)String condition, + @RequestParam Map<String, Object> param){ + excludeTrash(param); + EntityWrapper<WrkMastLog> wrapper = new EntityWrapper<>(); + convert(param, wrapper); + allLike(WrkMastLog.class, param.keySet(), wrapper, condition); + if (!Cools.isEmpty(orderByField)){ + if (orderByField.endsWith("$")){ + orderByField = orderByField.substring(0, orderByField.length()-1); + } + wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); + }else { + wrapper.orderBy("modi_time", false); + } + return R.ok(wrkMastLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + if (entry.getKey().equals("manu_type")) { + wrapper.like(entry.getKey(), val); + } else { + wrapper.eq(entry.getKey(), val); + } + } + } + } + + @RequestMapping(value = "/wrkMastLog/add/auth") + @ManagerAuth(memo = "宸ヤ綔鍘嗗彶妗f坊鍔�") + public R add(WrkMastLog wrkMastLog) { + wrkMastLogService.insert(wrkMastLog); + return R.ok(); + } + + @RequestMapping(value = "/wrkMastLog/update/auth") + @ManagerAuth(memo = "宸ヤ綔鍘嗗彶妗d慨鏀�") + public R update(WrkMastLog wrkMastLog){ + if (Cools.isEmpty(wrkMastLog) || null==wrkMastLog.getId()){ + return R.error(); + } + wrkMastLogService.updateById(wrkMastLog); + return R.ok(); + } + + @RequestMapping(value = "/wrkMastLog/delete/auth") + @ManagerAuth(memo = "宸ヤ綔鍘嗗彶妗e垹闄�") + public R delete(@RequestParam String param){ + List<WrkMastLog> list = JSONArray.parseArray(param, WrkMastLog.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (WrkMastLog entity : list){ + wrkMastLogService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/wrkMastLog/export/auth") + @ManagerAuth(memo = "宸ヤ綔鍘嗗彶妗e鍑�") + public R export(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<WrkMastLog> wrapper = new EntityWrapper<>(); + Map<String, Object> map = excludeTrash(param.getJSONObject("wrkMastLog")); + convert(map, wrapper); + List<WrkMastLog> list = wrkMastLogService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/wrkMastLogQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<WrkMastLog> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<WrkMastLog> page = wrkMastLogService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (WrkMastLog wrkMastLog : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", wrkMastLog.getId()); + map.put("value", wrkMastLog.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/wrkMastLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<WrkMastLog> wrapper = new EntityWrapper<WrkMastLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != wrkMastLogService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(WrkMastLog.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/entity/ApiLog.java b/src/main/java/com/zy/asrs/entity/ApiLog.java new file mode 100644 index 0000000..45101d1 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/ApiLog.java @@ -0,0 +1,193 @@ +package com.zy.asrs.entity; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.core.common.Cools; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; + +@Data +@TableName("man_api_log") +public class ApiLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value= "ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 鏃ュ織缂栧彿 + */ + @ApiModelProperty(value= "鏃ュ織缂栧彿") + private String uuid; + + /** + * 鍚嶇О绌洪棿 + */ + @ApiModelProperty(value= "鍚嶇О绌洪棿") + private String namespace; + + /** + * 鎺ュ彛鍦板潃 + */ + @ApiModelProperty(value= "鎺ュ彛鍦板潃") + private String url; + + /** + * 骞冲彴瀵嗛挜 + */ + @ApiModelProperty(value= "骞冲彴瀵嗛挜") + private String appkey; + + /** + * 鏃堕棿鎴� + */ + @ApiModelProperty(value= "鏃堕棿鎴�") + private String timestamp; + + /** + * 瀹㈡埛绔疘P + */ + @ApiModelProperty(value= "瀹㈡埛绔疘P") + @TableField("client_ip") + private String clientIp; + + /** + * 璇锋眰鍐呭 + */ + @ApiModelProperty(value= "璇锋眰鍐呭") + private String request; + + /** + * 鍝嶅簲鍐呭 + */ + @ApiModelProperty(value= "鍝嶅簲鍐呭") + private String response; + + /** + * 寮傚父鍐呭 + */ + @ApiModelProperty(value= "寮傚父鍐呭") + private String err; + + /** + * 缁撴灉 1: 鎴愬姛 0: 澶辫触 + */ + @ApiModelProperty(value= "缁撴灉 1: 鎴愬姛 0: 澶辫触 ") + private Integer result; + + /** + * 鐘舵�� 1: 姝e父 0: 绂佺敤 + */ + @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 绂佺敤 ") + private Integer status; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @TableField("create_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("update_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value= "澶囨敞") + private String memo; + + public ApiLog() {} + + public ApiLog(String uuid, String namespace, String url, String appkey, String timestamp, String clientIp, String request, String response, String err, Integer result, Integer status, Date createTime, Date updateTime, String memo) { + this.uuid = uuid; + this.namespace = namespace; + this.url = url; + this.appkey = appkey; + this.timestamp = timestamp; + this.clientIp = clientIp; + this.request = request; + this.response = response; + this.err = err; + this.result = result; + this.status = status; + this.createTime = createTime; + this.updateTime = updateTime; + this.memo = memo; + } + +// ApiLog apiLog = new ApiLog( +// null, // 鏃ュ織缂栧彿 +// null, // 鍚嶇О绌洪棿 +// null, // 鎺ュ彛鍦板潃 +// null, // 骞冲彴瀵嗛挜 +// null, // 鏃堕棿鎴� +// null, // 瀹㈡埛绔疘P +// null, // 璇锋眰鍐呭 +// null, // 鍝嶅簲鍐呭 +// null, // 寮傚父鍐呭 +// null, // 缁撴灉 +// null, // 鐘舵�� +// null, // 娣诲姞鏃堕棿 +// null, // 淇敼鏃堕棿 +// null // 澶囨敞 +// ); + + public String getResult$(){ + if (null == this.result){ return null; } + switch (this.result){ + case 1: + return "鎴愬姛"; + case 0: + return "澶辫触"; + default: + return String.valueOf(this.result); + } + } + + public String getStatus$(){ + if (null == this.status){ return null; } + switch (this.status){ + case 1: + return "姝e父"; + case 0: + return "绂佺敤"; + default: + return String.valueOf(this.status); + } + } + + public String getCreateTime$(){ + if (Cools.isEmpty(this.createTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); + } + + public String getUpdateTime$(){ + if (Cools.isEmpty(this.updateTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); + } + + +} diff --git a/src/main/java/com/zy/asrs/entity/BasLocSts.java b/src/main/java/com/zy/asrs/entity/BasLocSts.java new file mode 100644 index 0000000..13d16b9 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/BasLocSts.java @@ -0,0 +1,164 @@ +package com.zy.asrs.entity; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.zy.system.entity.User; +import com.zy.system.service.UserService; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; + +@TableName("asr_bas_loc_sts") +public class BasLocSts implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 搴撲綅鐘舵�佷唬鍙� + */ + @ApiModelProperty(value= "搴撲綅鐘舵�佷唬鍙�") + @TableId(value = "loc_sts", type = IdType.INPUT) + @TableField("loc_sts") + private String locSts; + + /** + * 搴撲綅鐘舵�佹弿杩� + */ + @ApiModelProperty(value= "搴撲綅鐘舵�佹弿杩�") + @TableField("loc_desc") + private String locDesc; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value= "淇敼浜哄憳") + @TableField("modi_user") + private Long modiUser; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("modi_time") + private Date modiTime; + + /** + * 鍒涘缓鑰� + */ + @ApiModelProperty(value= "鍒涘缓鑰�") + @TableField("appe_user") + private Long appeUser; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @TableField("appe_time") + private Date appeTime; + + public BasLocSts() {} + + public BasLocSts(String locDesc, Long modiUser, Date modiTime, Long appeUser, Date appeTime) { + this.locDesc = locDesc; + this.modiUser = modiUser; + this.modiTime = modiTime; + this.appeUser = appeUser; + this.appeTime = appeTime; + } + +// BasLocSts basLocSts = new BasLocSts( +// null, // 搴撲綅鐘舵�佹弿杩� +// null, // 淇敼浜哄憳 +// null, // 淇敼鏃堕棿 +// null, // 鍒涘缓鑰� +// null // 娣诲姞鏃堕棿 +// ); + + public String getLocSts() { + return locSts; + } + + public void setLocSts(String locSts) { + this.locSts = locSts; + } + + public String getLocDesc() { + return locDesc; + } + + public void setLocDesc(String locDesc) { + this.locDesc = locDesc; + } + + public Long getModiUser() { + return modiUser; + } + + public String getModiUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.modiUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getUsername()); + } + return null; + } + + public void setModiUser(Long modiUser) { + this.modiUser = modiUser; + } + + public Date getModiTime() { + return modiTime; + } + + public String getModiTime$(){ + if (Cools.isEmpty(this.modiTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime); + } + + public void setModiTime(Date modiTime) { + this.modiTime = modiTime; + } + + public Long getAppeUser() { + return appeUser; + } + + public String getAppeUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.appeUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getUsername()); + } + return null; + } + + public void setAppeUser(Long appeUser) { + this.appeUser = appeUser; + } + + public Date getAppeTime() { + return appeTime; + } + + public String getAppeTime$(){ + if (Cools.isEmpty(this.appeTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); + } + + public void setAppeTime(Date appeTime) { + this.appeTime = appeTime; + } + + +} diff --git a/src/main/java/com/zy/asrs/entity/BasShuttleOpt.java b/src/main/java/com/zy/asrs/entity/BasShuttleOpt.java index 1e476d8..2a1325f 100644 --- a/src/main/java/com/zy/asrs/entity/BasShuttleOpt.java +++ b/src/main/java/com/zy/asrs/entity/BasShuttleOpt.java @@ -97,12 +97,6 @@ private String command; /** - * 鍛戒护 - */ - @ApiModelProperty(value= "鍛戒护鎶ユ枃(涓嬪彂)") - private String commandSend; - - /** * 绯荤粺鐘舵�� */ @ApiModelProperty(value= "绯荤粺鐘舵��") @@ -132,7 +126,7 @@ public BasShuttleOpt() {} - public BasShuttleOpt(Integer wrkNo, Integer shuttleNo, Date sendTime, String mode, String sourceLocNo, String distLocNo, Date updateTime, Long updateBy, String memo, String command, String commandSend, String systemStatus) { + public BasShuttleOpt(Integer wrkNo, Integer shuttleNo, Date sendTime, String mode, String sourceLocNo, String distLocNo, Date updateTime, Long updateBy, String memo, String command, String systemStatus) { this.wrkNo = wrkNo; this.shuttleNo = shuttleNo; this.sendTime = sendTime; @@ -143,7 +137,6 @@ this.updateBy = updateBy; this.memo = memo; this.command = command; - this.commandSend = commandSend; this.systemStatus = systemStatus; } diff --git a/src/main/java/com/zy/asrs/entity/LocMast.java b/src/main/java/com/zy/asrs/entity/LocMast.java index fa8ef82..24b77db 100644 --- a/src/main/java/com/zy/asrs/entity/LocMast.java +++ b/src/main/java/com/zy/asrs/entity/LocMast.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.enums.IdType; import com.core.common.Cools; import com.core.common.SpringUtils; +import com.zy.asrs.service.BasLocStsService; import com.zy.system.entity.User; import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; @@ -111,6 +112,15 @@ @TableField("qr_code_value") private String qrCodeValue; + public String getLocSts$(){ + BasLocStsService service = SpringUtils.getBean(BasLocStsService.class); + BasLocSts basLocSts = service.selectById(this.locSts); + if (!Cools.isEmpty(basLocSts)){ + return String.valueOf(basLocSts.getLocDesc()); + } + return null; + } + public String getIoTime$(){ if (Cools.isEmpty(this.ioTime)){ return ""; diff --git a/src/main/java/com/zy/asrs/entity/WrkMastLog.java b/src/main/java/com/zy/asrs/entity/WrkMastLog.java index 18bfcc7..0679314 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMastLog.java +++ b/src/main/java/com/zy/asrs/entity/WrkMastLog.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.enums.IdType; import com.core.common.Cools; import com.core.common.SpringUtils; +import com.zy.asrs.mapper.BasWrkIotypeMapper; +import com.zy.asrs.mapper.BasWrkStatusMapper; import com.zy.asrs.service.BasDevpService; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.WrkMastService; @@ -135,8 +137,8 @@ private String errorMemo; @ApiModelProperty(value= "") - @TableField("memo_m") - private String memoM; + @TableField("memo") + private String memo; /** * 鏉$爜 @@ -166,6 +168,24 @@ public WrkMastLog() {} + public String getWrkSts$(){ + BasWrkStatusMapper mapper = SpringUtils.getBean(BasWrkStatusMapper.class); + BasWrkStatus entity = mapper.selectById(this.wrkSts); + if (entity != null) { + return entity.getWrkDesc(); + } + return null; + } + + public String getIoType$(){ + BasWrkIotypeMapper mapper = SpringUtils.getBean(BasWrkIotypeMapper.class); + BasWrkIotype entity = mapper.selectById(this.ioType); + if (entity != null) { + return entity.getIoDesc(); + } + return null; + } + public String getWrkNo$(){ WrkMastService service = SpringUtils.getBean(WrkMastService.class); WrkMast wrkMast = service.selectById(this.wrkNo); diff --git a/src/main/java/com/zy/asrs/mapper/ApiLogMapper.java b/src/main/java/com/zy/asrs/mapper/ApiLogMapper.java new file mode 100644 index 0000000..a20d98f --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/ApiLogMapper.java @@ -0,0 +1,14 @@ +package com.zy.asrs.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.asrs.entity.ApiLog; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface ApiLogMapper extends BaseMapper<ApiLog> { + + int clearWeekBefore(); + +} diff --git a/src/main/java/com/zy/asrs/mapper/BasLocStsMapper.java b/src/main/java/com/zy/asrs/mapper/BasLocStsMapper.java new file mode 100644 index 0000000..6b4fbce --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/BasLocStsMapper.java @@ -0,0 +1,12 @@ +package com.zy.asrs.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.asrs.entity.BasLocSts; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface BasLocStsMapper extends BaseMapper<BasLocSts> { + +} diff --git a/src/main/java/com/zy/asrs/service/ApiLogService.java b/src/main/java/com/zy/asrs/service/ApiLogService.java new file mode 100644 index 0000000..8e3c698 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/ApiLogService.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.ApiLog; + +public interface ApiLogService extends IService<ApiLog> { + + void save(String namespace, String url, String appkey, String ip, String request, String response, boolean success); + + boolean clearWeekBefore(); + +} diff --git a/src/main/java/com/zy/asrs/service/BasLocStsService.java b/src/main/java/com/zy/asrs/service/BasLocStsService.java new file mode 100644 index 0000000..85f68fb --- /dev/null +++ b/src/main/java/com/zy/asrs/service/BasLocStsService.java @@ -0,0 +1,8 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.BasLocSts; + +public interface BasLocStsService extends IService<BasLocSts> { + +} diff --git a/src/main/java/com/zy/asrs/service/BasPlcerrorService.java b/src/main/java/com/zy/asrs/service/BasPlcerrorService.java new file mode 100644 index 0000000..45c6c91 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/BasPlcerrorService.java @@ -0,0 +1,8 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.BasPlcerror; + +public interface BasPlcerrorService extends IService<BasPlcerror> { + +} diff --git a/src/main/java/com/zy/asrs/service/BasWrkIotypeService.java b/src/main/java/com/zy/asrs/service/BasWrkIotypeService.java new file mode 100644 index 0000000..aeb603d --- /dev/null +++ b/src/main/java/com/zy/asrs/service/BasWrkIotypeService.java @@ -0,0 +1,8 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.BasWrkIotype; + +public interface BasWrkIotypeService extends IService<BasWrkIotype> { + +} diff --git a/src/main/java/com/zy/asrs/service/BasWrkStatusService.java b/src/main/java/com/zy/asrs/service/BasWrkStatusService.java new file mode 100644 index 0000000..d64196e --- /dev/null +++ b/src/main/java/com/zy/asrs/service/BasWrkStatusService.java @@ -0,0 +1,8 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.BasWrkStatus; + +public interface BasWrkStatusService extends IService<BasWrkStatus> { + +} diff --git a/src/main/java/com/zy/asrs/service/impl/ApiLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ApiLogServiceImpl.java new file mode 100644 index 0000000..30a725f --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/ApiLogServiceImpl.java @@ -0,0 +1,51 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.core.common.SnowflakeIdWorker; +import com.zy.asrs.entity.ApiLog; +import com.zy.asrs.mapper.ApiLogMapper; +import com.zy.asrs.service.ApiLogService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import java.util.Date; + +@Slf4j +@Service("apiLogService") +public class ApiLogServiceImpl extends ServiceImpl<ApiLogMapper, ApiLog> implements ApiLogService { + + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + + @Async + @Override + public void save(String namespace, String url, String appkey, String ip, String request, String response, boolean success) { + Date now = new Date(); + ApiLog apiLog = new ApiLog( + String.valueOf(snowflakeIdWorker.nextId()), // 鏃ュ織缂栧彿 + namespace, // 鍚嶇О绌洪棿 + url, // 鎺ュ彛鍦板潃 + appkey, // 骞冲彴瀵嗛挜 + String.valueOf(now.getTime()), // 鏃堕棿鎴� + ip, // 瀹㈡埛绔疘P + request, // 璇锋眰鍐呭 + response, + null, // 寮傚父鍐呭 + success?1:0 , // 缁撴灉 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 淇敼鏃堕棿 + null // 澶囨敞 + ); + if (!this.insert(apiLog)) { + log.error("鎺ュ彛璋冪敤鏃ュ織淇濆瓨澶辫触锛�"); + } + } + + @Override + public boolean clearWeekBefore() { + return this.baseMapper.clearWeekBefore() > 0; + } +} diff --git a/src/main/java/com/zy/asrs/service/impl/BasLocStsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasLocStsServiceImpl.java new file mode 100644 index 0000000..59a5106 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/BasLocStsServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.entity.BasLocSts; +import com.zy.asrs.mapper.BasLocStsMapper; +import com.zy.asrs.service.BasLocStsService; +import org.springframework.stereotype.Service; + +@Service("basLocStsService") +public class BasLocStsServiceImpl extends ServiceImpl<BasLocStsMapper, BasLocSts> implements BasLocStsService { + +} diff --git a/src/main/java/com/zy/asrs/service/impl/BasPlcerrorServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasPlcerrorServiceImpl.java new file mode 100644 index 0000000..0d48f6f --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/BasPlcerrorServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.entity.BasPlcerror; +import com.zy.asrs.mapper.BasPlcerrorMapper; +import com.zy.asrs.service.BasPlcerrorService; +import org.springframework.stereotype.Service; + +@Service("basPlcerrorService") +public class BasPlcerrorServiceImpl extends ServiceImpl<BasPlcerrorMapper, BasPlcerror> implements BasPlcerrorService { + +} diff --git a/src/main/java/com/zy/asrs/service/impl/BasWrkIotypeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasWrkIotypeServiceImpl.java new file mode 100644 index 0000000..9c6c8c6 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/BasWrkIotypeServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.entity.BasWrkIotype; +import com.zy.asrs.mapper.BasWrkIotypeMapper; +import com.zy.asrs.service.BasWrkIotypeService; +import org.springframework.stereotype.Service; + +@Service("basWrkIotypeService") +public class BasWrkIotypeServiceImpl extends ServiceImpl<BasWrkIotypeMapper, BasWrkIotype> implements BasWrkIotypeService { + +} diff --git a/src/main/java/com/zy/asrs/service/impl/BasWrkStatusServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasWrkStatusServiceImpl.java new file mode 100644 index 0000000..9684470 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/BasWrkStatusServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.entity.BasWrkStatus; +import com.zy.asrs.mapper.BasWrkStatusMapper; +import com.zy.asrs.service.BasWrkStatusService; +import org.springframework.stereotype.Service; + +@Service("basWrkStatusService") +public class BasWrkStatusServiceImpl extends ServiceImpl<BasWrkStatusMapper, BasWrkStatus> implements BasWrkStatusService { + +} diff --git a/src/main/java/com/zy/system/controller/ResourceController.java b/src/main/java/com/zy/system/controller/ResourceController.java index aded982..4cc94dc 100644 --- a/src/main/java/com/zy/system/controller/ResourceController.java +++ b/src/main/java/com/zy/system/controller/ResourceController.java @@ -89,11 +89,10 @@ @RequestMapping(value = "/resource/delete/auth") @ManagerAuth(memo = "鑿滃崟鍒犻櫎") - public R delete(Integer[] ids){ - if (Cools.isEmpty(ids)){ - return R.error(); + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + resourceService.deleteById(id); } - resourceService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } @@ -124,4 +123,21 @@ return R.ok(result); } + @RequestMapping(value = "/resource/tree/auth") + @ManagerAuth + public R tree(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + EntityWrapper<Resource> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + else { + wrapper.orderBy("sort"); + } + return R.parse("0-鎿嶄綔鎴愬姛").add(resourceService.selectList(wrapper)); + } + } diff --git a/src/main/java/com/zy/system/controller/UserController.java b/src/main/java/com/zy/system/controller/UserController.java index f3ec1c2..9344ff6 100644 --- a/src/main/java/com/zy/system/controller/UserController.java +++ b/src/main/java/com/zy/system/controller/UserController.java @@ -96,7 +96,7 @@ return R.ok(); } - @RequestMapping(value = "/user/update/auth") + @RequestMapping(value = "/user/update/auth") @ManagerAuth(memo = "绯荤粺鐢ㄦ埛淇敼") public R update(User user){ if (Cools.isEmpty(user) || null==user.getId()){ @@ -112,17 +112,19 @@ if (user.getMobile()!=null) { entity.setMobile(user.getMobile()); } + if (user.getRoleId() !=null) { + entity.setRoleId(user.getRoleId()); + } userService.updateById(entity); return R.ok(); } @RequestMapping(value = "/user/delete/auth") @ManagerAuth(memo = "绯荤粺鐢ㄦ埛鍒犻櫎") - public R delete(Integer[] ids){ - if (Cools.isEmpty(ids)){ - return R.error(); + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + userService.deleteById(id); } - userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } diff --git a/src/main/resources/mapper/ApiLogMapper.xml b/src/main/resources/mapper/ApiLogMapper.xml new file mode 100644 index 0000000..05e704e --- /dev/null +++ b/src/main/resources/mapper/ApiLogMapper.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.mapper.ApiLogMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.asrs.entity.ApiLog"> + <id column="id" property="id" /> + <result column="uuid" property="uuid" /> + <result column="namespace" property="namespace" /> + <result column="url" property="url" /> + <result column="appkey" property="appkey" /> + <result column="timestamp" property="timestamp" /> + <result column="client_ip" property="clientIp" /> + <result column="request" property="request" /> + <result column="response" property="response" /> + <result column="err" property="err" /> + <result column="result" property="result" /> + <result column="status" property="status" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="memo" property="memo" /> + + </resultMap> + + <delete id="clearWeekBefore"> + delete from man_api_log + where 1=1 + and datediff(week,create_time,getdate()) >= 1 + and result != 1 + </delete> + +</mapper> diff --git a/src/main/resources/mapper/BasLocStsMapper.xml b/src/main/resources/mapper/BasLocStsMapper.xml new file mode 100644 index 0000000..1933fd0 --- /dev/null +++ b/src/main/resources/mapper/BasLocStsMapper.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.mapper.BasLocStsMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasLocSts"> + <id column="loc_sts" property="locSts" /> + <result column="loc_desc" property="locDesc" /> + <result column="modi_user" property="modiUser" /> + <result column="modi_time" property="modiTime" /> + <result column="appe_user" property="appeUser" /> + <result column="appe_time" property="appeTime" /> + + </resultMap> + +</mapper> diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/WrkMastLogMapper.xml index 10b5858..eba392f 100644 --- a/src/main/resources/mapper/WrkMastLogMapper.xml +++ b/src/main/resources/mapper/WrkMastLogMapper.xml @@ -21,7 +21,7 @@ <result column="appe_time" property="appeTime" /> <result column="error_time" property="errorTime" /> <result column="error_memo" property="errorMemo" /> - <result column="memo_m" property="memoM" /> + <result column="memo" property="memo" /> <result column="barcode" property="barcode" /> <result column="lift_no" property="liftNo" /> <result column="shuttle_no" property="shuttleNo" /> diff --git a/src/main/webapp/static/css/admin.css b/src/main/webapp/static/css/admin.css new file mode 100644 index 0000000..b4ecfd4 --- /dev/null +++ b/src/main/webapp/static/css/admin.css @@ -0,0 +1,445 @@ +锘�/** EasyWeb iframe v3.1.8 date:2020-05-04 License By http://easyweb.vip */ +*{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","寰蒋闆呴粦",Arial,sans-serif}body{color:#595959;background-color:#f5f7f9}.layui-layout-body{overflow:auto}.layui-layout-admin{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;-webkit-transition:left .3s,right .3s;transition:left .3s,right .3s}.layui-layout-admin .layui-header{position:absolute;top:0;left:0;right:0;height:50px;background-color:#fff;box-shadow:0 1px 0 0 rgba(0,0,0,.03);z-index:999}.layui-layout-admin .layui-header .layui-logo{color:#ddd;width:235px;line-height:50px;background-color:#191a23;box-shadow:1px 2px 2px 0 rgba(0,0,0,.05);position:relative;vertical-align:top;white-space:nowrap;display:inline-block;-webkit-transition:width .3s;transition:width .3s;overflow:hidden}.layui-layout-admin .layui-header .layui-logo img{height:28px;vertical-align:middle}.layui-layout-admin .layui-header .layui-logo cite{font-style:normal;vertical-align:middle}.layui-layout-admin .layui-header .layui-layout-left{padding:0;vertical-align:top;display:inline-block;position:static!important}.layui-layout-admin .layui-header .layui-layout-right{padding:0}.layui-layout-admin .layui-header .layui-nav .layui-this:after,.layui-layout-admin .layui-header .layui-nav-bar{height:2px;top:0!important;background-color:#191a23}.layui-layout-admin .layui-header .layui-nav .layui-nav-item{line-height:50px;vertical-align:top}.layui-layout-admin .layui-header .layui-nav .layui-nav-item .layui-nav-child{top:55px}.layui-layout-admin .layui-header .layui-nav-item .layui-icon{font-size:16px}.layui-layout-admin .layui-header a{color:#595959;padding:0 15px;cursor:pointer}.layui-layout-admin .layui-header a:hover{color:#595959}.layui-layout-admin .layui-header .layui-nav-child a{color:#595959;text-align:center}.layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#8c8c8c transparent transparent}.layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #8c8c8c}.layui-layout-admin .layui-header .layui-nav-img{width:26px;height:26px;margin-right:2px;vertical-align:middle}.layui-layout-admin .layui-header .layui-nav-img+cite{margin-right:3px;vertical-align:middle}.layui-layout-admin .layui-header .layui-badge-dot{right:8px;margin:-10px 0 0 0}.layui-layout-admin .layui-body{position:absolute;left:235px;top:50px;z-index:auto;overflow:auto;-webkit-transition:left .3s;transition:left .3s;-webkit-overflow-scrolling:touch}.admin-iframe{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.layui-fluid{padding:15px}.layui-layout-admin .layui-footer{position:absolute;left:235px;background:#fff;box-sizing:border-box;border-top:1px solid #f5f7f9;-webkit-transition:left .3s;transition:left .3s;overflow:hidden}.close-footer .layui-layout-admin .layui-footer{display:none}.close-footer .layui-layout-admin .layui-body{bottom:0}.layui-layout-admin .layui-side{position:absolute;top:50px;width:235px;background-color:#191a23;box-shadow:1px 2px 2px 0 rgba(0,0,0,.05);-webkit-transition:width .3s;transition:width .3s;-webkit-user-select:none;user-select:none;z-index:1000}.layui-layout-admin .layui-side .layui-side-scroll{width:255px;-webkit-transition:width .3s;transition:width .3s}.layui-layout-admin .layui-side .layui-nav{width:235px;background-color:transparent;-webkit-transition:width .3s;transition:width .3s}.layui-layout-admin .layui-side>.layui-side-scroll>.layui-nav:first-child{margin-top:10px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item>a{cursor:pointer;padding-top:5px;padding-bottom:5px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item a{-webkit-transition:color .3s,background-color .3s;transition:color .3s,background-color .3s}.layui-layout-admin .layui-side .layui-nav .layui-nav-more{right:15px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item>.layui-nav-child{position:static}.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child a{padding-left:50px;cursor:pointer}.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child a{padding-left:70px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left:90px}.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left:110px}@media screen and (min-width:769px){.layui-layout-admin.admin-nav-mini .layui-header .layui-logo{width:60px}.layui-layout-admin.admin-nav-mini .layui-header .layui-logo cite{display:none}.layui-layout-admin.admin-nav-mini .layui-header .layui-icon-shrink-right:before{content:"\e66b"}.layui-layout-admin.admin-nav-mini .layui-body,.layui-layout-admin.admin-nav-mini .layui-footer{left:60px}.layui-layout-admin.admin-nav-mini .layui-side,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav{width:60px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a{overflow:visible}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a>cite,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a .layui-nav-more,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-itemed>.layui-nav-child{display:none!important}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav li.layui-nav-itemed>a{background:rgba(0,0,0,.3)}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a>.layui-icon{font-size:16px;-webkit-transition:font-size .3s;transition:font-size .3s}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child{position:fixed;top:60px;left:60px;padding:5px;min-width:150px;display:block!important;background:transparent!important}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{content:'';position:absolute;right:5px;left:5px;bottom:0;top:0;border-radius:4px;background:#191a23;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child dd:first-child>.layui-nav-child{margin-top:-5px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child dd:last-child>.layui-nav-child.show-top{margin-top:5px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a{padding:0 20px!important}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{border-color:transparent transparent transparent rgba(255,255,255,.7);right:7px;margin-top:-6px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow2 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow3 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{-o-transform:rotate(0deg);-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg);width:6px;height:10px;right:10px;margin-top:-5px;font-weight:600}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow2 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more:before,.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow3 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more:before{content:"\e602";left:-4px;top:-2px}.layui-layout-admin.admin-nav-mini .layui-side .layui-nav.arrow3 .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more:before{-o-transform:rotate(0deg);-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@media screen and (max-width:768px){.layui-layout-admin{left:-235px}.layui-layout-admin .layui-side,.layui-layout-admin .layui-header .layui-logo{box-shadow:none!important}.layui-layout-admin .layui-header .layui-icon-shrink-right:before{content:"\e66b"}.layui-layout-admin.admin-nav-mini{left:0;right:-235px;position:fixed}.layui-layout-admin.admin-nav-mini .layui-header .layui-icon-shrink-right:before{content:"\e668"}.layui-layout-admin.admin-nav-mini .layui-side,.layui-layout-admin.admin-nav-mini .layui-header .layui-logo{box-shadow:1px 0 2px 0 rgba(0,0,0,.05)}.layui-layout-admin.admin-nav-mini .site-mobile-shade{position:absolute;top:0;right:0;bottom:0;left:235px;background-color:rgba(0,0,0,.25);-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;z-index:1000}}.ew-anim-drop-in{-webkit-animation:ewTransitionDropIn .3s ease-in-out;animation:ewTransitionDropIn .3s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}@-webkit-keyframes ewTransitionDropIn{from{opacity:0;-webkit-transform:scale(0.8)}to{opacity:1;-webkit-transform:scale(1)}}@keyframes ewTransitionDropIn{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}.layui-nav-tree .layui-nav-bar{display:none}.layui-nav-tree>.layui-nav-item>a:before{content:"";position:absolute;top:0;left:0;bottom:100%;width:4px;background-color:#009688;-webkit-transition:all .3s ease;transition:all .3s ease}.layui-nav-tree>.layui-nav-item:hover>a:before{bottom:0}.layui-nav-tree .layui-nav-item a:hover{background-color:transparent}.layui-nav-tree .layui-this>a:hover{background-color:#009688}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-this{background:transparent}.layui-nav-tree .layui-nav-item .layui-nav-child{padding:5px 0;background-color:rgba(0,0,0,.3)!important}.layui-nav-tree.arrow2 .layui-nav-more{font-family:layui-icon!important;font-size:12px;font-weight:600;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;line-height:normal;border:0;margin:-3px 0 0 0;padding:0;width:10px;height:6px;top:50%;display:inline-block;-webkit-transition:all .3s ease;transition:all .3s ease}.layui-nav-tree.arrow2 .layui-nav-more:before{content:"\e61a";position:absolute;right:-1px;top:-4px}.layui-nav-tree.arrow2 .layui-nav-itemed>a>.layui-nav-more{-ms-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-webkit-transform:rotate(-180deg);-o-transform:rotate(-180deg);transform:rotate(-180deg)}.layui-nav-tree.arrow3 .layui-nav-more{font-family:layui-icon!important;font-size:12px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;line-height:normal;border:0;margin:-5px 0 0 0;padding:0;width:10px;height:10px;top:50%;display:inline-block;-webkit-transition:all .3s ease;transition:all .3s ease}.layui-nav-tree.arrow3 .layui-nav-more:before{content:"\e654";position:absolute;top:-2px;left:-1px}.layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more{-ms-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more:before{content:'';width:8px;height:2px;background-color:rgba(255,255,255,.7);top:4px;left:1px;-ms-transform:rotate(45deg);-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.layui-layout-admin .layui-body>.layui-tab{position:absolute;top:0;left:0;right:0;bottom:0;margin:0}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-content{position:absolute;left:0;right:0;bottom:0;top:40px;padding:0}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-content>.layui-tab-item{position:absolute;bottom:0;right:0;top:0;left:0;overflow:auto;-webkit-overflow-scrolling:touch;display:block;visibility:hidden;opacity:0;filter:Alpha(opacity=0)}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-content>.layui-tab-item.layui-show{visibility:visible;opacity:1;filter:Alpha(opacity=100)}.layui-layout-admin.admin-side-flexible .layui-body>.layui-tab>.layui-tab-content>.layui-tab-item{display:none}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title{height:40px;line-height:40px;padding:0 80px 0 40px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.1);position:absolute;top:0;left:0;right:0;border:0;overflow:hidden;-webkit-transition:none;transition:none;z-index:998}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li{min-width:auto;max-width:160px;line-height:40px;padding:0 30px 0 15px;border-right:1px solid #f6f6f6;overflow:hidden;text-overflow:ellipsis;vertical-align:top;-webkit-transition:background-color .2s;transition:background-color .2s}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this,.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:hover{background-color:#f6f6f6}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{height:2px;border:0;border-radius:0;background-color:#191a23}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:first-child{padding:0 15px}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li cite{font-style:normal}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title .layui-tab-bar{display:none}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close{width:16px;height:16px;line-height:16px;font-size:12px;border-radius:50%;position:absolute;top:12px;right:8px;-webkit-transition:background-color .2s,color .2s;transition:background-color .2s,color .2s}.layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:first-child .layui-tab-close{display:none}.admin-tabs-control{position:absolute;top:0;width:40px;height:40px;line-height:40px;background-color:#fff;border-left:1px solid #f6f6f6;-webkit-transition:background-color .2s;transition:background-color .2s;text-align:center;cursor:pointer;z-index:998}.admin-tabs-control:hover{background-color:#f6f6f6}.admin-tabs-control.layui-icon-prev{left:0;border-left:none;border-right:1px solid #f6f6f6}.admin-tabs-control.layui-icon-next{right:40px}.admin-tabs-control.layui-icon-down{right:0}.admin-tabs-control>.layui-nav,.admin-tabs-control>.layui-nav .layui-nav-item{position:absolute;top:0;left:0;padding:0;width:100%;height:100%;background:transparent}.admin-tabs-control>.layui-nav .layui-nav-child{right:0;top:40px;left:auto}.admin-tabs-control>.layui-nav .layui-nav-child a{color:#595959}.admin-tabs-control>.layui-nav .layui-nav-bar,.admin-tabs-control>.layui-nav .layui-nav-more{display:none}.layui-body-header{padding:0 20px;height:40px;line-height:40px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.1);box-sizing:border-box;position:absolute;left:0;right:0;z-index:998;display:none}.layui-body-header.show{display:block}.layui-body-header-title{padding-left:6px;border-left:4px solid #009688}.layui-body-header.show+div{position:absolute;left:0;right:0;top:40px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch}.hide-body-title .layui-body-header.show{display:none}.hide-body-title .layui-body-header.show+div{top:0}.layui-layout-admin .layui-body>.page-loading,.layui-layout-admin .layui-body>.layui-tab>.layui-tab-content>.layui-tab-item>.page-loading,.layui-layout-admin .layui-body>div>iframe[lay-id]+.page-loading{z-index:997}.layui-layer.layui-layer-adminRight{bottom:0;top:50px!important;border:none!important;box-shadow:1px 1px 50px rgba(0,0,0,.3)!important;overflow:auto}.layui-layer.layui-layer-adminRight0{bottom:0;top:0!important;border:none!important;box-shadow:1px 1px 50px rgba(0,0,0,.3)!important;overflow:auto}.layui-layer.layui-layer-adminRight>.layui-layer-content,.layui-layer.layui-layer-adminRight>.layui-layer-content>iframe{height:100%!important}.layui-layer.layui-layer-adminRight>.layui-layer-title+.layui-layer-content{position:absolute;top:43px;left:0;right:0;bottom:0;height:auto!important}.layui-anim-rl{-webkit-animation-name:layui-rl;animation-name:layui-rl}@-webkit-keyframes layui-rl{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes layui-rl{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}.layui-anim-lr,.layui-anim-rl.layer-anim-close{-webkit-animation-name:layui-lr;animation-name:layui-lr}@-webkit-keyframes layui-lr{from{-webkit-transform:translate3d(0,0,0);opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:1}}@keyframes layui-lr{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}.layui-layer.layui-layer-admin{border:none!important;box-shadow:1px 1px 50px rgba(0,0,0,.3)!important}.layui-layer.layui-layer-admin .layui-layer-title{color:#fff;height:50px;line-height:50px;background-color:#191a23;border:0}.layui-layer.layui-layer-admin .layui-layer-setwin{top:17px}.layui-layer.layui-layer-admin .layui-layer-setwin a{color:#fff;font-size:16px;font-style:normal;font-family:layui-icon!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-close1{background:0;margin-top:-1px}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-close1:before{content:"\1006"}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#ddd}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-max{font-size:14px;padding-top:1px;background:0}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-max:before{content:"\e622"}.layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-maxmin:before{content:"\e758"}.layui-layer.layui-layer-admin .layui-layer-btn{padding-bottom:15px}.layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#009688;background-color:#009688}.layui-layer.layui-layer-admin .layui-layer-btn a{height:34px;line-height:34px}.layui-layer-admin{max-width:100%}.layui-layer-iframe .layui-layer-content{overflow:auto;-webkit-overflow-scrolling:touch}@media screen and (max-width:768px){.layui-layer-admin{max-width:98%;max-width:-webkit-calc(100% - 30px);max-width:-moz-calc(100% - 30px);max-width:calc(100% - 30px);width:max-content;left:0!important;right:0!important;margin:auto!important;margin-bottom:15px!important}.layui-layer-admin[area]{max-width:100%;margin-bottom:0!important}}body .layui-layer-msg{border:0;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,0.1)}body .layui-layer-load{background:transparent}.page-loading{position:absolute;display:block;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:19891017;background-color:#fff}body>.page-loading{position:fixed;background-color:#f5f7f9}.layui-layout-admin>.layui-body>.layui-tab>.layui-tab-content>.layui-tab-item>.page-loading,.layui-layout-admin>.layui-body>.page-loading,.layui-layout-admin>.layui-body>div>iframe[lay-id]+.page-loading{background-color:#f5f7f9}.layui-layout-admin>.layui-body>.layui-body-header.show+div+.page-loading{top:40px;height:auto}.page-no-scroll{overflow-x:hidden!important;overflow-y:hidden!important;min-height:80px}.rubik-loader,.ball-loader,.signal-loader,.layui-loader{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ball-loader>span,.signal-loader>span{background-color:#4aca85;display:inline-block}.ball-loader>span:nth-child(1),.ball-loader.sm>span:nth-child(1),.signal-loader>span:nth-child(1),.signal-loader.sm>span:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.ball-loader>span:nth-child(2),.ball-loader.sm>span:nth-child(2),.signal-loader>span:nth-child(2),.signal-loader.sm>span:nth-child(2){-webkit-animation-delay:.1s;animation-delay:.1s}.ball-loader>span:nth-child(3),.ball-loader.sm>span:nth-child(3),.signal-loader>span:nth-child(3),.signal-loader.sm>span:nth-child(3){-webkit-animation-delay:.15s;animation-delay:.15s}.ball-loader>span:nth-child(4),.ball-loader.sm>span:nth-child(4),.signal-loader>span:nth-child(4),.signal-loader.sm>span:nth-child(4){-webkit-animation-delay:.2s;animation-delay:.2s}.rubik-loader{width:64px;height:64px;background-image:url(img/ic_loading.gif);background-repeat:no-repeat;background-position:center;background-size:contain}.rubik-loader.sm{width:50px;height:50px}.ball-loader>span{width:20px;height:20px;margin:0 3px;border-radius:50%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-animation:1s ball-load ease-in-out infinite;animation:ball-load 1s ease-in-out infinite}@-webkit-keyframes ball-load{0%{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}100%{-webkit-transform:scale(0)}}@keyframes ball-load{0%{transform:scale(0)}50%{transform:scale(1)}100%{transform:scale(0)}}.ball-loader.sm>span{width:15px;height:15px;margin:0 2px}.signal-loader{width:50px;height:22px}.signal-loader>span{width:8px;height:0;position:absolute;bottom:0;left:0;margin:0;-webkit-animation:signal-load 1s infinite;animation:signal-load 1s infinite}.signal-loader>span:nth-child(2){left:14px}.signal-loader>span:nth-child(3){left:28px}.signal-loader>span:nth-child(4){left:42px}@-webkit-keyframes signal-load{0%{height:0}50%{height:22px}100%{height:0}}@keyframes signal-load{0%{height:0}50%{height:22px}100%{height:0}}.signal-loader.sm{width:32px;height:15px}.signal-loader.sm>span{width:5px;-webkit-animation:signal-load-sm 1s infinite;animation:signal-load-sm 1s infinite}.signal-loader.sm>span:nth-child(2){left:9px}.signal-loader.sm>span:nth-child(3){left:18px}.signal-loader.sm>span:nth-child(4){left:27px}@-webkit-keyframes signal-load-sm{0%{height:0}50%{height:15px}100%{height:0}}@keyframes signal-load-sm{0%{height:0}50%{height:15px}100%{height:0}}.layui-loader .layui-icon{font-size:36px;color:#bbb}.layui-loader.sm .layui-icon{font-size:30px}.layui-form.toolbar .layui-form-item,.layui-form.toolbar .layui-form-item .layui-inline>.layui-input-inline{margin-bottom:0}.layui-form.toolbar .layui-form-item .layui-inline{margin-bottom:10px}.toolbar+.layui-table,.layui-card-body>.layui-table,.toolbar+table+.layui-table-view,.layui-card-body>.layui-table-view,.toolbar+table+.ew-tree-table{margin:0}.mr0,.layui-form.toolbar .layui-form-item .layui-inline>.layui-input-inline{margin-right:0!important}.w-auto{width:auto!important}.model-form{padding:25px 30px 0 0}.model-form.no-padding{padding:0}.model-form .model-form-body{overflow-y:auto;padding:25px 30px 0 0;max-height:calc(100vh - 180px)}.model-form.no-padding .model-form-footer{padding-top:10px;padding-right:30px}.layui-form.model-form>.layui-form-item:last-child{margin-bottom:0;padding-bottom:20px}.layui-form-required:before{content:"*";display:inline-block;font-family:SimSun;margin-right:4px;font-size:14px;line-height:1;color:#ed4014}.layui-input,.layui-textarea{color:#595959}.layui-form-select .layui-input{padding-right:0}.layui-form-select-top .layui-form-select>dl{top:auto;bottom:42px}.ew-select-fixed .layui-form-selected dl{position:fixed;min-width:auto;bottom:auto;right:auto}body .layui-form-checked[lay-skin=primary] i,body .layui-form-checked[lay-skin=primary]:hover i{color:#fff}body .layui-form-checkbox[lay-skin=primary] span,body .layui-form-checkbox[lay-skin=primary]:hover span{background-color:transparent}body .layui-form-danger+.layui-form-select .layui-input,body .layui-input.layui-form-danger:focus,body .layui-textarea.layui-form-danger:focus{border-color:#ff5722!important}body .layui-laypage input.layui-input{height:30px;line-height:30px}body .layui-table-page .layui-laypage input.layui-input{height:26px;line-height:26px}body .layui-form-onswitch em{margin-left:3px;margin-right:18px}.layui-btn{-webkit-transition:background-color .2s;transition:background-color .2s}body .layui-btn.layui-btn-radius{border-radius:100px}.layui-btn-primary{color:#595959;border-color:#e6e6e6}.layui-btn-primary:hover{border-color:#bbb}.layui-btn-group .layui-btn-primary:hover{border-color:#e6e6e6}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #e6e6e6}body .layui-btn.layui-btn-disabled,body .layui-transfer-active .layui-btn.layui-btn-disabled{background-color:#fbfbfb!important;border-color:#e6e6e6!important;color:#c9c9c9!important}body .layui-btn.layui-btn-primary{background-color:#fff}body .layui-btn.layui-btn-normal{background-color:#1e9fff}body .layui-btn.layui-btn-warm{background-color:#ffb800}body .layui-btn.layui-btn-danger{background-color:#ff5722}.layui-btn-group>.layui-btn+.layui-btn{border-radius:0}.layui-btn-group>.layui-btn:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px}body .layui-transfer-active .layui-btn{background-color:#5fb878!important;border-color:#5fb878!important;color:#fff!important}.btn-circle{width:50px;height:50px;line-height:50px;border-radius:50%;background:#009688;position:fixed;right:15px;bottom:15px;color:#fff;text-align:center;box-shadow:0 0 8px rgba(0,0,0,.2);cursor:pointer}.btn-circle:hover{color:#fff;opacity:.8}.btn-circle .layui-icon{font-size:24px}.icon-date,.date-icon{background-image:url(img/icon_date.png);background-repeat:no-repeat;background-position:right center;padding-right:28px}.icon-search{background-image:url(img/icon_search.png);background-repeat:no-repeat;background-position:right center;padding-right:26px}span.icon-text>.layui-icon,a.icon-text>.layui-icon,.layui-form-label.icon-text>.layui-icon{font-size:14px;margin:0 2px}.layui-btn.icon-btn{padding:0 10px}.layui-btn.layui-btn-sm.icon-btn{padding:0 6px}.bg-white,html.bg-white>body{background-color:white}[ew-href],[lay-tips]{cursor:pointer}.inline-block{display:inline-block}.pull-right{float:right}.pull-left{float:left}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary,.layui-link{color:#009688!important}.text-success{color:#5fb878!important}.text-warning{color:#ffb800!important}.text-danger{color:#ff5722!important}.text-info{color:#01aaed!important}.text-muted{color:#c2c2c2!important}.layui-text a:not(.layui-btn){color:#2d8cf0;cursor:pointer}.layui-text a:not(.layui-btn):hover{text-decoration:none}.ew-console-wrapper .layui-card{box-shadow:none;border-radius:4px}.layui-card-header{color:#595959}.lay-big-font{font-size:36px;line-height:36px;padding:5px 0 10px;overflow:hidden;white-space:nowrap;word-break:break-all;text-overflow:ellipsis}.no-scrollbar{overflow-x:hidden!important;overflow-y:hidden!important}input.layui-disabled,input.layui-disabled:hover,textarea.layui-disabled,textarea.layui-disabled:hover{color:#595959!important;background-color:#f6f6f6}.layui-input::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{color:#ccc}.layui-input::-moz-placeholder,.layui-textarea::-moz-placeholder{color:#ccc}.layui-input::-ms-input-placeholder,.layui-textarea::-ms-input-placeholder{color:#ccc}.dropdown-menu{display:inline-block}.dropdown-menu .dropdown-menu-nav{display:none}.dropdown-menu+.dropdown-menu,.layui-btn+.dropdown-menu,.dropdown-menu+.layui-btn{margin-left:10px}::-webkit-scrollbar{width:10px;height:10px;background:transparent}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:5px;background-color:#c1c1c1}::-webkit-scrollbar-thumb:hover{background-color:#a8a8a8}.mini-bar::-webkit-scrollbar{width:6px;height:6px}.mini-bar::-webkit-scrollbar-thumb{border-radius:3px}@media screen and (max-width:768px){::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{border-radius:0}}#ew-map-select-map{height:450px}#ew-map-select-pois{height:450px;overflow-x:hidden;overflow-y:auto}.ew-map-select-search-list-item{padding:10px 30px 10px 15px;border-bottom:1px solid #e8e8e8;cursor:pointer;position:relative}.ew-map-select-search-list-item:hover{background:#f2f2f2}.ew-map-select-search-list-item:last-child{border-bottom:0}.ew-map-select-search-list-item .ew-map-select-search-list-item-title{font-size:14px;color:#262626}.ew-map-select-search-list-item .ew-map-select-search-list-item-address{font-size:12px;color:#595959;padding-top:5px}.ew-map-select-search-list-item-icon-ok{position:absolute;right:15px;top:50%;transform:translateY(-50%)}.ew-map-select-search-list-item-icon-ok .layui-icon{color:#3b74ff}.ew-map-select-tool{padding:5px 15px;box-shadow:0 1px 0 0 rgba(0,0,0,.05)}#ew-map-select-center-img{position:absolute;bottom:50%;left:50%;width:26px;margin-left:-13px}#ew-map-select-center-img2{position:absolute;left:50%;top:50%;font-size:12px;display:inline-block;margin-left:-6px;margin-top:-7px;color:#3b74ff}.bounceInDown{animation:bounceInDown 500ms;animation-direction:alternate;-webkit-animation:bounceInDown 500ms;-webkit-animation-direction:alternate}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%,to{-webkit-transform:translate3d(0,0,0)}25%{-webkit-transform:translate3d(0,-30px,0)}50%{-webkit-transform:translate3d(0,-15px,0)}75%{-webkit-transform:translate3d(0,-4px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%,to{transform:translate3d(0,0,0)}25%{transform:translate3d(0,-10px,0)}50%{transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,-10px,0)}}#ew-map-select-tips{position:absolute;z-index:999;background:#fff;max-height:430px;overflow:auto;top:48px;left:56px;width:280px;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #d2d2d2}#ew-map-select-tips .ew-map-select-search-list-item{padding:10px 15px 10px 35px}.ew-map-select-search-list-item-icon-search{position:absolute;left:10px;top:50%;transform:translateY(-50%)}.ew-map-select-search-list-item-icon-search .layui-icon{color:#8c8c8c}.table-tool-mini .layui-table-view{position:relative}.table-tool-mini .layui-table-tool{position:absolute;min-height:unset;height:auto;padding:3px 10px;width:auto;top:-38px;right:-1px;border-top-right-radius:8px;border-top-left-radius:8px;border:1px solid #e6e6e6;border-bottom:0}.table-tool-mini .layui-table-tool .layui-table-tool-temp{padding-right:0;display:inline-block}.table-tool-mini .layui-table-tool .layui-table-tool-self{position:static;display:inline-block}.table-tool-mini .layui-table-tool .layui-table-tool-self .layui-inline[lay-event]:first-child{margin:0}.table-tool-mini.full-table .layui-table-tool{top:-35px;height:1px;padding:0 10px;background:transparent;border:0}.table-tool-mini.full-table .layui-table-tool:before{content:"";position:absolute;top:-3px;right:0;left:0;height:36px;background-color:#f2f2f2;border-top-right-radius:8px;border-top-left-radius:8px;border:1px solid #e6e6e6;border-bottom:0}@media screen and (max-width:768px){.layui-laydate-range{left:0!important;top:0!important;right:0!important;margin:10px auto!important;max-width:95%}.layui-laydate-range .layui-laydate-main,.layui-laydate-range .layui-laydate-content table{width:100%}.layui-laydate-range .laydate-main-list-0 .laydate-next-m,.layui-laydate-range .laydate-main-list-0 .laydate-next-y,.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range .laydate-main-list-1 .laydate-prev-y{display:inline-block!important}.layui-laydate-range .laydate-main-list-1 .layui-laydate-header{border-top:1px solid #e2e2e2}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:none!important}.layui-laydate-range .laydate-time-list ol li{padding-left:0!important;text-align:center}.layui-laydate-range .laydate-time-list ol{overflow:auto!important}}.layui-tree-spread>div>div>span>.layui-tree-iconArrow:after{border-color:#c0c4cc transparent transparent transparent;top:6px;left:0}.layui-tree .layui-tree-iconArrow:after{transition:none}.ew-tb-cell-ck .layui-form-checkbox[lay-skin=primary]{padding-left:22px}.ew-tb-cell-ck .layui-form-checkbox[lay-skin=primary] span{padding-right:5px}.ew-field-group>.layui-elem-field{border-bottom:0;margin:0}.ew-field-group>.ew-field-box{border:1px solid #e6e6e6;padding:10px 15px;border-top:0}body .layui-elem-quote.layui-quote-nm{border-color:#e6e6e6}.layui-card>.layui-tab-brief>.layui-tab-title li{padding:0 5px;margin:0 10px;line-height:43px;height:43px;transition:color .2s;-webkit-transition:color .2s}.layui-card>.layui-tab-brief>.layui-tab-title li:after{height:43px}.layui-card>.layui-tab-brief>.layui-tab-title{border-bottom-color:#f6f6f6;height:42px;transition:none;-webkit-transition:none}.layui-card>.layui-tab-brief>.layui-tab-content{padding:10px 15px}.layui-tab.layui-tab-vertical{position:relative}.layui-tab.layui-tab-vertical:after{content:"";clear:both;display:block}.layui-tab.layui-tab-vertical>.layui-tab-title{width:130px;height:auto;border:0;border-right:1px solid #e9e9e9;box-sizing:border-box;padding:10px 0;float:left}.layui-tab.layui-tab-vertical>.layui-tab-title>li{display:block;margin-right:-1px;border-right:2px solid transparent;white-space:normal;line-height:normal;padding:10px 20px;text-align:right}.layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-right:2px solid #5fb878;color:#5fb878}.layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this:after{display:none}.layui-tab.layui-tab-vertical>.layui-tab-title>li>.layui-icon{font-size:14px;margin-right:5px}.layui-tab.layui-tab-vertical>.layui-tab-content{margin-left:130px}.layui-tab.layui-tab-vertical.layui-tab-vertical-right>.layui-tab-title{float:right;border-right:0;border-left:1px solid #e9e9e9}.layui-tab.layui-tab-vertical.layui-tab-vertical-right>.layui-tab-content{margin-left:0;margin-right:130px}.layui-tab.layui-tab-vertical.layui-tab-vertical-right>.layui-tab-title>li{text-align:left;border-left:2px solid transparent;border-right:0}.layui-tab.layui-tab-vertical.layui-tab-vertical-right>.layui-tab-title>li.layui-this{border-left:2px solid #5fb878}.layui-tab.layui-tab-vertical.layui-tab-vertical-full>.layui-tab-title{position:absolute;top:0;left:0;right:auto;min-height:100%}.layui-tab.layui-tab-vertical.layui-tab-vertical-right.layui-tab-vertical-full>.layui-tab-title{right:0;left:auto}.ew-btn-loading{opacity:.8;pointer-events:none;font-size:0!important}.ew-btn-loading *{display:none!important}.ew-btn-loading>.ew-btn-loading-text{font-size:14px!important;display:inline-block!important}.ew-btn-loading.layui-btn-sm>.ew-btn-loading-text,.ew-btn-loading.layui-btn-xs>.ew-btn-loading-text{font-size:12px!important}.ew-btn-loading.layui-btn-lg>.ew-btn-loading-text{font-size:16px!important}.ew-btn-loading>.ew-btn-loading-text *{display:inline-block!important}.form-search-expand,.form-search-expand:hover{padding:0!important;color:#2d8cf0!important;border:none!important;box-shadow:none!important;background-color:transparent!important}.form-search-expand .layui-icon{font-size:12px!important;font-weight:600!important}.form-search-show-expand{display:none!important}.layui-badge-green{color:#52c41a;background:#f6ffed;border:1px solid #b7eb8f}.layui-badge-blue{color:#1890ff;background:#e6f7ff;border:1px solid #91d5ff}.layui-badge-red{color:#f5222d;background:#fff1f0;border:1px solid #ffa39e}.layui-badge-yellow{color:#faad14;background:#fffbe6;border:1px solid #ffe58f}.layui-badge-gray{color:#8c8c8c;background:#fafafa;border:1px solid #ccc}.layui-badge{height:20px;line-height:19px;box-sizing:border-box}.layui-badge-list .layui-badge{height:23px;line-height:22px;margin:0 6px 8px 0}.layui-badge-list .layui-badge.layui-bg-gray{border:1px solid #ccc;background-color:#fafafa!important}.layui-card .layui-card-header .layui-badge.pull-right{top:50%;margin-top:-10px}#ew-lock-screen-group{position:fixed;top:0;left:0;right:0;bottom:0;z-index:19891099}.ios-iframe-body{position:absolute;top:0;left:0;right:0;bottom:0}xm-select>.xm-body{margin-left:-2px}xm-select>.xm-body .xm-option{background-color:transparent!important}xm-select>.xm-body .xm-option.hide-icon.selected{background-color:#5fb878!important}xm-select>.xm-body .xm-option:hover{background-color:#f2f2f2!important}.xm-body .xm-tree{min-width:200px}.xm-body .xm-tree .xm-option-content{padding-left:6px}xm-select{border-color:#e6e6e6!important}xm-select:hover{border-color:#d2d2d2!important}xm-select[style="border-color: rgb(229, 77, 66);"]{border-color:#e54d42!important}body .ew-xmselect-tree xm-select .xm-body .xm-option .xm-option-icon{position:absolute;left:30px;top:0;right:0;bottom:0;width:auto;height:auto;border:none!important;z-index:1}body .ew-xmselect-tree xm-select .xm-body .xm-option .xm-option-icon:before{display:none}body .ew-xmselect-tree xm-select .xm-body .xm-option.selected{background-color:#f2f2f2!important}body .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#5fb878!important}.theme-blue .layui-layout-admin .layui-header .layui-logo{color:#fff;box-shadow:none;background-color:transparent}.theme-blue .layui-layout-admin .layui-header{background-color:#3c8dbc}.theme-blue .layui-layout-admin .layui-header a{color:#fff}.theme-blue .layui-layout-admin .layui-header a:hover{color:#fff}.theme-blue .layui-layout-admin .layui-header .layui-nav-child a{color:#595959}.theme-blue .layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#eee transparent transparent}.theme-blue .layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #eee}.theme-blue .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-blue .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fff}.theme-blue .layui-layout-admin .layui-side{background-color:#222d32}.theme-blue .layui-side .layui-nav .layui-nav-item a{color:#b8c7ce}.theme-blue .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-blue .layui-nav-tree .layui-this>a,.theme-blue .layui-nav-tree .layui-this>a:hover{color:#fff;background-color:#3c8dbc}.theme-blue .layui-nav-tree>.layui-nav-item>a:before{background-color:#3c8dbc}.theme-blue .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#222d32!important}.theme-blue .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#3c8dbc;top:38px}.theme-blue .layui-body-header-title{border-left-color:#3c8dbc}.theme-blue .layui-layer.layui-layer-admin .layui-layer-title{background-color:#3c8dbc}.theme-blue .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#3c8dbc;background-color:#3c8dbc}.theme-blue .ball-loader>span,.theme-blue .signal-loader>span{background-color:#3c8dbc}.theme-blue .btn-circle{background:#3c8dbc}.theme-blue .more-theme-item:hover,.theme-blue .more-theme-item.active{border-color:#3c8dbc}.theme-blue .text-primary,.theme-blue .layui-link{color:#3c8dbc!important}.theme-blue .layui-btn{background-color:#3c8dbc}.theme-blue .layui-form-onswitch{border-color:#3c8dbc;background-color:#3c8dbc}.theme-blue .layui-form-radio>i:hover,.theme-blue .layui-form-radioed>i,.theme-blue .layui-form-checked i,.theme-blue .layui-form-checked:hover i{color:#3c8dbc}.theme-blue .layui-form-checked[lay-skin=primary] i,.theme-blue .layui-form-checked span,.theme-blue .layui-form-checked:hover span{border-color:#3c8dbc!important;background-color:#3c8dbc}.theme-blue .layui-form-checked[lay-skin=primary] i:hover,.theme-blue .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#3c8dbc!important}.theme-blue .layui-form-select dl dd.layui-this{background-color:#3c8dbc}.theme-blue .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#3c8dbc}.theme-blue .layui-laypage input:focus,.theme-blue .layui-laypage select:focus{border-color:#3c8dbc!important}.theme-blue .layui-laypage a:hover{color:#3c8dbc}.theme-blue .layui-tab-brief>.layui-tab-title .layui-this{color:#3c8dbc}.theme-blue .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-blue .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#3c8dbc!important}.theme-blue .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#3c8dbc;color:#3c8dbc}.theme-blue .layui-breadcrumb a:hover{color:#3c8dbc!important}.theme-blue .layui-laydate-footer span:hover,.theme-blue .layui-laydate-header i:hover,.theme-blue .layui-laydate-header span:hover{color:#3c8dbc}.theme-blue .layui-laydate .layui-this{background-color:#3c8dbc!important}.theme-blue .layui-laydate-content td.laydate-selected{background-color:rgba(60,141,188,.1)}.theme-blue .laydate-selected:hover{background-color:rgba(60,141,188,.1)!important}.theme-blue .layui-timeline-axis{color:#3c8dbc}.theme-blue .layui-transfer-active .layui-btn{background-color:#3c8dbc!important;border-color:#3c8dbc!important}.theme-blue .layui-progress-bar{background-color:#3c8dbc}.theme-blue .layui-slider-bar{background-color:#3c8dbc!important}.theme-blue .layui-slider-wrap-btn{border-color:#3c8dbc!important}.theme-blue .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#3c8dbc}.theme-blue .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-blue .layui-elem-quote{border-color:#3c8dbc}.theme-blue .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-blue .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#3c8dbc}.theme-blue .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#9dc6dd}.theme-blue .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#3c8dbc}.theme-blue .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#9dc6dd!important}.theme-blue .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#3c8dbc!important}.theme-blue .ew-cascader-dropdown-list-item.active,.theme-blue .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#3c8dbc}.theme-blue div.tagsinput span.tag{background:#3c8dbc}.theme-blue xm-select .xm-body .xm-option .xm-option-icon{border-color:#3c8dbc!important}.theme-blue xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-blue xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-blue .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#3c8dbc!important}.theme-blue xm-select .xm-label .xm-label-block,.theme-blue xm-select .xm-body .xm-option.hide-icon.selected{background-color:#3c8dbc!important}.theme-blue .city-select a.active{color:#fff!important;background-color:#3c8dbc!important}.theme-blue .city-select a:hover,.theme-blue .city-select a:focus{background-color:rgba(60,141,188,.1);color:#3c8dbc}.theme-blue .city-picker-span>.title>span:hover{background-color:rgba(60,141,188,.1)}.theme-blue .city-select-tab>a.active{color:#3c8dbc}.theme-green .layui-layout-admin .layui-header .layui-logo{color:#fff;box-shadow:none;background-color:transparent}.theme-green .layui-layout-admin .layui-header{background-color:#00a65a}.theme-green .layui-layout-admin .layui-header a{color:#fff}.theme-green .layui-layout-admin .layui-header a:hover{color:#fff}.theme-green .layui-layout-admin .layui-header .layui-nav-child a{color:#595959}.theme-green .layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#eee transparent transparent}.theme-green .layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #eee}.theme-green .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-green .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fff}.theme-green .layui-layout-admin .layui-side{background-color:#222d32}.theme-green .layui-side .layui-nav .layui-nav-item a{color:#b8c7ce}.theme-green .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-green .layui-nav-tree .layui-this>a,.theme-green .layui-nav-tree .layui-this>a:hover{color:#fff;background-color:#00a65a}.theme-green .layui-nav-tree>.layui-nav-item>a:before{background-color:#00a65a}.theme-green .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#222d32!important}.theme-green .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#00a65a;top:38px}.theme-green .layui-body-header-title{border-left-color:#00a65a}.theme-green .layui-layer.layui-layer-admin .layui-layer-title{background-color:#00a65a}.theme-green .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#00a65a;background-color:#00a65a}.theme-green .more-theme-item:hover,.theme-green .more-theme-item.active{border-color:#00a65a}.theme-green .btn-circle{background:#00a65a}.theme-green .ball-loader>span,.theme-green .signal-loader>span{background-color:#00a65a}.theme-green .text-primary,.theme-green .layui-link{color:#00a65a!important}.theme-green .layui-btn{background-color:#00a65a}.theme-green .layui-form-onswitch{border-color:#00a65a;background-color:#00a65a}.theme-green .layui-form-radio>i:hover,.theme-green .layui-form-radioed>i,.theme-green .layui-form-checked i,.theme-green .layui-form-checked:hover i{color:#00a65a}.theme-green .layui-form-checked[lay-skin=primary] i,.theme-green .layui-form-checked span,.theme-green .layui-form-checked:hover span{border-color:#00a65a!important;background-color:#00a65a}.theme-green .layui-form-checked[lay-skin=primary] i:hover,.theme-green .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#00a65a!important}.theme-green .layui-form-select dl dd.layui-this{background-color:#00a65a}.theme-green .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#00a65a}.theme-green .layui-laypage input:focus,.theme-green .layui-laypage select:focus{border-color:#00a65a!important}.theme-green .layui-laypage a:hover{color:#00a65a}.theme-green .layui-tab-brief>.layui-tab-title .layui-this{color:#00a65a}.theme-green .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-green .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#00a65a!important}.theme-green .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#00a65a;color:#00a65a}.theme-green .layui-breadcrumb a:hover{color:#00a65a!important}.theme-green .layui-laydate-footer span:hover,.theme-green .layui-laydate-header i:hover,.theme-green .layui-laydate-header span:hover{color:#00a65a}.theme-green .layui-laydate .layui-this{background-color:#00a65a!important}.theme-green .layui-laydate-content td.laydate-selected{background-color:rgba(0,166,90,.1)}.theme-green .laydate-selected:hover{background-color:rgba(0,166,90,.1)!important}.theme-green .layui-timeline-axis{color:#00a65a}.theme-green .layui-transfer-active .layui-btn{background-color:#00a65a!important;border-color:#00a65a!important}.theme-green .layui-progress-bar{background-color:#00a65a}.theme-green .layui-slider-bar{background-color:#00a65a!important}.theme-green .layui-slider-wrap-btn{border-color:#00a65a!important}.theme-green .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#00a65a}.theme-green .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-green .layui-elem-quote{border-color:#00a65a}.theme-green .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-green .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#00a65a}.theme-green .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#7fd2ac}.theme-green .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#00a65a}.theme-green .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#7fd2ac!important}.theme-green .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#00a65a!important}.theme-green .ew-cascader-dropdown-list-item.active,.theme-green .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#00a65a}.theme-green div.tagsinput span.tag{background:#00a65a}.theme-green xm-select .xm-body .xm-option .xm-option-icon{border-color:#00a65a!important}.theme-green xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-green xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-green .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#00a65a!important}.theme-green xm-select .xm-label .xm-label-block,.theme-green xm-select .xm-body .xm-option.hide-icon.selected{background-color:#00a65a!important}.theme-green .city-select a.active{color:#fff!important;background-color:#00a65a!important}.theme-green .city-select a:hover,.theme-green .city-select a:focus{background-color:rgba(0,166,90,.1);color:#00a65a}.theme-green .city-picker-span>.title>span:hover{background-color:rgba(0,166,90,.1)}.theme-green .city-select-tab>a.active{color:#00a65a}.theme-purple .layui-layout-admin .layui-header .layui-logo{color:#fff;box-shadow:none;background-color:transparent}.theme-purple .layui-layout-admin .layui-header{background-color:#722ed1}.theme-purple .layui-layout-admin .layui-header a{color:#fff}.theme-purple .layui-layout-admin .layui-header a:hover{color:#fff}.theme-purple .layui-layout-admin .layui-header .layui-nav-child a{color:#595959}.theme-purple .layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#eee transparent transparent}.theme-purple .layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #eee}.theme-purple .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-purple .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fff}.theme-purple .layui-layout-admin .layui-side{background-color:#222d32}.theme-purple .layui-side .layui-nav .layui-nav-item a{color:#b8c7ce}.theme-purple .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-purple .layui-nav-tree .layui-this>a,.theme-purple .layui-nav-tree .layui-this>a:hover{color:#fff;background-color:#722ed1}.theme-purple .layui-nav-tree>.layui-nav-item>a:before{background-color:#722ed1}.theme-purple .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#222d32!important}.theme-purple .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#722ed1;top:38px}.theme-purple .layui-body-header-title{border-left-color:#722ed1}.theme-purple .layui-layer.layui-layer-admin .layui-layer-title{background-color:#722ed1}.theme-purple .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#722ed1;background-color:#722ed1}.theme-purple .more-theme-item:hover,.theme-purple .more-theme-item.active{border-color:#722ed1}.theme-purple .btn-circle{background:#722ed1}.theme-purple .ball-loader>span,.theme-purple .signal-loader>span{background-color:#722ed1}.theme-purple .text-primary,.theme-purple .layui-link{color:#722ed1!important}.theme-purple .layui-btn{background-color:#722ed1}.theme-purple .layui-form-onswitch{border-color:#722ed1;background-color:#722ed1}.theme-purple .layui-form-radio>i:hover,.theme-purple .layui-form-radioed>i,.theme-purple .layui-form-checked i,.theme-purple .layui-form-checked:hover i{color:#722ed1}.theme-purple .layui-form-checked[lay-skin=primary] i,.theme-purple .layui-form-checked span,.theme-purple .layui-form-checked:hover span{border-color:#722ed1!important;background-color:#722ed1}.theme-purple .layui-form-checked[lay-skin=primary] i:hover,.theme-purple .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#722ed1!important}.theme-purple .layui-form-select dl dd.layui-this{background-color:#722ed1}.theme-purple .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#722ed1}.theme-purple .layui-laypage input:focus,.theme-purple .layui-laypage select:focus{border-color:#722ed1!important}.theme-purple .layui-laypage a:hover{color:#722ed1}.theme-purple .layui-tab-brief>.layui-tab-title .layui-this{color:#722ed1}.theme-purple .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-purple .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#722ed1!important}.theme-purple .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#722ed1;color:#722ed1}.theme-purple .layui-breadcrumb a:hover{color:#722ed1!important}.theme-purple .layui-laydate-footer span:hover,.theme-purple .layui-laydate-header i:hover,.theme-purple .layui-laydate-header span:hover{color:#722ed1}.theme-purple .layui-laydate .layui-this{background-color:#722ed1!important}.theme-purple .layui-laydate-content td.laydate-selected{background-color:rgba(114,46,209,.1)}.theme-purple .laydate-selected:hover{background-color:rgba(114,46,209,.1)!important}.theme-purple .layui-timeline-axis{color:#722ed1}.theme-purple .layui-transfer-active .layui-btn{background-color:#722ed1!important;border-color:#722ed1!important}.theme-purple .layui-progress-bar{background-color:#722ed1}.theme-purple .layui-slider-bar{background-color:#722ed1!important}.theme-purple .layui-slider-wrap-btn{border-color:#722ed1!important}.theme-purple .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#722ed1}.theme-purple .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-purple .layui-elem-quote{border-color:#722ed1}.theme-purple .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-purple .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#722ed1}.theme-purple .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#b896e8}.theme-purple .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#722ed1}.theme-purple .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#b896e8!important}.theme-purple .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#722ed1!important}.theme-purple .ew-cascader-dropdown-list-item.active,.theme-purple .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#722ed1}.theme-purple div.tagsinput span.tag{background:#722ed1}.theme-purple xm-select .xm-body .xm-option .xm-option-icon{border-color:#722ed1!important}.theme-purple xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-purple xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-purple .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#722ed1!important}.theme-purple xm-select .xm-label .xm-label-block,.theme-purple xm-select .xm-body .xm-option.hide-icon.selected{background-color:#722ed1!important}.theme-purple .city-select a.active{color:#fff!important;background-color:#722ed1!important}.theme-purple .city-select a:hover,.theme-purple .city-select a:focus{background-color:rgba(114,46,209,.1);color:#722ed1}.theme-purple .city-picker-span>.title>span:hover{background-color:rgba(114,46,209,.1)}.theme-purple .city-select-tab>a.active{color:#722ed1}.theme-red .layui-layout-admin .layui-header .layui-logo{color:#fff;box-shadow:none;background-color:transparent}.theme-red .layui-layout-admin .layui-header{background-color:#dd4b39}.theme-red .layui-layout-admin .layui-header a{color:#fff}.theme-red .layui-layout-admin .layui-header a:hover{color:#fff}.theme-red .layui-layout-admin .layui-header .layui-nav-child a{color:#595959}.theme-red .layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-color:#eee transparent transparent}.theme-red .layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #eee}.theme-red .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-red .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fff}.theme-red .layui-layout-admin .layui-side{background-color:#28333e}.theme-red .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-red .layui-nav-tree .layui-this>a,.theme-red .layui-nav-tree .layui-this>a:hover{background-color:#dd4b39}.theme-red .layui-nav-tree>.layui-nav-item>a:before{background-color:#dd4b39}.theme-red .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#28333e!important}.theme-red .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#dd4b39;top:38px}.theme-red .layui-body-header-title{border-left-color:#dd4b39}.theme-red .layui-layer.layui-layer-admin .layui-layer-title{background-color:#dd4b39}.theme-red .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#dd4b39;background-color:#dd4b39}.theme-red .more-theme-item:hover,.theme-red .more-theme-item.active{border-color:#dd4b39}.theme-red .btn-circle{background:#dd4b39}.theme-red .ball-loader>span,.theme-red .signal-loader>span{background-color:#dd4b39}.theme-red .text-primary,.theme-red .layui-link{color:#dd4b39!important}.theme-red .layui-btn{background-color:#dd4b39}.theme-red .layui-form-onswitch{border-color:#dd4b39;background-color:#dd4b39}.theme-red .layui-form-radio>i:hover,.theme-red .layui-form-radioed>i,.theme-red .layui-form-checked i,.theme-red .layui-form-checked:hover i{color:#dd4b39}.theme-red .layui-form-checked[lay-skin=primary] i,.theme-red .layui-form-checked span,.theme-red .layui-form-checked:hover span{border-color:#dd4b39!important;background-color:#dd4b39}.theme-red .layui-form-checked[lay-skin=primary] i:hover,.theme-red .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#dd4b39!important}.theme-red .layui-form-select dl dd.layui-this{background-color:#dd4b39}.theme-red .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#dd4b39}.theme-red .layui-laypage input:focus,.theme-red .layui-laypage select:focus{border-color:#dd4b39!important}.theme-red .layui-laypage a:hover{color:#dd4b39}.theme-red .layui-tab-brief>.layui-tab-title .layui-this{color:#dd4b39}.theme-red .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-red .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#dd4b39!important}.theme-red .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#dd4b39;color:#dd4b39}.theme-red .layui-breadcrumb a:hover{color:#dd4b39!important}.theme-red .layui-laydate-footer span:hover,.theme-red .layui-laydate-header i:hover,.theme-red .layui-laydate-header span:hover{color:#dd4b39}.theme-red .layui-laydate .layui-this{background-color:#dd4b39!important}.theme-red .layui-laydate-content td.laydate-selected{background-color:rgba(221,75,57,.1)}.theme-red .laydate-selected:hover{background-color:rgba(221,75,57,.1)!important}.theme-red .layui-timeline-axis{color:#dd4b39}.theme-red .layui-transfer-active .layui-btn{background-color:#dd4b39!important;border-color:#dd4b39!important}.theme-red .layui-progress-bar{background-color:#dd4b39}.theme-red .layui-slider-bar{background-color:#dd4b39!important}.theme-red .layui-slider-wrap-btn{border-color:#dd4b39!important}.theme-red .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#dd4b39}.theme-red .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-red .layui-elem-quote{border-color:#dd4b39}.theme-red .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-red .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#dd4b39}.theme-red .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#eea39a}.theme-red .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#dd4b39}.theme-red .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#eea39a!important}.theme-red .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#dd4b39!important}.theme-red .ew-cascader-dropdown-list-item.active,.theme-red .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#dd4b39}.theme-red div.tagsinput span.tag{background:#dd4b39}.theme-red xm-select .xm-body .xm-option .xm-option-icon{border-color:#dd4b39!important}.theme-red xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-red xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-red .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#dd4b39!important}.theme-red xm-select .xm-label .xm-label-block,.theme-red xm-select .xm-body .xm-option.hide-icon.selected{background-color:#dd4b39!important}.theme-red .city-select a.active{color:#fff!important;background-color:#dd4b39!important}.theme-red .city-select a:hover,.theme-red .city-select a:focus{background-color:rgba(221,75,57,.1);color:#dd4b39}.theme-red .city-picker-span>.title>span:hover{background-color:rgba(221,75,57,.1)}.theme-red .city-select-tab>a.active{color:#dd4b39}.theme-cyan .layui-layout-admin .layui-header .layui-logo{background-color:#001529}.theme-cyan .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-cyan .layui-layout-admin .layui-header .layui-nav-bar{background-color:#001529}.theme-cyan .layui-layout-admin .layui-side{background-color:#001529}.theme-cyan .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-cyan .layui-nav-tree .layui-this>a,.theme-cyan .layui-nav-tree .layui-this>a:hover{background-color:#1890ff}.theme-cyan .layui-nav-tree>.layui-nav-item>a:before{background-color:#1890ff}.theme-cyan .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#001529!important}.theme-cyan .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{background-color:#001529}.theme-cyan .layui-body-header-title{border-left-color:#1890ff}.theme-cyan .layui-layer.layui-layer-admin{border-radius:4px}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-title{color:#333;font-size:16px;padding-left:23px;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #f1f1f1}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-setwin a{color:#8c8c8c;font-weight:600}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#8c8c8c}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-btn a{height:32px;line-height:32px;border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-cyan .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#1890ff;background-color:#1890ff}.theme-cyan .more-theme-item:hover,.theme-cyan .more-theme-item.active{border-color:#1890ff}.theme-cyan .btn-circle{background:#1890ff}.theme-cyan .ball-loader>span,.theme-cyan .signal-loader>span{background-color:#1890ff}.theme-cyan .text-primary,.theme-cyan .layui-link{color:#1890ff!important}.theme-cyan .layui-btn{height:36px;line-height:36px;border-radius:4px;background-color:#1890ff;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-cyan .layui-btn-lg{height:42px;line-height:42px}.theme-cyan .layui-btn-sm{height:28px;line-height:28px}.theme-cyan .layui-btn-xs{height:22px;line-height:22px}.theme-cyan .layui-input,.theme-cyan .layui-select,.theme-cyan .layui-textarea,.theme-cyan xm-select{height:36px;border-radius:4px}.theme-cyan .layui-input:focus,.theme-cyan .layui-textarea:focus,.theme-cyan xm-select:hover{border-color:#40a9ff!important}.theme-cyan .layui-form-label,.theme-cyan .layui-form-mid{padding-top:8px;padding-bottom:8px}.theme-cyan .layui-input-block{min-height:36px}.theme-cyan .layui-form-radio{margin-top:4px}.theme-cyan .layui-form-onswitch{border-color:#1890ff;background-color:#1890ff}.theme-cyan .layui-form-radio>i:hover,.theme-cyan .layui-form-radioed>i,.theme-cyan .layui-form-checked i,.theme-cyan .layui-form-checked:hover i{color:#1890ff}.theme-cyan .layui-form-checked[lay-skin=primary] i,.theme-cyan .layui-form-checked span,.theme-cyan .layui-form-checked:hover span{border-color:#1890ff!important;background-color:#1890ff}.theme-cyan .layui-form-checked[lay-skin=primary] i:hover,.theme-cyan .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#1890ff!important}.theme-cyan .layui-form-select dl dd.layui-this{background-color:#1890ff}.theme-cyan .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#1890ff}.theme-cyan .layui-laypage input:focus,.theme-cyan .layui-laypage select:focus{border-color:#1890ff!important}.theme-cyan .layui-laypage a:hover{color:#1890ff}.theme-cyan .layui-tab-brief>.layui-tab-title .layui-this{color:#1890ff}.theme-cyan .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-cyan .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#1890ff!important}.theme-cyan .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#2d8cf0;color:#2d8cf0}.theme-cyan .layui-breadcrumb a:hover{color:#1890ff!important}.theme-cyan .layui-laydate-footer span:hover,.theme-cyan .layui-laydate-header i:hover,.theme-cyan .layui-laydate-header span:hover{color:#1890ff}.theme-cyan .layui-laydate .layui-this{background-color:#1890ff!important}.theme-cyan .layui-laydate-content td.laydate-selected{background-color:rgba(24,144,255,.1)}.theme-cyan .laydate-selected:hover{background-color:rgba(24,144,255,.1)!important}.theme-cyan .layui-timeline-axis{color:#1890ff}.theme-cyan .layui-transfer-active .layui-btn{background-color:#1890ff!important;border-color:#1890ff!important}.theme-cyan .layui-progress-bar{background-color:#1890ff}.theme-cyan .layui-slider-bar{background-color:#1890ff!important}.theme-cyan .layui-slider-wrap-btn{border-color:#1890ff!important}.theme-cyan .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#1890ff}.theme-cyan .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-cyan .layui-elem-quote{border-color:#1890ff}.theme-cyan .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-cyan .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#1890ff}.theme-cyan .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#89c6ff}.theme-cyan .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#1890ff}.theme-cyan .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#89c6ff!important}.theme-cyan .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#1890ff!important}.theme-cyan .ew-cascader-dropdown-list-item.active,.theme-cyan .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#1890ff}.theme-cyan div.tagsinput span.tag{background:#1890ff}.theme-cyan xm-select .xm-body .xm-option .xm-option-icon{border-color:#1890ff!important}.theme-cyan xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-cyan xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-cyan .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#1890ff!important}.theme-cyan xm-select .xm-label .xm-label-block,.theme-cyan xm-select .xm-body .xm-option.hide-icon.selected{background-color:#1890ff!important}.theme-cyan .city-select a.active{color:#fff!important;background-color:#1890ff!important}.theme-cyan .city-select a:hover,.theme-cyan .city-select a:focus{background-color:#f0faff;color:#1890ff}.theme-cyan .city-picker-span>.title>span:hover{background-color:#f0faff}.theme-cyan .city-select-tab>a.active{color:#1890ff}.theme-white .layui-layout-admin .layui-header .layui-logo{color:#262626;background-color:transparent;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-white .layui-layout-admin .layui-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-white .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-white .layui-layout-admin .layui-header .layui-nav-bar{background-color:#2d8cf0}.theme-white .layui-layout-admin .layui-side{background-color:#fff;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-white .layui-side .layui-nav .layui-nav-item a{color:#595959}.theme-white .layui-side .layui-nav .layui-nav-item a:hover{color:#2d8cf0}.theme-white .layui-side .layui-nav-itemed>a,.theme-white .layui-side .layui-nav-tree .layui-nav-title a,.theme-white .layui-side .layui-nav-tree .layui-nav-title a:hover{color:#595959!important}.theme-white .layui-side .layui-nav-itemed>a:hover{color:#2d8cf0!important}.theme-white .layui-side .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-white .layui-side .layui-nav-tree .layui-this>a,.theme-white .layui-side .layui-nav-tree .layui-this>a:hover{color:#2d8cf0;background:#f0faff;border-right:2px solid #2d8cf0}.theme-white .layui-side .layui-nav-tree .layui-nav-item .layui-nav-child{background-color:transparent!important}.theme-white .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#fff!important}@media screen and (min-width:769px){.theme-white .layui-layout-admin.admin-nav-mini .layui-side .layui-nav li.layui-nav-itemed>a{background:#f0faff;color:#2d8cf0!important}}.theme-white .layui-nav-tree>.layui-nav-item>a:before{display:none}.theme-white .layui-side .layui-nav .layui-nav-more{border-color:rgba(89,89,89,.7) transparent transparent}.theme-white .layui-side .layui-nav .layui-nav-mored,.theme-white .layui-side .layui-nav-itemed>a .layui-nav-more{border-color:transparent transparent rgba(89,89,89,.7)}.theme-white .layui-side .layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more:before{background-color:rgba(89,89,89,.7)}@media screen and (min-width:769px){.theme-white .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{border-color:transparent transparent transparent rgba(89,89,89,.7)}}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title{top:8px;right:8px;height:32px;line-height:32px;box-sizing:border-box;background-color:transparent;box-shadow:-4px 4px 0 #f5f7f9;padding-right:70px}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li{border:0;margin-right:6px;border-radius:4px;background-color:#fff;line-height:32px;height:32px}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this{color:#2d8cf0;background-color:#fff}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:hover{background-color:#fff}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{display:none}.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close,.theme-white .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close:hover{top:8px;color:#8c8c8c;background-color:transparent}.theme-white .layui-layout-admin .layui-body .admin-tabs-control,.theme-white .layui-layout-admin .layui-body .admin-tabs-control:hover{top:8px;height:32px;line-height:32px;background-color:#f5f7f9;border:0}.theme-white .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-down{border-radius:4px;background-color:#fff;width:32px;right:8px}.theme-white .admin-tabs-control>.layui-nav .layui-nav-item{line-height:32px}.theme-white .admin-tabs-control>.layui-nav .layui-nav-item>a{height:32px;width:32px;padding:0}.theme-white .admin-tabs-control>.layui-nav .layui-nav-child{top:36px;border:0;border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.2)}.theme-white .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-prev:before{content:"\e603"}.theme-white .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-next:before{content:"\e602"}.theme-white .layui-body-header-title{border-left-color:#2d8cf0}.theme-white .layui-body-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-white .layui-layer.layui-layer-admin{border-radius:4px}.theme-white .layui-layer.layui-layer-admin .layui-layer-title{color:#262626;font-size:16px;padding-left:23px;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #f1f1f1}.theme-white .layui-layer.layui-layer-admin .layui-layer-setwin a{color:#8c8c8c;font-weight:600}.theme-white .layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#8c8c8c}.theme-white .layui-layer.layui-layer-admin .layui-layer-btn a{height:32px;line-height:32px;border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-white .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#2d8cf0;background-color:#2d8cf0}.theme-white .more-theme-item:hover,.theme-white .more-theme-item.active{border-color:#2d8cf0}.theme-white .btn-circle{background:#2d8cf0}.theme-white .ball-loader>span,.theme-white .signal-loader>span{background-color:#2d8cf0}.theme-white .text-primary,.theme-white .layui-link{color:#2d8cf0!important}.theme-white .layui-card{border-radius:4px;box-shadow:none}.theme-white .layui-btn{height:36px;line-height:36px;border-radius:4px;background-color:#2d8cf0;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-white .layui-btn-lg{height:42px;line-height:42px}.theme-white .layui-btn-sm{height:28px;line-height:28px}.theme-white .layui-btn-xs{height:22px;line-height:22px}.theme-white .layui-input,.theme-white .layui-select,.theme-white .layui-textarea,.theme-white xm-select{height:36px;border-radius:4px}.theme-white .layui-input:focus,.theme-white .layui-textarea:focus,.theme-white xm-select:hover{border-color:#2d8cf0!important}.theme-white .layui-form-label,.theme-white .layui-form-mid{padding-top:8px;padding-bottom:8px}.theme-white .layui-input-block{min-height:36px}.theme-white .layui-form-radio{margin-top:4px}.theme-white .layui-form-onswitch{border-color:#2d8cf0;background-color:#2d8cf0}.theme-white .layui-form-radio>i:hover,.theme-white .layui-form-radioed>i,.theme-white .layui-form-checked i,.theme-white .layui-form-checked:hover i{color:#2d8cf0}.theme-white .layui-form-checked[lay-skin=primary] i,.theme-white .layui-form-checked span,.theme-white .layui-form-checked:hover span{border-color:#2d8cf0!important;background-color:#2d8cf0}.theme-white .layui-form-checked[lay-skin=primary] i:hover,.theme-white .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#2d8cf0!important}.theme-white .layui-form-select dl dd.layui-this{background-color:#2d8cf0}.theme-white .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#2d8cf0}.theme-white .layui-laypage input:focus,.theme-white .layui-laypage select:focus{border-color:#2d8cf0!important}.theme-white .layui-laypage a:hover{color:#2d8cf0}.theme-white .layui-tab-brief>.layui-tab-title .layui-this{color:#2d8cf0}.theme-white .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-white .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#2d8cf0!important}.theme-white .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#2d8cf0;color:#2d8cf0}.theme-white .layui-breadcrumb a:hover{color:#2d8cf0!important}.theme-white .layui-laydate-footer span:hover,.theme-white .layui-laydate-header i:hover,.theme-white .layui-laydate-header span:hover{color:#2d8cf0}.theme-white .layui-laydate .layui-this{background-color:#2d8cf0!important}.theme-white .layui-laydate-content td.laydate-selected{background-color:rgba(45,140,240,.1)}.theme-white .laydate-selected:hover{background-color:rgba(45,140,240,.1)!important}.theme-white .layui-timeline-axis{color:#2d8cf0}.theme-white .layui-transfer-active .layui-btn{background-color:#2d8cf0!important;border-color:#2d8cf0!important}.theme-white .layui-progress-bar{background-color:#2d8cf0}.theme-white .layui-slider-bar{background-color:#2d8cf0!important}.theme-white .layui-slider-wrap-btn{border-color:#2d8cf0!important}.theme-white .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#2d8cf0}.theme-white .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-white .layui-elem-quote{border-color:#2d8cf0}.theme-white .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-white .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#2d8cf0}.theme-white .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#95c5f7}.theme-white .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#2d8cf0}.theme-white .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#95c5f7!important}.theme-white .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#2d8cf0!important}.theme-white .ew-cascader-dropdown-list-item.active,.theme-white .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#2d8cf0}.theme-white div.tagsinput span.tag{background:#2d8cf0}.theme-white xm-select .xm-body .xm-option .xm-option-icon{border-color:#2d8cf0!important}.theme-white xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-white xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-white .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#2d8cf0!important}.theme-white xm-select .xm-label .xm-label-block,.theme-white xm-select .xm-body .xm-option.hide-icon.selected{background-color:#2d8cf0!important}.theme-white .city-select a.active{color:#fff!important;background-color:#2d8cf0!important}.theme-white .city-select a:hover,.theme-white .city-select a:focus{background-color:#f0faff;color:#2d8cf0}.theme-white .city-picker-span>.title>span:hover{background-color:#f0faff}.theme-white .city-select-tab>a.active{color:#2d8cf0}.theme-pink .layui-layout-admin .layui-header .layui-logo{color:#262626;background-color:transparent;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-pink .layui-layout-admin .layui-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-pink .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-pink .layui-layout-admin .layui-header .layui-nav-bar{background-color:#fb7299}.theme-pink .layui-layout-admin .layui-side{background-color:#fff;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-pink .layui-side .layui-nav .layui-nav-item a{color:#595959}.theme-pink .layui-side .layui-nav .layui-nav-item a:hover{color:#fb7299}.theme-pink .layui-side .layui-nav-itemed>a,.theme-pink .layui-side .layui-nav-tree .layui-nav-title a,.theme-pink .layui-side .layui-nav-tree .layui-nav-title a:hover{color:#595959!important}.theme-pink .layui-side .layui-nav-itemed>a:hover{color:#fb7299!important}.theme-pink .layui-side .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-pink .layui-side .layui-nav-tree .layui-this>a,.theme-pink .layui-side .layui-nav-tree .layui-this>a:hover{color:#fb7299;background:#fff7f9;border-right:2px solid #fb7299}.theme-pink .layui-side .layui-nav-tree .layui-nav-item .layui-nav-child{background-color:transparent!important}.theme-pink .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#fff!important}@media screen and (min-width:769px){.theme-pink .layui-layout-admin.admin-nav-mini .layui-side .layui-nav li.layui-nav-itemed>a{background:#fff1f5;color:#fb7299!important}}.theme-pink .layui-nav-tree>.layui-nav-item>a:before{display:none}.theme-pink .layui-side .layui-nav .layui-nav-more{border-color:rgba(89,89,89,.7) transparent transparent}.theme-pink .layui-side .layui-nav .layui-nav-mored,.theme-pink .layui-side .layui-nav-itemed>a .layui-nav-more{border-color:transparent transparent rgba(89,89,89,.7)}.theme-pink .layui-side .layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more:before{background-color:rgba(89,89,89,.7)}@media screen and (min-width:769px){.theme-pink .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{border-color:transparent transparent transparent rgba(89,89,89,.7)}}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title{top:8px;right:8px;height:32px;line-height:32px;box-sizing:border-box;background-color:transparent;box-shadow:-4px 4px 0 #f5f7f9;padding-right:70px}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li{border:0;margin-right:6px;border-radius:4px;background-color:#fff;line-height:32px;height:32px}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this{color:#fb7299;background-color:#fff}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:hover{background-color:#fff}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{display:none}.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close,.theme-pink .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close:hover{top:8px;color:#8c8c8c;background-color:transparent}.theme-pink .layui-layout-admin .layui-body .admin-tabs-control,.theme-pink .layui-layout-admin .layui-body .admin-tabs-control:hover{top:8px;height:32px;line-height:32px;background-color:#f5f7f9;border:0}.theme-pink .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-down{border-radius:4px;background-color:#fff;width:32px;right:8px}.theme-pink .admin-tabs-control>.layui-nav .layui-nav-item{line-height:32px}.theme-pink .admin-tabs-control>.layui-nav .layui-nav-item>a{height:32px;width:32px;padding:0}.theme-pink .admin-tabs-control>.layui-nav .layui-nav-child{top:36px;border:0;border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.2)}.theme-pink .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-prev:before{content:"\e603"}.theme-pink .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-next:before{content:"\e602"}.theme-pink .layui-body-header-title{border-left-color:#fb7299}.theme-pink .layui-body-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-pink .layui-layer.layui-layer-admin{border-radius:4px}.theme-pink .layui-layer.layui-layer-admin .layui-layer-title{color:#262626;font-size:16px;padding-left:23px;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #f1f1f1}.theme-pink .layui-layer.layui-layer-admin .layui-layer-setwin a{color:#8c8c8c;font-weight:600}.theme-pink .layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#8c8c8c}.theme-pink .layui-layer.layui-layer-admin .layui-layer-btn a{height:32px;line-height:32px;border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-pink .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#fb7299;background-color:#fb7299}.theme-pink .more-theme-item:hover,.theme-pink .more-theme-item.active{border-color:#fb7299}.theme-pink .btn-circle{background:#fb7299}.theme-pink .ball-loader>span,.theme-pink .signal-loader>span{background-color:#fb7299}.theme-pink .text-primary,.theme-pink .layui-link{color:#fb7299!important}.theme-pink .layui-card{border-radius:4px;box-shadow:none}.theme-pink .layui-btn{height:36px;line-height:36px;border-radius:4px;background-color:#fb7299;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-pink .layui-btn-lg{height:42px;line-height:42px}.theme-pink .layui-btn-sm{height:28px;line-height:28px}.theme-pink .layui-btn-xs{height:22px;line-height:22px}.theme-pink .layui-input,.theme-pink .layui-select,.theme-pink .layui-textarea,.theme-pink xm-select{height:36px;border-radius:4px}.theme-pink .layui-input:focus,.theme-pink .layui-textarea:focus,.theme-pink xm-select:hover{border-color:#fb7299!important}.theme-pink .layui-form-label,.theme-pink .layui-form-mid{padding-top:8px;padding-bottom:8px}.theme-pink .layui-input-block{min-height:36px}.theme-pink .layui-form-radio{margin-top:4px}.theme-pink .layui-form-onswitch{border-color:#fb7299;background-color:#fb7299}.theme-pink .layui-form-radio>i:hover,.theme-pink .layui-form-radioed>i,.theme-pink .layui-form-checked i,.theme-pink .layui-form-checked:hover i{color:#fb7299}.theme-pink .layui-form-checked[lay-skin=primary] i,.theme-pink .layui-form-checked span,.theme-pink .layui-form-checked:hover span{border-color:#fb7299!important;background-color:#fb7299}.theme-pink .layui-form-checked[lay-skin=primary] i:hover,.theme-pink .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#fb7299!important}.theme-pink .layui-form-select dl dd.layui-this{background-color:#fb7299}.theme-pink .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#fb7299}.theme-pink .layui-laypage input:focus,.theme-pink .layui-laypage select:focus{border-color:#fb7299!important}.theme-pink .layui-laypage a:hover{color:#fb7299}.theme-pink .layui-tab-brief>.layui-tab-title .layui-this{color:#fb7299}.theme-pink .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-pink .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#fb7299!important}.theme-pink .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#fb7299;color:#fb7299}.theme-pink .layui-breadcrumb a:hover{color:#fb7299!important}.theme-pink .layui-laydate-footer span:hover,.theme-pink .layui-laydate-header i:hover,.theme-pink .layui-laydate-header span:hover{color:#fb7299}.theme-pink .layui-laydate .layui-this{background-color:#fb7299!important}.theme-pink .layui-laydate-content td.laydate-selected{background-color:#fff1f5}.theme-pink .laydate-selected:hover{background-color:#fff1f5!important}.theme-pink .layui-timeline-axis{color:#fb7299}.theme-pink .layui-transfer-active .layui-btn{background-color:#fb7299!important;border-color:#fb7299!important}.theme-pink .layui-progress-bar{background-color:#fb7299}.theme-pink .layui-slider-bar{background-color:#fb7299!important}.theme-pink .layui-slider-wrap-btn{border-color:#fb7299!important}.theme-pink .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#fb7299}.theme-pink .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-pink .layui-elem-quote{border-color:#fb7299}.theme-pink .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-pink .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#fb7299}.theme-pink .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#fdb8cc}.theme-pink .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#fb7299}.theme-pink .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#fdb8cc!important}.theme-pink .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#fb7299!important}.theme-pink .ew-cascader-dropdown-list-item.active,.theme-pink .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#fb7299}.theme-pink div.tagsinput span.tag{background:#fb7299}.theme-pink xm-select .xm-body .xm-option .xm-option-icon{border-color:#fb7299!important}.theme-pink xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-pink xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-pink .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#fb7299!important}.theme-pink xm-select .xm-label .xm-label-block,.theme-pink xm-select .xm-body .xm-option.hide-icon.selected{background-color:#fb7299!important}.theme-pink .city-select a.active{color:#fff!important;background-color:#fb7299!important}.theme-pink .city-select a:hover,.theme-pink .city-select a:focus{background-color:#fff1f5;color:#fb7299}.theme-pink .city-picker-span>.title>span:hover{background-color:#fff1f5}.theme-pink .city-select-tab>a.active{color:#fb7299}.theme-colorful .layui-layout-admin .layui-header .layui-logo{color:#262626;background-color:transparent;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-colorful .layui-layout-admin .layui-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-colorful .layui-layout-admin .layui-header .layui-nav .layui-this:after,.theme-colorful .layui-layout-admin .layui-header .layui-nav-bar{background-color:#2d8cf0}.theme-colorful .layui-layout-admin .layui-side{background-color:#fff;box-shadow:2px 8px 8px 0 rgba(29,35,41,.05)}.theme-colorful .layui-side .layui-nav .layui-nav-item a{color:#595959}.theme-colorful .layui-side .layui-nav .layui-nav-item a:hover{color:#2d8cf0}.theme-colorful .layui-side .layui-nav-itemed>a,.theme-colorful .layui-side .layui-nav-tree .layui-nav-title a,.theme-colorful .layui-side .layui-nav-tree .layui-nav-title a:hover{color:#595959!important}.theme-colorful .layui-side .layui-nav-itemed>a:hover{color:#2d8cf0!important}.theme-colorful .layui-side .layui-nav-tree .layui-nav-child dd.layui-this a,.theme-colorful .layui-side .layui-nav-tree .layui-this>a,.theme-colorful .layui-side .layui-nav-tree .layui-this>a:hover{color:#2d8cf0;background:#f0faff;border-right:2px solid #2d8cf0}.theme-colorful .layui-side .layui-nav-tree .layui-nav-item .layui-nav-child{background-color:transparent!important}.theme-colorful .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child:before{background:#fff!important}@media screen and (min-width:769px){.theme-colorful .layui-layout-admin.admin-nav-mini .layui-side .layui-nav li.layui-nav-itemed>a{background:#f0faff;color:#2d8cf0!important}}.theme-colorful .layui-nav-tree>.layui-nav-item>a:before{display:none}.theme-colorful .layui-side .layui-nav .layui-nav-more{border-color:rgba(89,89,89,.7) transparent transparent}.theme-colorful .layui-side .layui-nav .layui-nav-mored,.theme-colorful .layui-side .layui-nav-itemed>a .layui-nav-more{border-color:transparent transparent rgba(89,89,89,.7)}.theme-colorful .layui-side .layui-nav-tree.arrow3 .layui-nav-itemed>a>.layui-nav-more:before{background-color:rgba(89,89,89,.7)}@media screen and (min-width:769px){.theme-colorful .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover>.layui-nav-child>dd>a .layui-nav-more{border-color:transparent transparent transparent rgba(89,89,89,.7)}}.theme-colorful .layui-side .layui-nav .layui-nav-item a cite{vertical-align:middle}.theme-colorful .layui-side .layui-nav-item>a>.layui-icon{color:#fff;width:28px;height:28px;font-size:12px!important;line-height:28px;text-align:center;border-radius:50%;display:inline-block;vertical-align:middle;background-color:#61b2fc}.theme-colorful .layui-side .layui-nav-item:nth-child(even)>a>.layui-icon{background-color:#7dd733}.theme-colorful .layui-side .layui-nav-item:nth-child(3)>a>.layui-icon{background-color:#32a2d4}.theme-colorful .layui-side .layui-nav-item:nth-child(4)>a>.layui-icon{background-color:#2bccce}.theme-colorful .layui-side .layui-nav-item:nth-child(5)>a>.layui-icon{background-color:#7383cf}@media screen and (min-width:768px){.theme-colorful .admin-nav-mini .layui-side .layui-nav-item>a{padding-left:16px}}.theme-colorful .layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child a{padding-left:63px}.theme-colorful .layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child a{padding-left:83px}.theme-colorful .layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left:103px}.theme-colorful .layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left:123px}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title{top:8px;right:8px;height:32px;line-height:32px;box-sizing:border-box;background-color:transparent;box-shadow:-4px 4px 0 #f5f7f9;padding-right:70px}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li{border:0;margin-right:6px;border-radius:4px;background-color:#fff;line-height:32px;height:32px}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this{color:#2d8cf0;background-color:#fff}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li:hover{background-color:#fff}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li.layui-this:after{display:none}.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close,.theme-colorful .layui-layout-admin .layui-body>.layui-tab>.layui-tab-title li .layui-tab-close:hover{top:8px;color:#8c8c8c;background-color:transparent}.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control,.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control:hover{top:8px;height:32px;line-height:32px;background-color:#f5f7f9;border:0}.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-down{border-radius:4px;background-color:#fff;width:32px;right:8px}.theme-colorful .admin-tabs-control>.layui-nav .layui-nav-item{line-height:32px}.theme-colorful .admin-tabs-control>.layui-nav .layui-nav-item>a{height:32px;width:32px;padding:0}.theme-colorful .admin-tabs-control>.layui-nav .layui-nav-child{top:36px;border:0;border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.2)}.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-prev:before{content:"\e603"}.theme-colorful .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-next:before{content:"\e602"}.theme-colorful .layui-body-header-title{border-left-color:#2d8cf0}.theme-colorful .layui-body-header{box-shadow:0 1px 4px rgba(0,21,41,.08)}.theme-colorful .layui-layer.layui-layer-admin{border-radius:4px}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-title{color:#262626;font-size:16px;padding-left:23px;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #f1f1f1}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-setwin a{color:#8c8c8c;font-weight:600}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-setwin .layui-layer-min cite{background-color:#8c8c8c}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-btn a{height:32px;line-height:32px;border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-colorful .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0{border-color:#2d8cf0;background-color:#2d8cf0}.theme-colorful .more-theme-item:hover,.theme-colorful .more-theme-item.active{border-color:#2d8cf0}.theme-colorful .btn-circle{background:#2d8cf0}.theme-colorful .ball-loader>span,.theme-colorful .signal-loader>span{background-color:#2d8cf0}.theme-colorful .text-primary,.theme-colorful .layui-link{color:#2d8cf0!important}.theme-colorful .layui-card{border-radius:4px;box-shadow:none}.theme-colorful .layui-btn{height:36px;line-height:36px;border-radius:4px;background-color:#2d8cf0;box-shadow:0 1px 0 rgba(0,0,0,.03)}.theme-colorful .layui-btn-lg{height:42px;line-height:42px}.theme-colorful .layui-btn-sm{height:28px;line-height:28px}.theme-colorful .layui-btn-xs{height:22px;line-height:22px}.theme-colorful .layui-input,.theme-colorful .layui-select,.theme-colorful .layui-textarea,.theme-colorful xm-select{height:36px;border-radius:4px}.theme-colorful .layui-input:focus,.theme-colorful .layui-textarea:focus,.theme-colorful xm-select:hover{border-color:#2d8cf0!important}.theme-colorful .layui-form-label,.theme-colorful .layui-form-mid{padding-top:8px;padding-bottom:8px}.theme-colorful .layui-input-block{min-height:36px}.theme-colorful .layui-form-radio{margin-top:4px}.theme-colorful .layui-form-onswitch{border-color:#2d8cf0;background-color:#2d8cf0}.theme-colorful .layui-form-radio>i:hover,.theme-colorful .layui-form-radioed>i,.theme-colorful .layui-form-checked i,.theme-colorful .layui-form-checked:hover i{color:#2d8cf0}.theme-colorful .layui-form-checked[lay-skin=primary] i,.theme-colorful .layui-form-checked span,.theme-colorful .layui-form-checked:hover span{border-color:#2d8cf0!important;background-color:#2d8cf0}.theme-colorful .layui-form-checkbox[lay-skin=primary] i:hover,.theme-colorful .layui-form-checkbox[lay-skin=primary]:hover i{border-color:#2d8cf0}.theme-colorful .layui-form-select dl dd.layui-this{background-color:#2d8cf0}.theme-colorful .layui-laypage .layui-laypage-curr .layui-laypage-em{background-color:#2d8cf0}.theme-colorful .layui-laypage input:focus,.theme-colorful .layui-laypage select:focus{border-color:#2d8cf0!important}.theme-colorful .layui-laypage a:hover{color:#2d8cf0}.theme-colorful .layui-tab-brief>.layui-tab-title .layui-this{color:#2d8cf0}.theme-colorful .layui-tab-brief>.layui-tab-more li.layui-this:after,.theme-colorful .layui-tab-brief>.layui-tab-title .layui-this:after{border-color:#2d8cf0!important}.theme-colorful .layui-tab.layui-tab-vertical>.layui-tab-title>li.layui-this{border-color:#2d8cf0;color:#2d8cf0}.theme-colorful .layui-breadcrumb a:hover{color:#2d8cf0!important}.theme-colorful .layui-laydate-footer span:hover,.theme-colorful .layui-laydate-header i:hover,.theme-colorful .layui-laydate-header span:hover{color:#2d8cf0}.theme-colorful .layui-laydate .layui-this{background-color:#2d8cf0!important}.theme-colorful .layui-laydate-content td.laydate-selected{background-color:rgba(45,140,240,.1)}.theme-colorful .laydate-selected:hover{background-color:rgba(45,140,240,.1)!important}.theme-colorful .layui-timeline-axis{color:#2d8cf0}.theme-colorful .layui-transfer-active .layui-btn{background-color:#2d8cf0!important;border-color:#2d8cf0!important}.theme-colorful .layui-progress-bar{background-color:#2d8cf0}.theme-colorful .layui-slider-bar{background-color:#2d8cf0!important}.theme-colorful .layui-slider-wrap-btn{border-color:#2d8cf0!important}.theme-colorful .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon{color:#2d8cf0}.theme-colorful .layui-tab.layui-steps>.layui-tab-title>li>.layui-icon.layui-icon-ok,.theme-colorful .layui-elem-quote{border-color:#2d8cf0}.theme-colorful .layui-tab.layui-steps>.layui-tab-title>li:before,.theme-colorful .layui-tab.layui-steps>.layui-tab-title>li.layui-this>.layui-icon.layui-icon-ok{background-color:#2d8cf0}.theme-colorful .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li{background-color:#96c6f8}.theme-colorful .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this{background-color:#2d8cf0}.theme-colorful .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li:after{border-left-color:#96c6f8!important}.theme-colorful .layui-tab.layui-steps.layui-steps-simple>.layui-tab-title>li.layui-this+li:after{border-left-color:#2d8cf0!important}.theme-colorful .ew-cascader-dropdown-list-item.active,.theme-colorful .ew-cascader-dropdown-list-item.active .ew-icon-right{color:#2d8cf0}.theme-colorful div.tagsinput span.tag{background:#2d8cf0}.theme-colorful xm-select .xm-body .xm-option .xm-option-icon{border-color:#2d8cf0!important}.theme-colorful xm-select .xm-body .xm-option.selected .xm-option-icon,.theme-colorful xm-select>.xm-body .xm-toolbar .toolbar-tag:hover,.theme-colorful .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content{color:#2d8cf0!important}.theme-colorful xm-select .xm-label .xm-label-block,.theme-colorful xm-select .xm-body .xm-option.hide-icon.selected{background-color:#2d8cf0!important}.theme-colorful .city-select a.active{color:#fff!important;background-color:#2d8cf0!important}.theme-colorful .city-select a:hover,.theme-colorful .city-select a:focus{background-color:#f0faff;color:#2d8cf0}.theme-colorful .city-picker-span>.title>span:hover{background-color:#f0faff}.theme-colorful .city-select-tab>a.active{color:#2d8cf0} + +/** ---------------------------theme-my涓婚start----------------------------------- */ +/* logo */ +.theme-my .layui-layout-admin .layui-header .layui-logo { + color: #dddddd; + background-color: #191a23; + +} + +/* header */ + + +.theme-my .layui-layout-admin .layui-header { + background-color: #191a23; +} + +.theme-my .layui-layout-admin .layui-header a { + color: #dddddd; +} + +.theme-my .layui-layout-admin .layui-header a:hover { + color: #dddddd; +} + +.theme-my .layui-layout-admin .layui-header .layui-nav-child a { + color: #595959; +} + +.theme-my .layui-layout-admin .layui-header .layui-nav .layui-nav-more { + border-color: #dddddd transparent transparent; +} + +.theme-my .layui-layout-admin .layui-header .layui-nav .layui-nav-mored { + border-color: transparent transparent #dddddd; +} + +.theme-my .layui-layout-admin .layui-header .layui-nav .layui-this:after, +.theme-my .layui-layout-admin .layui-header .layui-nav-bar { + background-color: #191a23; +} + + + +/* side */ +.theme-my .layui-layout-admin .layui-side { + background-color: #191a23; + +} + + +.theme-my .layui-nav-tree .layui-nav-child dd.layui-this a, +.theme-my .layui-nav-tree .layui-this > a, +.theme-my .layui-nav-tree .layui-this > a:hover { + background-color: #009688; +} + +.theme-my .layui-nav-tree > .layui-nav-item > a:before { + background-color: #009688; +} + + +.theme-my .layui-layout-admin.admin-nav-mini .layui-side .layui-nav .admin-nav-hover > .layui-nav-child:before { + background: #191a23 !important; +} + + + + + +/* body tab */ + +.theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title { + top: 8px; + right: 8px; + height: 32px; + line-height: 32px; + box-sizing: border-box; + background-color: transparent; + box-shadow: -4px 4px 0 #f5f7f9; + padding-right: 70px; +} + +.theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-content { + top: 40px; +} + +.theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li { + border: none; + margin-right: 6px; + border-radius: 4px; + background-color: #fff; + line-height: 32px; + height: 32px; +} + +.theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li.layui-this { + color: #2d8cf0; + background-color: #fff; +} + +.theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li:hover { + background-color: #fff; +} + +.theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li.layui-this:after { + display: none; +} + +.theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li .layui-tab-close, +.theme-my .layui-layout-admin .layui-body > .layui-tab > .layui-tab-title li .layui-tab-close:hover { + top: 8px; + color: #8c8c8c; + background-color: transparent; +} + +.theme-my .layui-layout-admin .layui-body .admin-tabs-control, +.theme-my .layui-layout-admin .layui-body .admin-tabs-control:hover { + top: 8px; + height: 32px; + line-height: 32px; + background-color: #f5f7f9; + border: none; +} + +.theme-my .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-down { + border-radius: 4px; + background-color: #fff; + width: 32px; + right: 8px; +} + +.theme-my .admin-tabs-control > .layui-nav .layui-nav-item { + line-height: 32px; +} + +.theme-my .admin-tabs-control > .layui-nav .layui-nav-item > a { + height: 32px; + width: 32px; + padding: 0; +} + +.theme-my .admin-tabs-control > .layui-nav .layui-nav-child { + top: 36px; + border: none; + border-radius: 4px; + box-shadow: 0 1px 6px rgba(0, 0, 0, .2); +} + +.theme-my .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-prev:before { + content: "\e603"; +} + +.theme-my .layui-layout-admin .layui-body .admin-tabs-control.layui-icon-next:before { + content: "\e602"; +} + + +/* body title */ +.theme-my .layui-body-header-title { + border-left-color: #009688; +} + + + +/* admin dialog */ +.theme-my .layui-layer.layui-layer-admin .layui-layer-title { + color: #ffffff; + background-color: #191a23; + + border-top-left-radius: 4px; + border-top-right-radius: 4px; + + +} + + + +.theme-my .layui-layer.layui-layer-admin .layui-layer-btn .layui-layer-btn0 { + border-color: #009688; + background-color: #009688; +} + + +.theme-my .layui-layer.layui-layer-admin .layui-layer-btn a { + box-shadow: 0 1px 0 rgba(0, 0, 0, .03); +} + +.theme-my .layui-layer.layui-layer-admin { + border-radius: 4px; +} + + + + +/* other */ +.theme-my .more-theme-item:hover, +.theme-my .more-theme-item.active { + border-color: #009688; +} + +.theme-my .btn-circle { + background: #009688; +} + +.theme-my .ball-loader > span, +.theme-my .signal-loader > span { + background-color: #009688; +} + +.theme-my .text-primary, +.theme-my .layui-link { + color: #009688 !important;; +} + + +.theme-my .layui-card { + border-radius: 4px; + box-shadow: none; +} + +.theme-my .layui-fluid { + padding-top: 10px; +} + + +/* button */ +.theme-my .layui-btn { + background-color: #009688; + + box-shadow: 0 1px 0 rgba(0, 0, 0, .03); + +} + + +/* input */ +.theme-my .layui-input:focus, +.theme-my .layui-textarea:focus, +.theme-my xm-select:hover { + border-color: #009688 !important; +} + + + + + + +/* switch */ +.theme-my .layui-form-onswitch { + border-color: #009688; + background-color: #009688; +} + +/* radio */ +.theme-my .layui-form-radio > i:hover, +.theme-my .layui-form-radioed > i, +.theme-my .layui-form-checked i, +.theme-my .layui-form-checked:hover i { + color: #009688; +} + +/* checkbox */ +.theme-my .layui-form-checked[lay-skin=primary] i, +.theme-my .layui-form-checked span, +.theme-my .layui-form-checked:hover span { + border-color: #009688 !important; + background-color: #009688; +} + +.theme-my .layui-form-checkbox[lay-skin=primary] i:hover, +.theme-my .layui-form-checkbox[lay-skin=primary]:hover i { + border-color: #009688; +} + +/* select */ +.theme-my .layui-form-select dl dd.layui-this { + background-color: #009688; +} + +/* laypage */ +.theme-my .layui-laypage .layui-laypage-curr .layui-laypage-em { + background-color: #009688; +} + +.theme-my .layui-laypage input:focus, +.theme-my select:focus { + border-color: #009688 !important; +} + +.theme-my .layui-laypage a:hover { + color: #009688; +} + +/* tab */ +.theme-my .layui-tab-brief > .layui-tab-title .layui-this { + color: #009688; +} + +.theme-my .layui-tab-brief > .layui-tab-more li.layui-this:after, +.theme-my .layui-tab-brief > .layui-tab-title .layui-this:after { + border-color: #009688 !important; +} + +.theme-my .layui-tab.layui-tab-vertical > .layui-tab-title > li.layui-this { + border-color: #009688; + color: #009688; +} + +/* breadcrumb */ +.theme-my .layui-breadcrumb a:hover { + color: #009688 !important; +} + +/* laydate */ +.theme-my .layui-laydate-footer span:hover, +.theme-my .layui-laydate-header i:hover, +.theme-my .layui-laydate-header span:hover { + color: #009688; +} + +.theme-my .layui-laydate .layui-this { + background-color: #009688 !important; +} + +.theme-my .layui-laydate-content td.laydate-selected { + background-color: rgba(0,150,136,.1); +} + +.theme-my .laydate-selected:hover { + background-color: rgba(0,150,136,.1) !important; +} + +/* timeline */ +.theme-my .layui-timeline-axis { + color: #009688; +} + +/* transfer */ +.theme-my .layui-transfer-active .layui-btn { + background-color: #009688 !important; + border-color: #009688 !important; +} + +/* progress-bar */ +.theme-my .layui-progress-bar { + background-color: #009688; +} + +/* slider */ +.theme-my .layui-slider-bar { + background-color: #009688 !important; +} + +.theme-colorful .layui-slider-wrap-btn { + border-color: #009688 !important; +} + +/* steps */ +.theme-my .layui-tab.layui-steps > .layui-tab-title > li > .layui-icon { + color: #009688; +} + +.theme-my .layui-tab.layui-steps > .layui-tab-title > li > .layui-icon.layui-icon-ok, +.theme-my .layui-elem-quote { + border-color: #009688; +} + +.theme-my .layui-tab.layui-steps > .layui-tab-title > li:before, +.theme-my .layui-tab.layui-steps > .layui-tab-title > li.layui-this > .layui-icon.layui-icon-ok { + background-color: #009688; +} + +.theme-my .layui-tab.layui-steps.layui-steps-simple > .layui-tab-title > li { + background-color: rgba(0,150,136,.5); +} + +.theme-my .layui-tab.layui-steps.layui-steps-simple > .layui-tab-title > li.layui-this { + background-color: #009688; +} + +.theme-my .layui-tab.layui-steps.layui-steps-simple > .layui-tab-title > li:after { + border-left-color: rgba(0,150,136,.5) !important; +} + +.theme-my .layui-tab.layui-steps.layui-steps-simple > .layui-tab-title > li.layui-this + li:after { + border-left-color: #009688 !important; +} + +/* xmSelect */ +.theme-my xm-select .xm-body .xm-option .xm-option-icon { + border-color: #009688 !important; +} + +.theme-my xm-select .xm-body .xm-option.selected .xm-option-icon, +.theme-my xm-select > .xm-body .xm-toolbar .toolbar-tag:hover, +.theme-my .ew-xmselect-tree xm-select .xm-body .xm-option.selected .xm-option-content { + color: #009688 !important; +} + +.theme-my xm-select .xm-label .xm-label-block, +.theme-my xm-select > .xm-body .xm-option.hide-icon.selected { + background-color: #009688 !important; +} + +/* tagsinput */ +.theme-my div.tagsinput span.tag { + background: #009688; +} + +/* cascader */ +.theme-my .ew-cascader-dropdown-list-item.active, +.theme-my .ew-cascader-dropdown-list-item.active .ew-icon-right { + color: #009688; +} + +/* city-select */ +.theme-my .city-select a.active { + color: #fff !important; + background-color: #009688 !important; +} + +.theme-my .city-select a:hover, +.theme-my .city-select a:focus { + background-color: rgba(0,150,136,.07); + color: #009688; +} + +.theme-my .city-picker-span > .title > span:hover { + background-color: rgba(0,150,136,.07); +} + +.theme-my .city-select-tab > a.active { + color: #009688; +} + +.theme-my .layui-layer.layui-layer-admin { + border-radius: 4px; +} + +.theme-my .layui-btn { + border-radius: 4px; +} + +/** ---------------------------theme-my涓婚end----------------------------------- */ diff --git a/src/main/webapp/static/css/common.css b/src/main/webapp/static/css/common.css index f388ea3..d1a71bc 100644 --- a/src/main/webapp/static/css/common.css +++ b/src/main/webapp/static/css/common.css @@ -1,49 +1,225 @@ -/* 缁熶竴澶勭悊 */ -*, *::before, *::after { - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - padding: 0; -} -html { - line-height: 1.5; - font-size: 15px; - font-family: sans-serif; - height: 100%; -} +/**, *::before, *::after {*/ +/* -webkit-box-sizing: border-box;*/ +/* box-sizing: border-box;*/ +/* margin: 0;*/ +/* padding: 0;*/ +/*}*/ + body { - height: 100%; + background-color: #fff; } -iframe { +input::placeholder { + color: #b4b4b4; +} +input::-webkit-input-placeholder { /* WebKit browsers 閫傞厤璋锋瓕 */ + color: #b4b4b4; +} +.layui-input input:-moz-placeholder { /* Mozilla Firefox 4 to 18 閫傞厤鐏嫄 */ + color: #b4b4b4; +} +.layui-input input::-moz-placeholder { /* Mozilla Firefox 19+ 閫傞厤鐏嫄 */ + color: #b4b4b4; +} +.layui-input input:-ms-input-placeholder { /* Internet Explorer 10+ 閫傞厤ie*/ + color: #b4b4b4; +} + +/* layui浼樺寲 */ +.layui-form-label { + /*color: #595959;*/ +} +.layui-input:focus { + border-color: #007bff !important; +} +/*鎼滅储鏍�*/ +.layui-form.layui-card-header { + padding: 20px 0 5px 0; + height: auto; +} +#search-box { + margin-left: 10px; + z-index: 999; + position: relative; + padding: 30px 30px 10px 30px; +} +#search-box .layui-inline{ + margin-bottom: 10px; + margin-right: 5px; +} +#search-box .layui-input-inline { + width: 150px; +} +.layui-form-label{ + font-size: 100%; + padding: 13px 0 9px 5px; + text-align: right; +} +#data-search-btn { + display: inline-block; + margin: 8px 0 0 10px; + justify-content: center; + align-items: center; +} +#data-search-btn.layui-btn-container .layui-btn{ + margin-right: 20px; +} + +/*澶村伐鍏锋爮*/ +.layui-table-tool-temp { + padding-right: 70px; +} +.layui-btn .layui-icon { + margin: 1px 5px; +} +#btn-add{ + background: #007DDB +} +#btn-delete{ + background: #ff5722 +} +#btn-export{ + float: right; +} + +/*琛ㄦ牸*/ +.layui-table thead th { + font-weight: bold; + text-align: center; +} +div .layui-table-tool .layui-table-tool-self .layui-inline[title='瀵煎嚭']{ + display: none; +} +.layui-form.layui-border-box.layui-table-view{ + margin: 15px 0 35px 0; + width: 100%; border-width: 0; } +.layui-table-box{ + padding-bottom: 10px; +} +/*.layui-table-body.layui-table-main{*/ +/* overflow: hidden;*/ +/*}*/ +.layui-table-page{ + border-width: 0; +} +.layui-table tbody tr:hover, .layui-table thead tr, .layui-table-click, .layui-table-header, .layui-table-hover, .layui-table-mend, .layui-table-patch, .layui-table-tool, .layui-table-total, .layui-table-total tr, .layui-table[lay-even] tr:nth-child(even) { + background-color: #f9f9f9; +} +.layui-table-tool { + /*background-color: #fff;*/ +} +/* table 锛堟崲琛�/璇︽儏锛夋樉绀烘帶鍒� */ +/*.layui-table-cell {*/ +/*font-size:14px;*/ +/*padding:0 5px;*/ +/*height:auto;*/ +/*overflow:visible;*/ +/*text-overflow:inherit;*/ +/*white-space:normal;*/ +/*word-break: break-all;*/ +/*}*/ +/*.layui-table-grid-down {*/ +/*display: none;*/ +/*}*/ -/* 甯冨眬 */ -.row::after, .row::before { - content: ""; - display: table; - clear: both; +/*璇︽儏*/ +#detail .layui-form-label{ + white-space: nowrap; + font-size: 100%; + padding: 9px 0 9px 5px; + text-align: right; } -.col-md3:empty { - background:rgba(0,0,0,0.04); - border: 1px solid rgba(0,0,0,.3); - min-height:32px; +#detail { + padding: 25px 0; + margin: 0 20px 0 30px; +} +#detail .layui-inline { + margin: 10px 15px 15px 0; +} +#detail .layui-input-inline { + margin-right: 40px; + margin-left: 95px; + display: block; +} +.layui-bg-gray { + margin-top: 40px; +} +#prompt { + margin-top: 20px; + width: 90%; + text-indent: 40px; + color: #505050; +} +#data-detail-btn { + padding-top: 25px; + display: flex; + justify-content: center; + align-items: center; +} +#data-detail-btn.layui-btn-container .layui-btn{ + margin-right: 30px; +} +.not-null { + color:red; +} + +#detail .layui-form-checkbox { + top: 10px; +} + +/*鍥剧墖*/ +.cool-img { + cursor:pointer; + width: 200px; + height: 200px; +} + +/* + 甯冨眬 + */ +.col:empty{min-height:32px;height: inherit;z-index:1;position:relative;box-sizing: border-box;} +.col:empty:after{ + z-index:0;display:flex;align-items: center;justify-content: center; + clear: both;content:attr(title);position:absolute; + background:rgba(0,0,0,0.04);top:2px;left:2px;right:2px;bottom:2px; + text-align:center;color:rgba(0,0,0,0.1); border-radius: inherit; +} +.col{ height: inherit; - z-index:1; } -.col-md1,.col-md10,.col-md11,.col-md12,.col-md2,.col-md3,.col-md4,.col-md5,.col-md6,.col-md7,.col-md8,.col-md9{ - float:left; + +/*鏉冮檺*/ +#btn-add { + display: none; } -.col-md1{width:8.33333333%} -.col-md2{width:16.66666667%} -.col-md3{width:25%} -.col-md4{width:33.33333333%} -.col-md5{width:41.66666667%} -.col-md6{width:50%} -.col-md7{width:58.33333333%} -.col-md8{width:66.66666667%} -.col-md9{width:75%} -.col-md10{width:83.33333333%} -.col-md11{width:91.66666667%} -.col-md12{width:100%} \ No newline at end of file +.btn-edit { + display: none; +} +#btn-delete { + display: none; +} +#btn-export { + display: none; +} +#btn-into { + display: none; +} + +/*淇敼澶嶉�夋棰滆壊*/ +/*.layui-form-checked[lay-skin=primary] i {*/ +/*border-color: #4c95b8!important;*/ +/*background-color: #4c95b8;*/ +/*color: #fff;*/ +/*}*/ +/*.layui-form-checkbox[lay-skin=primary]:hover i {*/ +/*border-color: #4c95b8;*/ +/*color: #fff;*/ +/*}*/ + +/* 濯掍綋鏌ヨ 鈥斺�� 鍝嶅簲甯冨眬 */ +/* 鍋氬搷搴斿紡甯冨眬鏃讹紝涓嶅缓璁敤鍥哄畾灏哄锛屽敖閲忕敤% */ +@media only screen and (max-width: 800px) { + +} diff --git a/src/main/webapp/static/css/cool.css b/src/main/webapp/static/css/cool.css new file mode 100644 index 0000000..b592730 --- /dev/null +++ b/src/main/webapp/static/css/cool.css @@ -0,0 +1,48 @@ +/*鑷姩琛ュ叏*/ +.cool-auto-complete .layui-unselect.layui-form-select { + display: none; +} + +.cool-auto-complete-div { + cursor: pointer; +} + +.cool-auto-complete-window { + width: 100%; + display: none; + position: absolute; + line-height: normal; + z-index: 999; +} + +.cool-auto-complete-window-input { + height: 28px; + box-sizing: border-box; + border: 1px solid #dedede; + width: 100%; +} +.cool-auto-complete-window-input:focus { + border-color: #007bff !important; +} +.cool-auto-complete-window-select { + width: 100%; + border: 1px solid #dedede; + margin: 0; + height: 142px; + +} + +.cool-auto-complete-window-select option:hover { + background-color: #f1f1f1; +} + +.cool-auto-complete-window-select option{ + padding: 3px 2px; +} +.cool-auto-complete-window-select option:first-child{ + color:#aaaaaa; +} + +/*.layui-table-grid-down {*/ +/* display: none;*/ +/*}*/ diff --git a/src/main/webapp/static/css/loader.css b/src/main/webapp/static/css/loader.css new file mode 100644 index 0000000..6990738 --- /dev/null +++ b/src/main/webapp/static/css/loader.css @@ -0,0 +1,59 @@ +/**鍒濆鍖栧姞杞藉眰*/ +.layuimini-loader { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: #ffffff; + z-index: 999999; +} + +.layuimini-loader .layuimini-loader-inner { + display: block; + position: relative; + left: 50%; + top: 50%; + width: 150px; + height: 150px; + margin: -75px 0 0 -75px; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: #1E9FFF; + animation: spin 2s linear infinite; +} + +.layuimini-loader .layuimini-loader-inner:before { + content: ""; + position: absolute; + top: 5px; + left: 5px; + right: 5px; + bottom: 5px; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: #1E9FFF; + animation: spin 3s linear infinite; +} + +.layuimini-loader .layuimini-loader-inner:after { + content: ""; + position: absolute; + top: 15px; + left: 15px; + right: 15px; + bottom: 15px; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: #1E9FFF; + animation: spin 1.5s linear infinite; +} + +@keyframes spin { + 0% { + transform: rotate(0deg); + } + to { + transform: rotate(1turn); + } +} diff --git a/src/main/webapp/static/css/originTable.css b/src/main/webapp/static/css/originTable.css new file mode 100644 index 0000000..a86612d --- /dev/null +++ b/src/main/webapp/static/css/originTable.css @@ -0,0 +1,29 @@ +#originTable + .layui-table-view .layui-table-tool-temp { + padding-right: 0; +} +#originTable + .layui-table-view .layui-table-body tbody > tr td { + cursor: pointer; +} +#originTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click { + background-color: #fff3e0; +} +#originTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click td:last-child > div:before { + position: absolute; + right: 6px; + content: "\e602"; + font-size: 12px; + font-style: normal; + font-family: layui-icon,serif !important; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +#left-table .layui-table-grid-down { + display: none; +} +.layui-form.layui-border-box.layui-table-view { + border-width: 1px; +} +#left-table .layui-table thead th { + /* font-weight: bold; */ + text-align: left; +} diff --git a/src/main/webapp/static/images/zy-logo-dark.png b/src/main/webapp/static/images/zy-logo-dark.png new file mode 100644 index 0000000..df4e153 --- /dev/null +++ b/src/main/webapp/static/images/zy-logo-dark.png Binary files differ diff --git a/src/main/webapp/static/images/zy-logo.png b/src/main/webapp/static/images/zy-logo.png index 4865504..21a19b9 100644 --- a/src/main/webapp/static/images/zy-logo.png +++ b/src/main/webapp/static/images/zy-logo.png Binary files differ diff --git a/src/main/webapp/static/js/apiLog/apiLog.js b/src/main/webapp/static/js/apiLog/apiLog.js new file mode 100644 index 0000000..8e72f1a --- /dev/null +++ b/src/main/webapp/static/js/apiLog/apiLog.js @@ -0,0 +1,268 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#apiLog', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/apiLog/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {type: 'checkbox'} + // ,{field: 'id', align: 'center',title: 'ID'} + // ,{field: 'uuid', align: 'center',title: '鏃ュ織缂栧彿'} + ,{field: 'namespace', align: 'center',title: '鍚嶇О绌洪棿'} + ,{field: 'url', align: 'center',title: '鎺ュ彛鍦板潃'} + // ,{field: 'appkey', align: 'center',title: '骞冲彴瀵嗛挜'} + // ,{field: 'timestamp', align: 'center',title: '鏃堕棿鎴�'} + // ,{field: 'clientIp', align: 'center',title: '瀹㈡埛绔疘P'} + ,{field: 'request', align: 'center',title: '璇锋眰鍐呭'} + ,{field: 'response', align: 'center',title: '鍝嶅簲鍐呭'} + // ,{field: 'err', align: 'center',title: '寮傚父鍐呭'} + ,{field: 'result$', align: 'center',title: '缁撴灉', templet: '#resTpl', width: 80} + // ,{field: 'status$', align: 'center',title: '鐘舵��'} + ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} + // ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 80} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(apiLog)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(apiLog)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'apiLog': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/apiLog/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(apiLog)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/apiLog/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/apiLog/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '#createTime\\$', + type: 'datetime', + value: data!==undefined?data['createTime\\$']:null + }); + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime', + value: data!==undefined?data['updateTime\\$']:null + }); + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/basLift/basLift.js b/src/main/webapp/static/js/basLift/basLift.js new file mode 100644 index 0000000..cdef2d8 --- /dev/null +++ b/src/main/webapp/static/js/basLift/basLift.js @@ -0,0 +1,277 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basLift', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basLift/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {type: 'checkbox'} + ,{field: 'liftNo', align: 'center',title: '鎻愬崌鏈哄彿'} + ,{field: 'status', align: 'center',title: '褰撳墠浠诲姟鐘舵��'} + ,{field: 'wrkNo', align: 'center',title: '浠诲姟鍙�'} + // ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + // ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'memo', align: 'center',title: '澶囨敞'} + ,{field: 'pakMk$', align: 'center',title: '浣滀笟鏍囪'} + ,{field: 'liftLock$', align: 'center',title: '鎻愬崌鏈洪攣瀹�'} + ,{field: 'positionArrivalFeedback', align: 'center',title: '浣嶇疆鍒拌揪鍙嶉'} + ,{field: 'ready$', align: 'center',title: '鍑嗗灏辩华'} + ,{field: 'running', align: 'center',title: '杩愯涓�'} + ,{field: 'mode$', align: 'center',title: '鑱旀満/鍗曟満'} + // ,{field: 'lineFrontHasStock', align: 'center',title: '杈撻�佺嚎鍓嶇鍏夌數鏈夎揣'} + // ,{field: 'forwardRotationFeedback', align: 'center',title: '杈撻�佺嚎姝h浆鍙嶉'} + // ,{field: 'reverseFeedback', align: 'center',title: '杈撻�佺嚎鍙嶈浆鍙嶉'} + // ,{field: 'motorOverload', align: 'center',title: '杈撻�佺嚎鐢垫満杩囪浇'} + // ,{field: 'lineEndHasStock', align: 'center',title: '杈撻�佺嚎鏈鍏夌數鏈夎揣'} + // ,{field: 'inConveyLineCardTrayAlarm', align: 'center',title: '杩涜緭閫佺嚎鍗℃墭鐩樻姤璀�'} + // ,{field: 'outConveyLineCardTrayAlarm', align: 'center',title: '鍑鸿緭閫佺嚎鍗℃墭鐩樻姤璀�'} + // ,{field: 'platPositionDeviationAlarm', align: 'center',title: '骞冲彴浣嶇疆鍋忓樊鎶ヨ'} + // ,{field: 'platTorqueDeviationAlarm', align: 'center',title: '骞冲彴鎵煩鍋忓樊鎶ヨ'} + // ,{field: 'platShuttleCheck', align: 'center',title: '骞冲彴鍥涘悜杞︽娴�'} + ,{field: 'notReady$', align: 'center',title: '鏈氨缁姸鎬�'} + // ,{field: 'servoError1', align: 'center',title: '浼烘湇1閿欒'} + // ,{field: 'servoError2', align: 'center',title: '浼烘湇2閿欒'} + // ,{field: 'servoError3', align: 'center',title: '浼烘湇3閿欒'} + // ,{field: 'servoError4', align: 'center',title: '浼烘湇4閿欒'} + // ,{field: 'liftActualSpeed', align: 'center',title: '鎻愬崌鏈哄疄闄呴�熷害鍙嶉'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basLift)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basLift)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.liftNo; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basLift': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basLift/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basLift)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.liftNo]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basLift/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basLift/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime', + value: data!==undefined?data['updateTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/basLiftErr/basLiftErr.js b/src/main/webapp/static/js/basLiftErr/basLiftErr.js new file mode 100644 index 0000000..8014559 --- /dev/null +++ b/src/main/webapp/static/js/basLiftErr/basLiftErr.js @@ -0,0 +1,260 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basLiftErr', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basLiftErr/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {type: 'checkbox'} + ,{field: 'errorCode', align: 'center',title: '寮傚父鐮�'} + ,{field: 'errName', align: 'center',title: '寮傚父'} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'appeUser$', align: 'center',title: '娣诲姞浜哄憳'} + ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basLiftErr)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basLiftErr)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.errorCode; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basLiftErr': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basLiftErr/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basLiftErr)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.errorCode]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '鎻愬崌鏈哄紓甯哥爜', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basLiftErr/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basLiftErr/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime', + value: data!==undefined?data['modiTime\\$']:null + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime', + value: data!==undefined?data['appeTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/basLiftErrLog/basLiftErrLog.js b/src/main/webapp/static/js/basLiftErrLog/basLiftErrLog.js new file mode 100644 index 0000000..6406a58 --- /dev/null +++ b/src/main/webapp/static/js/basLiftErrLog/basLiftErrLog.js @@ -0,0 +1,287 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basLiftErrLog', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basLiftErrLog/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + // {type: 'checkbox'} + {field: 'id', align: 'center',title: '缂栧彿'} + // ,{field: 'uuid', align: 'center',title: '缂栧彿'} + ,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'} + ,{field: 'startTime$', align: 'center',title: '鍙戠敓鏃堕棿'} + ,{field: 'endTime$', align: 'center',title: '缁撴潫鏃堕棿'} + ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��'} + ,{field: 'ioType$', align: 'center',title: '鍏ュ嚭搴撶被鍨�'} + ,{field: 'liftNo', align: 'center',title: '鎻愬崌鏈�'} + ,{field: 'plcNo', align: 'center',title: 'plc'} + ,{field: 'locNo', align: 'center',title: '鐩爣搴撲綅'} + ,{field: 'staNo', align: 'center',title: '鐩爣绔�'} + ,{field: 'sourceStaNo', align: 'center',title: '婧愮珯'} + ,{field: 'sourceLocNo', align: 'center',title: '婧愬簱浣�'} + ,{field: 'barcode', align: 'center',title: '鏉$爜'} + ,{field: 'errCode', align: 'center',title: '寮傚父鐮�'} + ,{field: 'error', align: 'center',title: '寮傚父'} + ,{field: 'status$', align: 'center',title: '寮傚父鎯呭喌'} + ,{field: 'systemStatus', align: 'center',title: '绯荤粺鐘舵��'} + ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} + ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'memo', align: 'center',title: '澶囨敞'} + + // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basLiftErrLog)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basLiftErrLog)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basLiftErrLog': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basLiftErrLog/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basLiftErrLog)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basLiftErrLog/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basLiftErrLog/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + layDate.render({ + elem: '#startTime\\$', + type: 'datetime', + value: data!==undefined?data['startTime\\$']:null + }); + layDate.render({ + elem: '#endTime\\$', + type: 'datetime', + value: data!==undefined?data['endTime\\$']:null + }); + layDate.render({ + elem: '#createTime\\$', + type: 'datetime', + value: data!==undefined?data['createTime\\$']:null + }); + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime', + value: data!==undefined?data['updateTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/basLiftOpt/basLiftOpt.js b/src/main/webapp/static/js/basLiftOpt/basLiftOpt.js new file mode 100644 index 0000000..977e32f --- /dev/null +++ b/src/main/webapp/static/js/basLiftOpt/basLiftOpt.js @@ -0,0 +1,264 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basLiftOpt', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basLiftOpt/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + // {type: 'checkbox'} + {field: 'id', align: 'center',title: '缂栧彿'} + ,{field: 'wrkNo', align: 'center',title: '浠诲姟鍙�'} + ,{field: 'liftNo', align: 'center',title: '鎻愬崌鏈哄彿'} + ,{field: 'command', align: 'center',title: '鍛戒护'} + ,{field: 'systemStatus', align: 'center',title: '绯荤粺鐘舵��'} + ,{field: 'deviceWrk', align: 'center',title: '璁惧宸ヤ綔鍙�'} + ,{field: 'sendTime$', align: 'center',title: '涓嬪彂鏃堕棿'} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'memo', align: 'center',title: '澶囨敞'} + + // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basLiftOpt)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basLiftOpt)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basLiftOpt': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basLiftOpt/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basLiftOpt)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basLiftOpt/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basLiftOpt/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + layDate.render({ + elem: '#sendTime\\$', + type: 'datetime', + value: data!==undefined?data['sendTime\\$']:null + }); + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime', + value: data!==undefined?data['updateTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/basLocSts/basLocSts.js b/src/main/webapp/static/js/basLocSts/basLocSts.js new file mode 100644 index 0000000..47ac4ca --- /dev/null +++ b/src/main/webapp/static/js/basLocSts/basLocSts.js @@ -0,0 +1,440 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basLocSts', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basLocSts/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} +// ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} + ,{field: 'locSts', align: 'center',sort:true,title: '搴撲綅鐘舵�佷唬鍙�'} + ,{field: 'locDesc', align: 'center',sort: true,title: '搴撲綅鐘舵�佹弿杩�'} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'} + // ,{field: 'appeUser$', align: 'center',title: '鍒涘缓鑰�',event: 'appeUser', style: 'text-decoration: underline;cursor:pointer'} + // ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basLocSts)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basLocSts)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'basLocSts_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/basLocSts/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basLocSts': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basLocSts/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basLocSts)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'basLocSts_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#prompt', index).hide(); + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'basLocSts_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('#locSts', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + case 'modiUser': + var param = top.reObject(data).modiUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '淇敼璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#password,#createTime\\$,#status', index).parent().parent().hide(); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'appeUser': + var param = top.reObject(data).appeUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鍒涜鎯�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + locSts: $('#locSts').val(), + locDesc: $('#locDesc').val(), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + + }; + $.ajax({ + url: baseUrl+"/basLocSts/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + tableReload(true); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.9); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/basPlcerror/basPlcerror.js b/src/main/webapp/static/js/basPlcerror/basPlcerror.js new file mode 100644 index 0000000..7bd32da --- /dev/null +++ b/src/main/webapp/static/js/basPlcerror/basPlcerror.js @@ -0,0 +1,369 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basPlcerror', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basPlcerror/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox'} +// ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} + ,{field: 'errorCode', align: 'center',title: '寮傚父缂栧彿'} + ,{field: 'errorDesc', align: 'center',title: '寮傚父鎻忚堪'} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(locMast)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basPlcerror)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: ['50%', top.detailHeight], + content: 'basPlcerror_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/basPlcerror/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basPlcerror': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basPlcerror/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basPlcerror)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: ['50%', top.detailHeight], + content: 'basPlcerror_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('#errorCode', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + errorCode: $('#errorCode').val(), + errorDesc: $('#errorDesc').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + modiUser: $('#modiUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + appeUser: $('#appeUser').val(), + + }; + $.ajax({ + url: baseUrl+"/basPlcerror/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.$(".layui-laypage-btn")[0].click(); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 澶嶉�夋浜嬩欢 + form.on('checkbox(detailCheckbox)', function (data) { + var el = data.elem; + if (el.checked) { + $(el).val('Y'); + } else { + $(el).val('N'); + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + if (find[0]!=null){ + if (find[0].type === 'checkbox'){ + if (data[val]==='Y'){ + find.attr("checked","checked"); + find.val('Y'); + } else { + find.remove("checked"); + find.val('N'); + } + continue; + } + } + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/basShuttle/basShuttle.js b/src/main/webapp/static/js/basShuttle/basShuttle.js new file mode 100644 index 0000000..e4811cb --- /dev/null +++ b/src/main/webapp/static/js/basShuttle/basShuttle.js @@ -0,0 +1,279 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basShuttle', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basShuttle/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {type: 'checkbox'} + ,{field: 'shuttleNo', align: 'center',title: '鍥涘悜绌挎杞﹀彿', width: 120} + ,{field: 'status$', align: 'center',title: '鐘舵��'} + ,{field: 'shuttleStatus', align: 'center',title: '浣滀笟鎬�'} + ,{field: 'wrkNo', align: 'center',title: '浠诲姟鍙�'} + ,{field: 'idleLoc', align: 'center',title: '鏆傚瓨搴撲綅'} + // ,{field: 'autoCharge', align: 'center',title: '鑷姩鍏呯數'} + ,{field: 'chargeLine', align: 'center',title: '鐢甸噺绾�'} + ,{field: 'busyStatus$', align: 'center',title: '灏忚溅蹇欑姸鎬�'} + ,{field: 'currentCode', align: 'center',title: '浜岀淮鐮�'} + ,{field: 'batteryPower$', align: 'center',title: '鐢甸噺'} + ,{field: 'batteryTemp$', align: 'center',title: '鐢垫睜娓╁害'} + // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'} + // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} + // ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} + // ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'memo', align: 'center',title: '澶囨敞'} + ,{field: 'liftNo', align: 'center',title: '鎻愬崌鏈哄彿'} + ,{field: 'pakMk$', align: 'center',title: '鏍囪'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basShuttle)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basShuttle)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.shuttleNo; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basShuttle': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basShuttle/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basShuttle)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.shuttleNo]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basShuttle/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basShuttle/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); + } + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + layDate.render({ + elem: '#createTime\\$', + type: 'datetime', + value: data!==undefined?data['createTime\\$']:null + }); + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime', + value: data!==undefined?data['updateTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/basShuttleErr/basShuttleErr.js b/src/main/webapp/static/js/basShuttleErr/basShuttleErr.js new file mode 100644 index 0000000..72559a6 --- /dev/null +++ b/src/main/webapp/static/js/basShuttleErr/basShuttleErr.js @@ -0,0 +1,267 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basShuttleErr', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basShuttleErr/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {type: 'checkbox'} + ,{field: 'errorCode', align: 'center',title: '寮傚父鐮�'} + ,{field: 'errName', align: 'center',title: '寮傚父'} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'appeUser$', align: 'center',title: '娣诲姞浜哄憳'} + ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basShuttleErr)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basShuttleErr)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.errorCode; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basShuttleErr': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basShuttleErr/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basShuttleErr)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.errorCode]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '鍥涘悜杞﹀紓甯哥爜', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basShuttleErr/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basShuttleErr/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); + } + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime', + value: data!==undefined?data['modiTime\\$']:null + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime', + value: data!==undefined?data['appeTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/basShuttleErrLog/basShuttleErrLog.js b/src/main/webapp/static/js/basShuttleErrLog/basShuttleErrLog.js new file mode 100644 index 0000000..241c6bb --- /dev/null +++ b/src/main/webapp/static/js/basShuttleErrLog/basShuttleErrLog.js @@ -0,0 +1,287 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basShuttleErrLog', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basShuttleErrLog/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + // {type: 'checkbox'} + {field: 'id', align: 'center',title: '缂栧彿'} + // ,{field: 'uuid', align: 'center',title: '缂栧彿'} + ,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'} + ,{field: 'startTime$', align: 'center',title: '鍙戠敓鏃堕棿'} + ,{field: 'endTime$', align: 'center',title: '缁撴潫鏃堕棿'} + ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��'} + ,{field: 'ioType$', align: 'center',title: '鍏ュ嚭搴撶被鍨�'} + ,{field: 'steNo', align: 'center',title: '绌挎杞�'} + ,{field: 'plcNo', align: 'center',title: 'plc'} + ,{field: 'locNo', align: 'center',title: '鐩爣搴撲綅'} + ,{field: 'staNo', align: 'center',title: '鐩爣绔�'} + ,{field: 'sourceStaNo', align: 'center',title: '婧愮珯'} + ,{field: 'sourceLocNo', align: 'center',title: '婧愬簱浣�'} + ,{field: 'barcode', align: 'center',title: '鏉$爜'} + ,{field: 'errCode', align: 'center',title: '寮傚父鐮�'} + ,{field: 'error', align: 'center',title: '寮傚父'} + ,{field: 'status$', align: 'center',title: '寮傚父鎯呭喌'} + ,{field: 'systemStatus', align: 'center',title: '绯荤粺鐘舵��'} + ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} + ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'memo', align: 'center',title: '澶囨敞'} + + // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basShuttleErrLog)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basShuttleErrLog)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basShuttleErrLog': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basShuttleErrLog/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basShuttleErrLog)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basShuttleErrLog/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basShuttleErrLog/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + layDate.render({ + elem: '#startTime\\$', + type: 'datetime', + value: data!==undefined?data['startTime\\$']:null + }); + layDate.render({ + elem: '#endTime\\$', + type: 'datetime', + value: data!==undefined?data['endTime\\$']:null + }); + layDate.render({ + elem: '#createTime\\$', + type: 'datetime', + value: data!==undefined?data['createTime\\$']:null + }); + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime', + value: data!==undefined?data['updateTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/basShuttleErrLog/basShuttleOpt.js b/src/main/webapp/static/js/basShuttleErrLog/basShuttleOpt.js new file mode 100644 index 0000000..aa8aead --- /dev/null +++ b/src/main/webapp/static/js/basShuttleErrLog/basShuttleOpt.js @@ -0,0 +1,275 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basShuttleOpt', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basShuttleOpt/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'} + ,{field: 'shuttleNo', align: 'center',title: '鍥涘悜杞�'} + ,{field: 'mode', align: 'center',title: '浣滀笟'} + ,{field: 'sourceLocNo', align: 'center',title: '璧风偣搴撲綅'} + ,{field: 'distLocNo', align: 'center',title: '鐩爣搴撲綅'} + ,{field: 'command', align: 'center',title: '鍛戒护'} + ,{field: 'systemStatus', align: 'center',title: '绯荤粺鐘舵��'} + ,{field: 'deviceWrk', align: 'center',title: '璁惧宸ヤ綔鍙�'} + ,{field: 'sendTime$', align: 'center',title: '涓嬪彂鏃堕棿'} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'memo', align: 'center',title: '澶囨敞'} + + // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basShuttleOpt)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basShuttleOpt)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basShuttleOpt': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basShuttleOpt/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basShuttleOpt)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basShuttleOpt/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/basShuttleOpt/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + layDate.render({ + elem: '#startTime\\$', + type: 'datetime', + value: data!==undefined?data['startTime\\$']:null + }); + layDate.render({ + elem: '#endTime\\$', + type: 'datetime', + value: data!==undefined?data['endTime\\$']:null + }); + layDate.render({ + elem: '#createTime\\$', + type: 'datetime', + value: data!==undefined?data['createTime\\$']:null + }); + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime', + value: data!==undefined?data['updateTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/js/basWrkIotype/basWrkIotype.js b/src/main/webapp/static/js/basWrkIotype/basWrkIotype.js new file mode 100644 index 0000000..723120b --- /dev/null +++ b/src/main/webapp/static/js/basWrkIotype/basWrkIotype.js @@ -0,0 +1,443 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basWrkIotype', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basWrkIotype/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + // skin: 'line', + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} +// ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} + ,{field: 'ioType', align: 'center',sort:true,title: '鍏ュ嚭绫诲瀷浠e彿'} + // ,{field: 'ioPri', align: 'center',title: '涓昏'} + ,{field: 'ioDesc', align: 'center',title: '鍏ュ嚭绫诲瀷鎻忚堪'} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'} + // ,{field: 'appeUser$', align: 'center',title: '鍒涘缓鑰�',event: 'appeUser', style: 'text-decoration: underline;cursor:pointer'} + // ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basWrkIotype)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basWrkIotype)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'basWrkIotype_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/basWrkIotype/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basWrkIotype': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basWrkIotype/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basWrkIotype)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'basWrkIotype_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#prompt', index).hide(); + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'basWrkIotype_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('#ioType', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + case 'modiUser': + var param = top.reObject(data).modiUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '淇敼璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#password,#createTime\\$,#status', index).parent().parent().hide(); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'appeUser': + var param = top.reObject(data).appeUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鍒涜鎯�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + ioType: $('#ioType').val(), + ioPri: $('#ioPri').val(), + ioDesc: $('#ioDesc').val(), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + + }; + $.ajax({ + url: baseUrl+"/basWrkIotype/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + tableReload(true); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.9); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/basWrkStatus/basWrkStatus.js b/src/main/webapp/static/js/basWrkStatus/basWrkStatus.js new file mode 100644 index 0000000..a64f6da --- /dev/null +++ b/src/main/webapp/static/js/basWrkStatus/basWrkStatus.js @@ -0,0 +1,441 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#basWrkStatus', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/basWrkStatus/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + // skin: 'line', + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} +// ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} + ,{field: 'wrkSts', align: 'center',sort:true,title: '浠e彿'} + ,{field: 'wrkDesc', align: 'center',title: '鐘舵�佹弿杩�'} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'} + // ,{field: 'appeUser$', align: 'center',title: '鍒涘缓鑰�',event: 'appeUser', style: 'text-decoration: underline;cursor:pointer'} + // ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(basWrkStatus)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(basWrkStatus)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'basWrkStatus_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/basWrkStatus/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'basWrkStatus': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/basWrkStatus/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(basWrkStatus)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'basWrkStatus_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#prompt', index).hide(); + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'basWrkStatus_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('#wrkSts', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + case 'modiUser': + var param = top.reObject(data).modiUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '淇敼璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.getChildFrame('#password,#createTime\\$,#status', index).parent().parent().hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'appeUser': + var param = top.reObject(data).appeUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鍒涜鎯�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + wrkSts: $('#wrkSts').val(), + wrkDesc: $('#wrkDesc').val(), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + + }; + $.ajax({ + url: baseUrl+"/basWrkStatus/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + tableReload(true); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.9); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/config/config.js b/src/main/webapp/static/js/config/config.js new file mode 100644 index 0000000..4043b9c --- /dev/null +++ b/src/main/webapp/static/js/config/config.js @@ -0,0 +1,345 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#config', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/config/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} + ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} + ,{field: 'name', align: 'center',title: '鍚嶇О'} + ,{field: 'code', align: 'center',title: '缂栫爜'} + ,{field: 'value', align: 'center',title: '瀵瑰簲鍊�'} + ,{field: 'type$', align: 'center',title: '绫诲瀷'} + ,{field: 'status$', align: 'center',title: '鐘舵��'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(config)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(config)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'config_detail.html', + success: function(layero, index){ + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + var ids=[]; + data.map(function (track) { + ids.push(track.id); + }); + if (ids.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(ids.length===1?'姝�':ids.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/config/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'config': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/config/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(config)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'config_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'config_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + + } + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { + id: $('#id').val(), + name: $('#name').val(), + code: $('#code').val(), + value: $('#value').val(), + type: $('#type').val(), + status: $('#status').val(), + + }; + $.ajax({ + url: baseUrl+"/config/edit/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + tableReload(true); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.9); + } + layer.style(index, { + top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); + $(".layui-layer-shade").remove(); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/locMast/locMast.js b/src/main/webapp/static/js/locMast/locMast.js new file mode 100644 index 0000000..7ee7a4e --- /dev/null +++ b/src/main/webapp/static/js/locMast/locMast.js @@ -0,0 +1,590 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#locMast', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/locMast/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} + ,{field: 'locNo', align: 'center',title: '搴撲綅鍙�',sort:true} + ,{field: 'locSts$', align: 'center',title: '搴撲綅鐘舵��',width:200} + ,{field: 'qrCodeValue', align: 'center',title: '浜岀淮鐮佸��', sort:true} + ,{field: 'row1', align: 'center',title: '鎺�', sort:true} + ,{field: 'bay1', align: 'center',title: '鍒�', sort:true} + ,{field: 'lev1', align: 'center',title: '灞�', sort:true} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide:true} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide:true} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:100} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(locMast)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(locMast)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'locMast_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/locMast/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'locMast': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/locMast/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + case "init": + layer.prompt({title: '璇疯緭鍏ュ彛浠わ紝骞堕噸缃簱浣�', formType: 1, shadeClose: true}, function(pass, idx){ + http.get(baseUrl+"/locMast/init/pwd", {pwd: pass}, function (res) { + if (res.data) { + layer.open({ + type: 1, + title: '鍒濆鍖栧簱浣�', + area: ["400px"], + maxmin: true, + shadeClose: true, + content: $("#resetLocDiv"), + success: function (layero, index) { + + } + }) + } else { + layer.msg("鍙d护閿欒"); + } + layer.close(idx); + }) + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(locMast)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'locMast_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#prompt', index).hide(); + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'locMast_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + // top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('#locNo', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + case 'whsType': + var param = top.reObject(data).whsType; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '搴撲綅璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../basWhs/basWhs_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/basWhs/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'modiUser': + var param = top.reObject(data).modiUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '淇敼璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#password,#createTime\\$,#status', index).parent().parent().hide(); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'appeUser': + var param = top.reObject(data).appeUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鍒涜鎯�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鍒濆鍖栦繚瀛� + form.on('submit(initDo)', function (data) { + $.ajax({ + url: baseUrl+"/locMast/init/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + layer.msg(res.msg); + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + locNo: $('#locNo').val(), + whsType: $('#whsType').val(), + pltType: $('#pltType').val(), + ctnType: $('#ctnType').val(), + locSts: $('#locSts').val(), + sheetNo: $('#sheetNo').val(), + crnNo: $('#crnNo').val(), + row1: $('#row1').val(), + bay1: $('#bay1').val(), + lev1: $('#lev1').val(), + fullPlt: $('#fullPlt').val(), + locType1: $('#locType1').val(), + outEnable: $('#outEnable').val(), + ioTime: top.strToDate($('#ioTime\\$').val()), + firstTime: top.strToDate($('#firstTime\\$').val()), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + errorTime: top.strToDate($('#errorTime\\$').val()), + errorMemo: $('#errorMemo').val(), + ctnKind: $('#ctnKind').val(), + scWeight: $('#scWeight').val(), + invWh: $('#invWh').val(), + mk: $('#mk').val(), + barcode: $('#barcode').val(), + PdcType: $('#PdcType').val(), + ctnNo: $('#ctnNo').val(), + + }; + $.ajax({ + url: baseUrl+"/locMast/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.$(".layui-laypage-btn")[0].click(); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 澶嶉�夋浜嬩欢 + form.on('checkbox(detailCheckbox)', function (data) { + var el = data.elem; + if (el.checked) { + $(el).val('Y'); + } else { + $(el).val('N'); + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#ioTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#firstTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#errorTime\\$', + type: 'datetime' + }); + + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + if (find[0]!=null){ + if (find[0].type === 'checkbox'){ + if (data[val]==='Y'){ + find.attr("checked","checked"); + find.val('Y'); + } else { + find.remove("checked"); + find.val('N'); + } + continue; + } + } + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/operateLog/operateLog.js b/src/main/webapp/static/js/operateLog/operateLog.js new file mode 100644 index 0000000..d8c9acf --- /dev/null +++ b/src/main/webapp/static/js/operateLog/operateLog.js @@ -0,0 +1,396 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#operateLog', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/operateLog/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + // {type: 'checkbox'} + {field: 'id', title: 'ID', sort: true,align: 'center', width: 80} + ,{field: 'userId$', align: 'center',title: '鐢ㄦ埛'} + ,{field: 'action', align: 'center',title: '鎿嶄綔鍐呭'} + ,{field: 'ip', align: 'center',title: '瀹㈡埛绔疘P'} + ,{field: 'request', align: 'center',title: '璇锋眰鏁版嵁'} + ,{field: 'response', align: 'center',title: '鍝嶅簲鏁版嵁'} + ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} + + // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:100} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + table.on('edit(operateLog)', function (obj) { + $('body').keydown(function () { + if (event.keyCode === 13) { + layer.confirm('淇濆瓨淇敼?', function(){ + + }); + } + }); + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(operateLog)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(operateLog)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'operateLog_detail.html', + success: function(layero, index){ + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + var ids=[]; + data.map(function (track) { + ids.push(track.id); + }); + if (ids.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(ids.length===1?'姝�':ids.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/operateLog/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'operateLog': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/operateLog/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(operateLog)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'operateLog_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'operateLog_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + case 'userId': + var param = top.reObject(data).userId; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailHeight, top.detailWidth], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { + id: $('#id').val(), + action: $('#action').val(), + userId: $('#userId').val(), + ip: $('#ip').val(), + request: $('#request').val(), + response: $('#response').val(), + createTime: top.strToDate($('#createTime\\$').val()), + + }; + $.ajax({ + url: baseUrl+"/operateLog/edit/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + tableReload(true); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#createTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.9); + } + layer.style(index, { + top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); + $(".layui-layer-shade").remove(); +} + diff --git a/src/main/webapp/static/js/permission/permission.js b/src/main/webapp/static/js/permission/permission.js new file mode 100644 index 0000000..ca06b66 --- /dev/null +++ b/src/main/webapp/static/js/permission/permission.js @@ -0,0 +1,378 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#permission', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/permission/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} + ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} + ,{field: 'name', align: 'center',title: '鏉冮檺鍚嶇О'} + ,{field: 'action', align: 'center',title: '鎺ュ彛鍦板潃'} + ,{field: 'resourceName', align: 'center',title: '鎵�灞炶彍鍗�',event: 'Resource', style: 'text-decoration: underline;cursor:pointer'} + ,{field: 'status$', align: 'center',title: '鐘舵��'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(permission)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(permission)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'permission_detail.html', + success: function(layero, index){ + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + var ids=[]; + data.map(function (track) { + ids.push(track.id); + }); + if (ids.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(ids.length===1?'姝�':ids.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/permission/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'permission': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/permission/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(permission)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'permission_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'permission_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + case 'Resource': + var param = top.reObject(data).resourceId; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鎵�灞炶鎯�', + maxmin: true, + area: [top.detailHeight, top.detailWidth], + shadeClose: false, + content: '../resource/resource_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/resource/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { + id: $('#id').val(), + name: $('#name').val(), + action: $('#action').val(), + resourceId: $('#resourceId').val(), + status: $('#status').val(), + + }; + $.ajax({ + url: baseUrl+"/permission/edit/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + tableReload(true); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.9); + } + layer.style(index, { + top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); + $(".layui-layer-shade").remove(); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/resource/resource.js b/src/main/webapp/static/js/resource/resource.js new file mode 100644 index 0000000..5b5610d --- /dev/null +++ b/src/main/webapp/static/js/resource/resource.js @@ -0,0 +1,382 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#resource', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/resource/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} + ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} + ,{field: 'code', align: 'center',title: '鑿滃崟缂栫爜'} + ,{field: 'name', align: 'center',title: '鑿滃崟鍚嶇О'} + ,{field: 'resourceName', align: 'center',title: '鐖剁骇鑿滃崟'} + ,{field: 'level$', align: 'center',title: '鑿滃崟绛夌骇'} + ,{field: 'sort', align: 'center',title: '鎺掑簭'} + // ,{field: 'status$', align: 'center',title: '鐘舵��'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(resource)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(resource)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'resource_detail.html', + success: function(layero, index){ + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + var ids=[]; + data.map(function (track) { + ids.push(track.id); + }); + if (ids.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(ids.length===1?'姝�':ids.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/resource/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'resource': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/resource/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(resource)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'resource_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'resource_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + case 'Resource': + var param = top.reObject(data).resourceId; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鐖剁骇璇︽儏', + maxmin: true, + area: [top.detailHeight, top.detailWidth], + shadeClose: false, + content: '../resource/resource_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/resource/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { + id: $('#id').val(), + code: $('#code').val(), + name: $('#name').val(), + resourceId: $('#resourceId').val(), + level: $('#level').val(), + sort: $('#sort').val(), + status: $('#status').val(), + + }; + $.ajax({ + url: baseUrl+"/resource/edit/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + tableReload(true); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.9); + } + layer.style(index, { + top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); + $(".layui-layer-shade").remove(); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/role/role.js b/src/main/webapp/static/js/role/role.js new file mode 100644 index 0000000..3bdce29 --- /dev/null +++ b/src/main/webapp/static/js/role/role.js @@ -0,0 +1,410 @@ +var pageCurr; +var roleId; +var powerTreeData; +$(function (){ + $.ajax({ + url: baseUrl+"/power/list/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + powerTreeData = res.data; + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) +}); + +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#role', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/role/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} + ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} + ,{field: 'code', align: 'center',title: '缂栫爜'} + ,{field: 'name', align: 'center',title: '鍚嶇О'} + ,{field: 'leader$', align: 'center',title: '涓婄骇'} + // ,{field: 'level$', align: 'center',title: '瑙掕壊绛夌骇'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(role)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(role)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'role_detail.html', + success: function(layero, index){ + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + var ids=[]; + data.map(function (track) { + ids.push(track.id); + }); + if (ids.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(ids.length===1?'姝�':ids.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/role/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'role': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/role/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(role)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'role_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'role_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + case 'leader': + var param = top.reObject(data).leader; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailHeight, top.detailWidth], + shadeClose: false, + content: '../role/role_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/role/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'power': + roleId = data.id; + layer.open({ + type: 2, + title: data.name + ' 鏉冮檺鍒嗛厤', + maxmin: true, + area: [top.detailWidth/2, '85%'], + shadeClose: false, + content: 'role_power_detail.html', + success: function(layero, index){ + } + }); + break; + } + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { + id: $('#id').val(), + code: $('#code').val(), + name: $('#name').val(), + leader: $('#leader').val(), + level: $('#level').val(), + + }; + $.ajax({ + url: baseUrl+"/role/edit/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + tableReload(true); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.9); + } + layer.style(index, { + top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); + $(".layui-layer-shade").remove(); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/role/rolePower.js b/src/main/webapp/static/js/role/rolePower.js new file mode 100644 index 0000000..212e2ba --- /dev/null +++ b/src/main/webapp/static/js/role/rolePower.js @@ -0,0 +1,82 @@ +layui.use(['form', 'tree'], function() { + var form = layui.form; + var tree = layui.tree; + var $ = layui.jquery; + var layer = layui.layer; + + // 鏉冮檺鍒嗛厤鏍戝舰鍥� + var powerTree = tree.render({ + elem: '#power-tree', + id: 'powerTree', + showCheckbox: true, + data: parent.powerTreeData, + isJump: true + }); + + loadPower(); + function loadPower(){ + $.ajax({ + url: baseUrl+"/power/"+parent.roleId+"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + beforeSend: function () { + layer.load(1, {shade: [0.1,'#fff']}); + }, + success: function (res) { + if (res.code === 200){ + tree.setChecked('powerTree', res.data); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + layer.closeAll("loading"); + } + }); + } + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(save)', function () { + var param = []; + var checkData = tree.getChecked('powerTree'); + checkData.map(function (obj) { + obj.children.map(function (resource) { + + var childrens = []; + resource.children.map(function (resource) { + childrens.push(resource.id); + }); + var one = { + 'two': resource.id, + 'three': childrens + }; + param.push(one); + }) + }); + $.ajax({ + url: baseUrl+"/power/auth", + traditional: true, + headers: {'token': localStorage.getItem('token')}, + data: { + 'roleId': parent.roleId, + 'powers': JSON.stringify(param) + }, + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.layer.msg(res.msg); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); \ No newline at end of file diff --git a/src/main/webapp/static/js/user/user.js b/src/main/webapp/static/js/user/user.js new file mode 100644 index 0000000..0e06c7e --- /dev/null +++ b/src/main/webapp/static/js/user/user.js @@ -0,0 +1,238 @@ +var pageCurr; +var tableData; +var insTb2; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'util', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + var util = layui.util; + + insTb2 = table.render({ + elem: '#userTable', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/user/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#userToolbar', + height: 'full-100', + cols: [[ + {type: 'checkbox'} + // ,{field: 'hostName', align: 'center',title: '鎺堟潈鍟嗘埛', templet: '#hostTpl', width: 140} + // ,{field: 'nickname', align: 'center',title: '鐢ㄦ埛鍚�'} + ,{field: 'username', align: 'center',title: '鐧诲綍璐︽埛'} + ,{field: 'mobile', align: 'center',title: '鎵嬫満鍙�'} + // ,{field: 'deptName', align: 'center',title: '鎵�灞為儴闂�'} + ,{field: 'roleName', align: 'center',title: '瑙掕壊'} + ,{field: 'email', align: 'center',title: '閭'} + // ,{field: 'sex$', align: 'center',title: '鎬у埆'} + ,{field: 'createTime$', align: 'center',title: '娉ㄥ唽鏃堕棿', hide: true} + ,{field: 'status$', align: 'center',title: '鐘舵��', templet: '#statusTpl', width: 120, unresize: true} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:170} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + tableData = table.cache.userTable; + pageCurr=curr; + limit(); + } + }); + /* 琛ㄦ牸2鎼滅储 */ + form.on('submit(userTbSearch)', function (data) { + insTb2.reload({where: data.field, page: {curr: 1}}); + return false; + }); + + /* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */ + table.on('toolbar(userTable)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + if (obj.event === 'add') { // 娣诲姞 + showEditModel() + } else if (obj.event === 'del') { // 鍒犻櫎 + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + } + }); + + // 淇敼鐘舵�� + form.on('switch(statusSwitch)', function (obj) { + var index = obj.othis.parents('tr').attr("data-index"); + var data = tableData[index]; + data[this.name] = obj.elem.checked?1:0; + http.post(baseUrl+"/user/edit/auth", {id: data.id, status: data[this.name]}, function (res) { + layer.msg(res.msg, {icon: 1}); + }) + }) + + /* 琛ㄦ牸2宸ュ叿鏉$偣鍑讳簨浠� */ + table.on('tool(userTable)', function (obj) { + var data = obj.data; + switch (obj.event) { + // 缂栬緫 + case 'edit': + showEditModel(data) + break; + // 鍒犻櫎 + case 'del': + del([data.id]); + break; + // 閲嶇疆瀵嗙爜 + case 'resetPwd': + admin.open({ + type: 1, + title: '閲嶇疆瀵嗙爜', + offset: '150px', + area: ['360px'], + shade: 0.1, + shadeClose: true, + content: $("#resetpwd-window").html(), + success: function(layero, index){ + layer.iframeAuto(index); + $('#resetUserId').val(data.id); + } + }); + break; + } + }); + + /* 鏄剧ず琛ㄥ崟寮圭獥 */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '鐢ㄦ埛', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + // 鍥炴樉琛ㄥ崟鏁版嵁 + form.val('detail', mData); + // 琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(editSubmit)', function (data) { + if (isEmpty(data.field.roleId)) { + layer.msg('璇烽�夋嫨瑙掕壊', {icon: 2}); + return false; + } + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/user/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + $(".layui-laypage-btn")[0].click(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯 + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + + /* 鍒犻櫎璁㈠崟 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/user/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + $(".layui-laypage-btn")[0].click(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + + }); + } + + // 閲嶇疆瀵嗙爜 + form.on('submit(savePwd)', function (data) { + $.ajax({ + url: baseUrl+"/user/update/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + id: data.field.resetUserId, + password: hex_md5(data.field.resetPassword) + }, + method: 'POST', + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + layer.msg("閲嶇疆瀵嗙爜鎴愬姛", {icon: 1}); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + return false; + }) + +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + } + }); +} + diff --git a/src/main/webapp/static/js/userLogin/userLogin.js b/src/main/webapp/static/js/userLogin/userLogin.js new file mode 100644 index 0000000..f0907ef --- /dev/null +++ b/src/main/webapp/static/js/userLogin/userLogin.js @@ -0,0 +1,369 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#userLogin', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/userLogin/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} + ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} + ,{field: 'userUsername', align: 'center',title: '鍛樺伐',event: 'User', style: 'text-decoration: underline;cursor:pointer'} + ,{field: 'token', align: 'center',title: '鍑瘉鍊�'} + ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(userLogin)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(userLogin)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'userLogin_detail.html', + success: function(layero, index){ + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + var ids=[]; + data.map(function (track) { + ids.push(track.id); + }); + if (ids.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(ids.length===1?'姝�':ids.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/userLogin/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function() { + var titles = []; + var fields = []; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function () { + exportData[this.name] = this.value; + }); + var param = { + 'userLogin': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/userLogin/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType: 'json', + contentType: 'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles, res.data, 'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(userLogin)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'userLogin_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'userLogin_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } + }); + break; + case 'User': + var param = top.reObject(data).userId; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailHeight, top.detailWidth], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { + id: $('#id').val(), + userId: $('#userId').val(), + token: $('#token').val(), + createTime: top.strToDate($('#createTime\\$').val()), + + }; + $.ajax({ + url: baseUrl+"/userLogin/edit/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + tableReload(true); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#createTime\\$', + type: 'datetime' + }); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data) { + for (var val in data) { + el.find(":input[id='" + val + "']").val(data[val]); + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.9); + } + layer.style(index, { + top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); + $(".layui-layer-shade").remove(); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/wrkLastno/wrkLastno.js b/src/main/webapp/static/js/wrkLastno/wrkLastno.js new file mode 100644 index 0000000..97e1769 --- /dev/null +++ b/src/main/webapp/static/js/wrkLastno/wrkLastno.js @@ -0,0 +1,475 @@ +var pageCurr; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#wrkLastno', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/wrkLastno/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {type: 'checkbox', fixed: 'left'} + ,{field: 'wrkMk', align: 'center',title: '绫诲瀷'} + ,{field: 'sno', align: 'center',title: '璧峰ID'} + ,{field: 'wrkNo', align: 'center',title: '褰撳墠ID', style: 'color: #AA3130;font-weight: bold'} + ,{field: 'eno', align: 'center',title: '缁堟ID'} + ,{field: 'memoM', align: 'center',title: '澶囨敞'} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate'} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(wrkLastno)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(wrkLastno)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'wrkLastno_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/wrkLastno/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'wrkLastno': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/wrkLastno/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(wrkLastno)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'wrkLastno_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'wrkLastno_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('#wrkMk', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + case 'modiUser': + var param = top.reObject(data).modiUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '淇敼璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#password,#createTime\\$,#status', index).parent().parent().hide(); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.getChildFrame('##dealDownLine', index).hide();layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'appeUser': + var param = top.reObject(data).appeUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鍒涜鎯�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: baseUrl+"/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + parent.location.href = "/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + wrkMk: $('#wrkMk').val(), + wrkNo: $('#wrkNo').val(), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + sNo: $('#sno').val(), + eNo: $('#eno').val(), + memoM: $('#memoM').val(), + + }; + $.ajax({ + url: baseUrl+"/wrkLastno/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.$(".layui-laypage-btn")[0].click(); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 澶嶉�夋浜嬩欢 + form.on('checkbox(detailCheckbox)', function (data) { + var el = data.elem; + if (el.checked) { + $(el).val('Y'); + } else { + $(el).val('N'); + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + if (find[0]!=null){ + if (find[0].type === 'checkbox'){ + if (data[val]==='Y'){ + find.attr("checked","checked"); + find.val('Y'); + } else { + find.remove("checked"); + find.val('N'); + } + continue; + } + } + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js b/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js new file mode 100644 index 0000000..c782e4c --- /dev/null +++ b/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js @@ -0,0 +1,532 @@ +var pageCurr; +var wrkNo; +var ioTime; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#wrkMastLog', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/wrkMastLog/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + // {type: 'checkbox'} +// ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} +// ,{field: 'id', align: 'center',title: '缂栧彿'} + {field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�',event: 'wrkNo', sort: true} + ,{field: 'ioTime$', align: 'center',title: '宸ヤ綔鏃堕棿', width:160, sort: true} + ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��', width:160} + ,{field: 'ioType$', align: 'center',title: '鍏ュ嚭搴撶被鍨�', width:160} + ,{field: 'ioPri', align: 'center',title: '浼樺厛绾�'} + ,{field: 'sourceStaNo$', align: 'center',title: '婧愮珯'} + ,{field: 'staNo$', align: 'center',title: '鐩爣绔�'} + ,{field: 'sourceLocNo$', align: 'center',title: '婧愬簱浣�'} + ,{field: 'locNo$', align: 'center',title: '鐩爣搴撲綅'} + // ,{field: 'picking', align: 'center',title: '鎷f枡', templet:function(row){ + // var html = "<input value='picking' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; + // if(row.picking === 'Y'){html += " checked ";} + // html += ">"; + // return html; + // }} + // ,{field: 'exitMk', align: 'center',title: '閫�鍑�', templet:function(row){ + // var html = "<input value='exitMk' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; + // if(row.exitMk === 'Y'){html += " checked ";} + // html += ">"; + // return html; + // }} + // ,{field: 'emptyMk', align: 'center',title: '绌烘澘', templet:function(row){ + // var html = "<input value='emptyMk' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; + // if(row.emptyMk === 'Y'){html += " checked ";} + // html += ">"; + // return html; + // }} + // + // ,{field: 'crnStrTime$', align: 'center',title: '鍫嗗灈鏈哄惎鍔ㄦ椂闂�'} + // ,{field: 'crnEndTime$', align: 'center',title: '鍫嗗灈鏈哄仠姝㈡椂闂�'} + // ,{field: 'plcStrTime$', align: 'center',title: '鎷f枡鏃堕棿'} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide:true} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide:true} + // ,{field: 'appeUser$', align: 'center',title: '鍒涘缓鑰�',event: 'appeUser', style: 'cursor:pointer'} + // ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'} + ,{field: 'barcode', align: 'center',title: '鏉$爜'} + // ,{field: 'fullPlt', align: 'center',title: '婊℃澘', templet:function(row){ + // var html = "<input value='fullPlt' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; + // if(row.fullPlt === 'Y'){html += " checked ";} + // html += ">"; + // return html; + // }} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 80} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(wrkMastLog)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(wrkMastLog)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'wrkMastLog_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/wrkMastLog/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'wrkMastLog': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/wrkMastLog/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(wrkMastLog)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 鏄庣粏灞曠ず + case 'detlShow': + wrkNo = data.wrkNo; + ioTime = data.ioTime; + // 琛ㄦ牸涓嬫柟鏄剧ず + // locDetl(data.wrkNo); + // 寮瑰眰鏄剧ず + layer.open({ + type: 2, + title: '宸ヤ綔鏄庣粏鍘嗗彶妗�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: 'wrkDetlLog.html', + success: function(layero, index){ + } + }); + break; + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'wrkMastLog_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.getChildFrame('##dealDownLine', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + + } + }); + break; + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + id: $('#id').val(), + wrkNo: $('#wrkNo').val(), + invWh: $('#invWh').val(), + ymd: top.strToDate($('#ymd\\$').val()), + mk: $('#mk').val(), + whsType: $('#whsType').val(), + wrkSts: $('#wrkSts').val(), + ioType: $('#ioType').val(), + crnNo: $('#crnNo').val(), + sheetNo: $('#sheetNo').val(), + ioPri: $('#ioPri').val(), + wrkDate: top.strToDate($('#wrkDate\\$').val()), + locNo: $('#locNo').val(), + staNo: $('#staNo').val(), + sourceStaNo: $('#sourceStaNo').val(), + sourceLocNo: $('#sourceLocNo').val(), + locSts: $('#locSts').val(), + picking: $('#picking').val(), + linkMis: $('#linkMis').val(), + onlineYn: $('#onlineYn').val(), + updMk: $('#updMk').val(), + exitMk: $('#exitMk').val(), + pltType: $('#pltType').val(), + emptyMk: $('#emptyMk').val(), + ioTime: top.strToDate($('#ioTime\\$').val()), + ctnType: $('#ctnType').val(), + packed: $('#packed').val(), + oveMk: $('#oveMk').val(), + mtnType: $('#mtnType').val(), + userNo: $('#userNo').val(), + crnStrTime: top.strToDate($('#crnStrTime\\$').val()), + crnEndTime: top.strToDate($('#crnEndTime\\$').val()), + plcStrTime: top.strToDate($('#plcStrTime\\$').val()), + crnPosTime: top.strToDate($('#crnPosTime\\$').val()), + loadTime: $('#loadTime').val(), + expTime: $('#expTime').val(), + refWrkno: $('#refWrkno').val(), + refIotime: top.strToDate($('#refIotime\\$').val()), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + pauseMk: $('#pauseMk').val(), + errorTime: top.strToDate($('#errorTime\\$').val()), + errorMemo: $('#errorMemo').val(), + ctnKind: $('#ctnKind').val(), + manuType: $('#manuType').val(), + memoM: $('#memoM').val(), + scWeight: $('#scWeight').val(), + logMk: $('#logMk').val(), + logErrTime: top.strToDate($('#logErrTime\\$').val()), + logErrMemo: $('#logErrMemo').val(), + barcode: $('#barcode').val(), + PdcType: $('#PdcType').val(), + ctnNo: $('#ctnNo').val(), + fullPlt: $('#fullPlt').val(), + + }; + $.ajax({ + url: baseUrl+"/wrkMastLog/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.$(".layui-laypage-btn")[0].click(); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 澶嶉�夋浜嬩欢 + form.on('checkbox(detailCheckbox)', function (data) { + var el = data.elem; + if (el.checked) { + $(el).val('Y'); + } else { + $(el).val('N'); + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#ymd\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#wrkDate\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#ioTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#crnStrTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#crnEndTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#plcStrTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#crnPosTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#refIotime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#errorTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#logErrTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + if (find[0]!=null){ + if (find[0].type === 'checkbox'){ + if (data[val]==='Y'){ + find.attr("checked","checked"); + find.val('Y'); + } else { + find.remove("checked"); + find.val('N'); + } + continue; + } + } + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/layui/lay/modules/admin.js b/src/main/webapp/static/layui/lay/modules/admin.js new file mode 100644 index 0000000..fc8a4c4 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/admin.js @@ -0,0 +1,1667 @@ +锘�/** EasyWeb iframe v3.1.8 date:2020-05-04 License By http://easyweb.vip */ + +layui.define(['layer'], function (exports) { + var $ = layui.jquery; + var layer = layui.layer; + var setter = layui.cache; + var bodyDOM = '.layui-layout-admin>.layui-body'; + var tabDOM = bodyDOM + '>.layui-tab'; + var sideDOM = '.layui-layout-admin>.layui-side>.layui-side-scroll'; + var headerDOM = '.layui-layout-admin>.layui-header'; + var navFilter = 'admin-side-nav'; + var admin = {version: '3.1.8', layerData: {}}; + + /** 璁剧疆渚ф爮鎶樺彔 */ + admin.flexible = function (expand) { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.flexible(expand); + var $layout = $('.layui-layout-admin'); + var isExapnd = $layout.hasClass('admin-nav-mini'); + if (expand === undefined) expand = isExapnd; + if (isExapnd === expand) { + if (window.sideFlexTimer) clearTimeout(window.sideFlexTimer); + $layout.addClass('admin-side-flexible'); + window.sideFlexTimer = setTimeout(function () { + $layout.removeClass('admin-side-flexible'); + }, 600); + if (expand) { + admin.hideTableScrollBar(); + $layout.removeClass('admin-nav-mini'); + } else { + $layout.addClass('admin-nav-mini'); + } + layui.event.call(this, 'admin', 'flexible({*})', {expand: expand}); + } + }; + + /** 璁剧疆瀵艰埅鏍忛�変腑 */ + admin.activeNav = function (url) { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.activeNav(url); + if (!url) return console.warn('active url is null'); + $(sideDOM + '>.layui-nav .layui-nav-item .layui-nav-child dd.layui-this').removeClass('layui-this'); + $(sideDOM + '>.layui-nav .layui-nav-item.layui-this').removeClass('layui-this'); + var $a = $(sideDOM + '>.layui-nav a[lay-href="' + url + '"]'); + if ($a.length === 0) return console.warn(url + ' not found'); + var isMini = $('.layui-layout-admin').hasClass('admin-nav-mini'); + if ($(sideDOM + '>.layui-nav').attr('lay-shrink') === '_all') { // 鎵嬮鐞存晥鏋� + var $pChilds = $a.parent('dd').parents('.layui-nav-child'); + if (!isMini) { + $(sideDOM + '>.layui-nav .layui-nav-itemed>.layui-nav-child').not($pChilds) + .css('display', 'block').slideUp('fast', function () { + $(this).css('display', ''); + }); + } + $(sideDOM + '>.layui-nav .layui-nav-itemed').not($pChilds.parent()).removeClass('layui-nav-itemed'); + } + $a.parent().addClass('layui-this'); // 閫変腑褰撳墠 + // 灞曞紑鎵�鏈夌埗绾� + var $asParents = $a.parent('dd').parents('.layui-nav-child').parent(); + if (!isMini) { + var $childs = $asParents.not('.layui-nav-itemed').children('.layui-nav-child'); + $childs.slideDown('fast', function () { + if ($(this).is($childs.last())) { + $childs.css('display', ''); + // 鑿滃崟瓒呭嚭灞忓箷鑷姩婊氬姩 + var topBeyond = $a.offset().top + $a.outerHeight() + 30 - admin.getPageHeight(); + var topDisparity = 50 + 65 - $a.offset().top; + if (topBeyond > 0) { + $(sideDOM).animate({'scrollTop': $(sideDOM).scrollTop() + topBeyond}, 300); + } else if (topDisparity > 0) { + $(sideDOM).animate({'scrollTop': $(sideDOM).scrollTop() - topDisparity}, 300); + } + } + }); + } + $asParents.addClass('layui-nav-itemed'); + // 閫傞厤澶氱郴缁熸ā寮� + $('ul[lay-filter="' + navFilter + '"]').addClass('layui-hide'); + var $aUl = $a.parents('.layui-nav'); + $aUl.removeClass('layui-hide'); + $(headerDOM + '>.layui-nav>.layui-nav-item').removeClass('layui-this'); + $(headerDOM + '>.layui-nav>.layui-nav-item>a[nav-bind="' + $aUl.attr('nav-id') + '"]').parent().addClass('layui-this'); + }; + + /** 鍙充晶寮瑰嚭 */ + admin.popupRight = function (param) { + param.anim = -1; + param.offset = 'r'; + param.move = false; + param.fixed = true; + if (param.area === undefined) param.area = '336px'; + if (param.title === undefined) param.title = false; + if (param.closeBtn === undefined) param.closeBtn = false; + if (param.shadeClose === undefined) param.shadeClose = true; + if (param.skin === undefined) param.skin = 'layui-anim layui-anim-rl layui-layer-adminRight'; + return admin.open(param); + }; + + /** 灏佽layer.open */ + admin.open = function (param) { + if (param.content && param.type === 2) param.url = undefined; // 鍙傛暟绾犳 + if (param.url && (param.type === 2 || param.type === undefined)) param.type = 1; // 鍙傛暟绾犳 + if (param.area === undefined) param.area = param.type === 2 ? ['360px', '300px'] : '360px'; + if (param.offset === undefined) param.offset = '70px'; + if (param.shade === undefined) param.shade = .1; + if (param.fixed === undefined) param.fixed = false; + if (param.resize === undefined) param.resize = false; + if (param.skin === undefined) param.skin = 'layui-layer-admin'; + var eCallBack = param.end; + param.end = function () { + layer.closeAll('tips'); // 鍏抽棴琛ㄥ崟楠岃瘉鐨則ips + eCallBack && eCallBack(); + }; + if (param.url) { + var sCallBack = param.success; + param.success = function (layero, index) { + $(layero).data('tpl', param.tpl || ''); + admin.reloadLayer(index, param.url, sCallBack); + }; + } else if (param.tpl && param.content) { + param.content = admin.util.tpl(param.content, param.data, setter.tplOpen, setter.tplClose); + } + var layIndex = layer.open(param); + if (param.data) admin.layerData['d' + layIndex] = param.data; + return layIndex; + }; + + /** 鑾峰彇寮圭獥鏁版嵁 */ + admin.getLayerData = function (index, key) { + if (index === undefined) { + index = parent.layer.getFrameIndex(window.name); + if (index === undefined) return null; + else return parent.layui.admin.getLayerData(parseInt(index), key); + } else if (isNaN(index)) { + index = admin.getLayerIndex(index); + } + if (index === undefined) return; + var layerData = admin.layerData['d' + index]; + if (key && layerData) return layerData[key]; + return layerData; + }; + + /** 鏀惧叆寮圭獥鏁版嵁 */ + admin.putLayerData = function (key, value, index) { + if (index === undefined) { + index = parent.layer.getFrameIndex(window.name); + if (index === undefined) return; + else return parent.layui.admin.putLayerData(key, value, parseInt(index)); + } else if (isNaN(index)) { + index = admin.getLayerIndex(index); + } + if (index === undefined) return; + var layerData = admin.getLayerData(index); + if (!layerData) layerData = {}; + layerData[key] = value; + admin.layerData['d' + index] = layerData; + }; + + /** 鍒锋柊url鏂瑰紡鐨刲ayer */ + admin.reloadLayer = function (index, url, success) { + if (typeof url === 'function') { + success = url; + url = undefined; + } + if (isNaN(index)) index = admin.getLayerIndex(index); + if (index === undefined) return; + var $layero = $('#layui-layer' + index); + if (url === undefined) url = $layero.data('url'); + if (!url) return; + $layero.data('url', url); + admin.showLoading($layero); + admin.ajax({ + url: url, + dataType: 'html', + success: function (res) { + admin.removeLoading($layero, false); + if (typeof res !== 'string') res = JSON.stringify(res); + var tpl = $layero.data('tpl'); + // 妯℃澘瑙f瀽 + if (tpl === true || tpl === 'true') { + var data = admin.getLayerData(index) || {}; + data.layerIndex = index; + // 妯℃澘閲岄潰鏈夊姩鎬佹ā鏉垮鐞� + var $html = $('<div>' + res + '</div>'), tplAll = {}; + $html.find('script,[tpl-ignore]').each(function (i) { + var $this = $(this); + tplAll['temp_' + i] = $this[0].outerHTML; + $this.after('${temp_' + i + '}').remove(); + }); + res = admin.util.tpl($html.html(), data, setter.tplOpen, setter.tplClose); + for (var f in tplAll) res = res.replace('${' + f + '}', tplAll[f]); + } + $layero.children('.layui-layer-content').html(res); + admin.renderTpl('#layui-layer' + index + ' [ew-tpl]'); + success && success($layero[0], index); + } + }); + }; + + /** 灏佽layer.alert */ + admin.alert = function (content, options, yes) { + if (typeof options === 'function') { + yes = options; + options = {}; + } + if (options.skin === undefined) options.skin = 'layui-layer-admin'; + if (options.shade === undefined) options.shade = .1; + return layer.alert(content, options, yes); + }; + + /** 灏佽layer.confirm */ + admin.confirm = function (content, options, yes, cancel) { + if (typeof options === 'function') { + cancel = yes; + yes = options; + options = {}; + } + if (options.skin === undefined) options.skin = 'layui-layer-admin'; + if (options.shade === undefined) options.shade = .1; + return layer.confirm(content, options, yes, cancel); + }; + + /** 灏佽layer.prompt */ + admin.prompt = function (options, yes) { + if (typeof options === 'function') { + yes = options; + options = {}; + } + if (options.skin === undefined) options.skin = 'layui-layer-admin layui-layer-prompt'; + if (options.shade === undefined) options.shade = .1; + return layer.prompt(options, yes); + }; + + /** 灏佽ajax璇锋眰锛岃繑鍥炴暟鎹被鍨嬩负json */ + admin.req = function (url, data, success, method, option) { + if (typeof data === 'function') { + option = method; + method = success; + success = data; + data = {}; + } + if (method !== undefined && typeof method !== 'string') { + option = method; + method = undefined; + } + if (!method) method = 'GET'; + if (typeof data === 'string') { + if (!option) option = {}; + if (!option.contentType) option.contentType = 'application/json;charset=UTF-8'; + } else if (setter.reqPutToPost) { + if ('put' === method.toLowerCase()) { + method = 'POST'; + data._method = 'PUT'; + } else if ('delete' === method.toLowerCase()) { + method = 'GET'; + data._method = 'DELETE'; + } + } + return admin.ajax($.extend({ + url: (setter.baseServer || '') + url, data: data, type: method, dataType: 'json', success: success + }, option)); + }; + + /** 灏佽ajax璇锋眰 */ + admin.ajax = function (param) { + var oldParam = admin.util.deepClone(param); + if (!param.dataType) param.dataType = 'json'; + if (!param.headers) param.headers = {}; + // 缁熶竴璁剧疆header + var headers = setter.getAjaxHeaders(param.url); + if (headers) { + for (var i = 0; i < headers.length; i++) { + if (param.headers[headers[i].name] === undefined) param.headers[headers[i].name] = headers[i].value; + } + } + // success棰勫鐞� + var success = param.success; + param.success = function (result, status, xhr) { + var before = setter.ajaxSuccessBefore(admin.parseJSON(result), param.url, { + param: oldParam, reload: function (p) { + admin.ajax($.extend(true, oldParam, p)); + }, update: function (r) { + result = r; + }, xhr: xhr + }); + if (before !== false) success && success(result, status, xhr); + else param.cancel && param.cancel(); + }; + param.error = function (xhr, status) { + param.success({code: xhr.status, msg: xhr.statusText}, status, xhr); + }; + // 瑙e喅缂撳瓨闂 + if (layui.cache.version && (!setter.apiNoCache || param.dataType.toLowerCase() !== 'json')) { + if (param.url.indexOf('?') === -1) param.url += '?v='; + else param.url += '&v='; + if (layui.cache.version === true) param.url += new Date().getTime(); + else param.url += layui.cache.version; + } + return $.ajax(param); + }; + + /** 瑙f瀽json */ + admin.parseJSON = function (str) { + if (typeof str === 'string') { + try { + return JSON.parse(str); + } catch (e) { + } + } + return str; + }; + + /** 鏄剧ず鍔犺浇鍔ㄧ敾 */ + admin.showLoading = function (elem, type, opacity, size) { + if (elem !== undefined && (typeof elem !== 'string') && !(elem instanceof $)) { + type = elem.type; + opacity = elem.opacity; + size = elem.size; + elem = elem.elem; + } + if (type === undefined) type = setter.defaultLoading || 1; + if (size === undefined) size = 'sm'; + if (elem === undefined) elem = 'body'; + var loader = [ + '<div class="ball-loader ' + size + '"><span></span><span></span><span></span><span></span></div>', + '<div class="rubik-loader ' + size + '"></div>', + '<div class="signal-loader ' + size + '"><span></span><span></span><span></span><span></span></div>', + '<div class="layui-loader ' + size + '"><i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i></div>' + ]; + $(elem).addClass('page-no-scroll'); // 绂佺敤婊氬姩鏉� + $(elem).scrollTop(0); + var $loading = $(elem).children('.page-loading'); + if ($loading.length <= 0) { + $(elem).append('<div class="page-loading">' + loader[type - 1] + '</div>'); + $loading = $(elem).children('.page-loading'); + } + if (opacity !== undefined) $loading.css('background-color', 'rgba(255,255,255,' + opacity + ')'); + $loading.show(); + }; + + /** 绉婚櫎鍔犺浇鍔ㄧ敾 */ + admin.removeLoading = function (elem, fade, del) { + if (elem === undefined) elem = 'body'; + if (fade === undefined) fade = true; + var $loading = $(elem).children('.page-loading'); + if (del) $loading.remove(); + else if (fade) $loading.fadeOut('fast'); + else $loading.hide(); + $(elem).removeClass('page-no-scroll'); + }; + + /** 缂撳瓨涓存椂鏁版嵁 */ + admin.putTempData = function (key, value, local) { + var tableName = local ? setter.tableName : setter.tableName + '_tempData'; + if (value === undefined || value === null) { + if (local) layui.data(tableName, {key: key, remove: true}); + else layui.sessionData(tableName, {key: key, remove: true}); + } else { + if (local) layui.data(tableName, {key: key, value: value}); + else layui.sessionData(tableName, {key: key, value: value}); + } + }; + + /** 鑾峰彇缂撳瓨涓存椂鏁版嵁 */ + admin.getTempData = function (key, local) { + if (typeof key === 'boolean') { + local = key; + key = undefined; + } + var tableName = local ? setter.tableName : setter.tableName + '_tempData'; + var tempData = local ? layui.data(tableName) : layui.sessionData(tableName); + if (!key) return tempData; + return tempData ? tempData[key] : undefined; + }; + + /** 婊戝姩閫夐」鍗� */ + admin.rollPage = function (d) { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.rollPage(d); + var $tabTitle = $(tabDOM + '>.layui-tab-title'); + var left = $tabTitle.scrollLeft(); + if ('left' === d) { + $tabTitle.animate({'scrollLeft': left - 120}, 100); + } else if ('auto' === d) { + var autoLeft = 0; + $tabTitle.children("li").each(function () { + if ($(this).hasClass('layui-this')) return false; + else autoLeft += $(this).outerWidth(); + }); + $tabTitle.animate({'scrollLeft': autoLeft - 120}, 100); + } else { + $tabTitle.animate({'scrollLeft': left + 120}, 100); + } + }; + + /** 鍒锋柊褰撳墠閫夐」鍗� */ + admin.refresh = function (url, isIndex) { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.refresh(url); + var $iframe; + if (!url) { + $iframe = $(tabDOM + '>.layui-tab-content>.layui-tab-item.layui-show>.admin-iframe'); + if (!$iframe || $iframe.length <= 0) $iframe = $(bodyDOM + '>div>.admin-iframe'); + } else { + $iframe = $(tabDOM + '>.layui-tab-content>.layui-tab-item>.admin-iframe[lay-id="' + url + '"]'); + if (!$iframe || $iframe.length <= 0) $iframe = $(bodyDOM + '>.admin-iframe'); + } + if (!$iframe || !$iframe[0]) return console.warn(url + ' is not found'); + try { + if (isIndex && $iframe[0].contentWindow.refreshTab) { + $iframe[0].contentWindow.refreshTab(); + } else { + admin.showLoading({elem: $iframe.parent(), size: ''}); + $iframe[0].contentWindow.location.reload(); + } + } catch (e) { + console.warn(e); + $iframe.attr('src', $iframe.attr('src')); + } + }; + + /** 鍏抽棴褰撳墠閫夐」鍗� */ + admin.closeThisTabs = function (url) { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.closeThisTabs(url); + admin.closeTabOperNav(); + var $title = $(tabDOM + '>.layui-tab-title'); + if (!url) { + if ($title.find('li').first().hasClass('layui-this')) return layer.msg('涓婚〉涓嶈兘鍏抽棴', {icon: 2}); + $title.find('li.layui-this').find('.layui-tab-close').trigger('click'); + } else { + if (url === $title.find('li').first().attr('lay-id')) return layer.msg('涓婚〉涓嶈兘鍏抽棴', {icon: 2}); + $title.find('li[lay-id="' + url + '"]').find('.layui-tab-close').trigger('click'); + } + }; + + /** 鍏抽棴鍏朵粬閫夐」鍗� */ + admin.closeOtherTabs = function (url) { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.closeOtherTabs(url); + if (!url) { + $(tabDOM + '>.layui-tab-title li:gt(0):not(.layui-this)').find('.layui-tab-close').trigger('click'); + } else { + $(tabDOM + '>.layui-tab-title li:gt(0)').each(function () { + if (url !== $(this).attr('lay-id')) $(this).find('.layui-tab-close').trigger('click'); + }); + } + admin.closeTabOperNav(); + }; + + /** 鍏抽棴鎵�鏈夐�夐」鍗� */ + admin.closeAllTabs = function () { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.closeAllTabs(); + $(tabDOM + '>.layui-tab-title li:gt(0)').find('.layui-tab-close').trigger('click'); + $(tabDOM + '>.layui-tab-title li:eq(0)').trigger('click'); + admin.closeTabOperNav(); + }; + + /** 鍏抽棴閫夐」鍗℃搷浣滆彍鍗� */ + admin.closeTabOperNav = function () { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.closeTabOperNav(); + $('.layui-icon-down .layui-nav .layui-nav-child').removeClass('layui-show'); + }; + + /** 璁剧疆涓婚 */ + admin.changeTheme = function (theme, win, noCache, noChild) { + if (!noCache) admin.putSetting('defaultTheme', theme); + if (!win) win = top; + admin.removeTheme(win); + if (theme) { + try { + var $body = win.layui.jquery('body'); + $body.addClass(theme); + $body.data('theme', theme); + } catch (e) { + } + } + if (noChild) return; + var ifs = win.frames; + for (var i = 0; i < ifs.length; i++) admin.changeTheme(theme, ifs[i], true, false); + }; + + /** 绉婚櫎涓婚 */ + admin.removeTheme = function (w) { + if (!w) w = window; + try { + var $body = w.layui.jquery('body'); + var theme = $body.data('theme'); + if (theme) $body.removeClass(theme); + $body.removeData('theme'); + } catch (e) { + } + }; + + /** 鍏抽棴褰撳墠iframe灞傚脊绐� */ + admin.closeThisDialog = function () { + return admin.closeDialog(); + }; + + /** 鍏抽棴elem鎵�鍦ㄧ殑椤甸潰灞傚脊绐� */ + admin.closeDialog = function (elem) { + if (elem) layer.close(admin.getLayerIndex(elem)); + else parent.layer.close(parent.layer.getFrameIndex(window.name)); + }; + + /** 鑾峰彇椤甸潰灞傚脊绐楃殑index */ + admin.getLayerIndex = function (elem) { + if (!elem) return parent.layer.getFrameIndex(window.name); + var id = $(elem).parents('.layui-layer').first().attr('id'); + if (id && id.length >= 11) return id.substring(11); + }; + + /** 璁╁綋鍓嶇殑iframe寮瑰眰鑷�傚簲楂樺害 */ + admin.iframeAuto = function () { + return parent.layer.iframeAuto(parent.layer.getFrameIndex(window.name)); + }; + + /** 鑾峰彇娴忚鍣ㄩ珮搴� */ + admin.getPageHeight = function () { + return document.documentElement.clientHeight || document.body.clientHeight; + }; + + /** 鑾峰彇娴忚鍣ㄥ搴� */ + admin.getPageWidth = function () { + return document.documentElement.clientWidth || document.body.clientWidth; + }; + + /** 缁戝畾琛ㄥ崟寮圭獥 */ + admin.modelForm = function (layero, btnFilter, formFilter) { + var $layero = $(layero); + $layero.addClass('layui-form'); + if (formFilter) $layero.attr('lay-filter', formFilter); + // 纭畾鎸夐挳缁戝畾submit + var $btnSubmit = $layero.find('.layui-layer-btn .layui-layer-btn0'); + $btnSubmit.attr('lay-submit', ''); + $btnSubmit.attr('lay-filter', btnFilter); + }; + + /** loading鎸夐挳 */ + admin.btnLoading = function (elem, text, loading) { + if (text !== undefined && (typeof text === 'boolean')) { + loading = text; + text = undefined; + } + if (text === undefined) text = ' 鍔犺浇涓�'; + if (loading === undefined) loading = true; + var $elem = $(elem); + if (loading) { + $elem.addClass('ew-btn-loading'); + $elem.prepend('<span class="ew-btn-loading-text"><i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>' + text + '</span>'); + $elem.attr('disabled', 'disabled').prop('disabled', true); + } else { + $elem.removeClass('ew-btn-loading'); + $elem.children('.ew-btn-loading-text').remove(); + $elem.removeProp('disabled').removeAttr('disabled'); + } + }; + + /** 榧犳爣绉诲叆渚ц竟鏍忚嚜鍔ㄥ睍寮� */ + admin.openSideAutoExpand = function () { + var $side = $('.layui-layout-admin>.layui-side'); + $side.off('mouseenter.openSideAutoExpand').on("mouseenter.openSideAutoExpand", function () { + if (!$(this).parent().hasClass('admin-nav-mini')) return; + admin.flexible(true); + $(this).addClass('side-mini-hover'); + }); + $side.off('mouseleave.openSideAutoExpand').on("mouseleave.openSideAutoExpand", function () { + if (!$(this).hasClass('side-mini-hover')) return; + admin.flexible(false); + $(this).removeClass('side-mini-hover'); + }); + }; + + /** 琛ㄦ牸鍗曞厓鏍艰秴鍑哄唴瀹硅嚜鍔ㄥ睍寮� */ + admin.openCellAutoExpand = function () { + var $body = $('body'); + $body.off('mouseenter.openCellAutoExpand').on('mouseenter.openCellAutoExpand', '.layui-table-view td', function () { + $(this).find('.layui-table-grid-down').trigger('click'); + }); + $body.off('mouseleave.openCellAutoExpand').on('mouseleave.openCellAutoExpand', '.layui-table-tips>.layui-layer-content', function () { + $('.layui-table-tips-c').trigger('click'); + }); + }; + + /** open浜嬩欢瑙f瀽layer鍙傛暟 */ + admin.parseLayerOption = function (option) { + // 鏁扮粍绫诲瀷杩涜杞崲 + for (var f in option) { + if (!option.hasOwnProperty(f)) continue; + if (option[f] && option[f].toString().indexOf(',') !== -1) option[f] = option[f].toString().split(','); + } + // function绫诲瀷鍙傛暟杞崲 + var fs = {'success': 'layero,index', 'cancel': 'index,layero', 'end': '', 'full': '', 'min': '', 'restore': ''}; + for (var k in fs) { + if (!fs.hasOwnProperty(k) || !option[k]) continue; + try { + if (/^[a-zA-Z_]+[a-zA-Z0-9_]+$/.test(option[k])) option[k] += '()'; + option[k] = new Function(fs[k], option[k]); + } catch (e) { + option[k] = undefined; + } + } + // content鍙栧唴瀹� + if (option.content && (typeof option.content === 'string') && option.content.indexOf('#') === 0) { + if ($(option.content).is('script')) option.content = $(option.content).html(); + else option.content = $(option.content); + } + if (option.type === undefined && option.url === undefined) option.type = 2; // 榛樿涓篿frame绫诲瀷 + return option; + }; + + /** 瀛楃涓插舰寮忕殑parent.parent杞瑆indow瀵硅薄 */ + admin.strToWin = function (str) { + var win = window; + if (!str) return win; + var ws = str.split('.'); + for (var i = 0; i < ws.length; i++) win = win[ws[i]]; + return win; + }; + + /** 瑙e喅鎶樺彔渚ц竟鏍忚〃鏍兼粴鍔ㄦ潯闂幇 */ + admin.hideTableScrollBar = function (win) { + if (admin.getPageWidth() <= 768) return; + if (!win) { + var $iframe = $(tabDOM + '>.layui-tab-content>.layui-tab-item.layui-show>.admin-iframe'); + if ($iframe.length <= 0) $iframe = $(bodyDOM + '>div>.admin-iframe'); + if ($iframe.length > 0) win = $iframe[0].contentWindow; + } + try { // 鍙兘浼氳法鍩� + if (window.hsbTimer) clearTimeout(window.hsbTimer); + win.layui.jquery('.layui-table-body.layui-table-main').addClass('no-scrollbar'); + window.hsbTimer = setTimeout(function () { + win.layui.jquery('.layui-table-body.layui-table-main').removeClass('no-scrollbar'); + }, 800); + } catch (e) { + } + }; + + /** 鍒ゆ柇鏄惁鏄富妗嗘灦 */ + admin.isTop = function () { + return $(bodyDOM).length > 0; + }; + + /** admin鎻愪緵鐨勪簨浠� */ + admin.events = { + /* 鎶樺彔渚у鑸� */ + flexible: function () { + admin.strToWin($(this).data('window')).layui.admin.flexible(); + }, + /* 鍒锋柊涓讳綋閮ㄥ垎 */ + refresh: function () { + admin.strToWin($(this).data('window')).layui.admin.refresh(); + }, + /* 鍚庨�� */ + back: function () { + admin.strToWin($(this).data('window')).history.back(); + }, + /* 璁剧疆涓婚 */ + theme: function () { + var option = admin.util.deepClone($(this).data()); + admin.strToWin(option.window).layui.admin.popupRight($.extend({ + id: 'layer-theme', url: option.url || 'tpl/tpl-theme.html' + }, admin.parseLayerOption(option))); + }, + /* 鎵撳紑渚跨 */ + note: function () { + var option = admin.util.deepClone($(this).data()); + admin.strToWin(option.window).layui.admin.popupRight($.extend({ + id: 'layer-note', url: option.url || 'tpl/tpl-note.html' + }, admin.parseLayerOption(option))); + }, + /* 鎵撳紑娑堟伅 */ + message: function () { + var option = admin.util.deepClone($(this).data()); + admin.strToWin(option.window).layui.admin.popupRight($.extend({ + id: 'layer-notice', url: option.url || 'tpl/tpl-message.html' + }, admin.parseLayerOption(option))); + }, + /* 鎵撳紑淇敼瀵嗙爜寮圭獥 */ + psw: function () { + var option = admin.util.deepClone($(this).data()); + admin.strToWin(option.window).layui.admin.open($.extend({ + id: 'layer-psw', title: '淇敼瀵嗙爜', shade: 0, url: option.url || 'tpl/tpl-password.html' + }, admin.parseLayerOption(option))); + }, + /* 閫�鍑虹櫥褰� */ + logout: function () { + var option = admin.util.deepClone($(this).data()); + admin.unlockScreen(); + + function doLogout() { + if (option.ajax) { + var loadIndex = layer.load(2); + admin.req(option.ajax, function (res) { + layer.close(loadIndex); + if (option.parseData) { + try { + var parseData = new Function('res', option.parseData); + res = parseData(res); + } catch (e) { + console.error(e); + } + } + if (res.code == (option.code || 0)) { + setter.removeToken && setter.removeToken(); + location.replace(option.url || '/'); + } else { + layer.msg(res.msg, {icon: 2}); + } + }, option.method || 'delete'); + } else { + setter.removeToken && setter.removeToken(); + location.replace(option.url || '/'); + } + } + + if (false === option.confirm || 'false' === option.confirm) return doLogout(); + admin.strToWin(option.window).layui.layer.confirm(option.content || '纭畾瑕侀��鍑虹櫥褰曞悧锛�', $.extend({ + title: '娓╅Θ鎻愮ず', skin: 'layui-layer-admin', shade: .1 + }, admin.parseLayerOption(option)), function () { + doLogout(); + }); + }, + /* 鎵撳紑寮圭獥 */ + open: function () { + var option = admin.util.deepClone($(this).data()); + admin.strToWin(option.window).layui.admin.open(admin.parseLayerOption(option)); + }, + /* 鎵撳紑鍙充晶寮圭獥 */ + popupRight: function () { + var option = admin.util.deepClone($(this).data()); + admin.strToWin(option.window).layui.admin.popupRight(admin.parseLayerOption(option)); + }, + /* 鍏ㄥ睆 */ + fullScreen: function () { + var ac = 'layui-icon-screen-full', ic = 'layui-icon-screen-restore'; + var $ti = $(this).find('i'); + var isFullscreen = document.fullscreenElement || document.msFullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || false; + if (isFullscreen) { + var efs = document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen; + if (efs) { + efs.call(document); + } else if (window.ActiveXObject) { + var ws = new ActiveXObject('WScript.Shell'); + ws && ws.SendKeys('{F11}'); + } + $ti.addClass(ac).removeClass(ic); + } else { + var el = document.documentElement; + var rfs = el.requestFullscreen || el.webkitRequestFullscreen || el.mozRequestFullScreen || el.msRequestFullscreen; + if (rfs) { + rfs.call(el); + } else if (window.ActiveXObject) { + var wss = new ActiveXObject('WScript.Shell'); + wss && wss.SendKeys('{F11}'); + } + $ti.addClass(ic).removeClass(ac); + } + }, + /* 宸︽粦鍔╰ab */ + leftPage: function () { + admin.strToWin($(this).data('window')).layui.admin.rollPage('left'); + }, + /* 鍙虫粦鍔╰ab */ + rightPage: function () { + admin.strToWin($(this).data('window')).layui.admin.rollPage(); + }, + /* 鍏抽棴褰撳墠閫夐」鍗� */ + closeThisTabs: function () { + var url = $(this).data('url'); + admin.strToWin($(this).data('window')).layui.admin.closeThisTabs(url); + }, + /* 鍏抽棴鍏朵粬閫夐」鍗� */ + closeOtherTabs: function () { + admin.strToWin($(this).data('window')).layui.admin.closeOtherTabs(); + }, + /* 鍏抽棴鎵�鏈夐�夐」鍗� */ + closeAllTabs: function () { + admin.strToWin($(this).data('window')).layui.admin.closeAllTabs(); + }, + /* 鍏抽棴褰撳墠寮圭獥(鏅鸿兘) */ + closeDialog: function () { + if ($(this).parents('.layui-layer').length > 0) admin.closeDialog(this); + else admin.closeDialog(); + }, + /* 鍏抽棴褰撳墠iframe寮圭獥 */ + closeIframeDialog: function () { + admin.closeDialog(); + }, + /* 鍏抽棴褰撳墠椤甸潰灞傚脊绐� */ + closePageDialog: function () { + admin.closeDialog(this); + }, + /* 閿佸睆 */ + lockScreen: function () { + admin.strToWin($(this).data('window')).layui.admin.lockScreen($(this).data('url')); + } + }; + + /** 閫夋嫨浣嶇疆 */ + admin.chooseLocation = function (param) { + var dialogTitle = param.title; // 寮圭獥鏍囬 + var onSelect = param.onSelect; // 閫夋嫨鍥炶皟 + var needCity = param.needCity; // 鏄惁杩斿洖琛屾斂鍖� + var mapCenter = param.center; // 鍦板浘涓績 + var defaultZoom = param.defaultZoom; // 鍦板浘榛樿缂╂斁绾у埆 + var pointZoom = param.pointZoom; // 閫変腑鏃跺湴鍥剧缉鏀剧骇鍒� + var searchKeywords = param.keywords; // poi妫�绱㈠叧閿瓧 + var searchPageSize = param.pageSize; // poi妫�绱㈡渶澶ф暟閲� + var mapJsUrl = param.mapJsUrl; // 楂樺痉鍦板浘js鐨剈rl + if (dialogTitle === undefined) dialogTitle = '閫夋嫨浣嶇疆'; + if (defaultZoom === undefined) defaultZoom = 11; + if (pointZoom === undefined) pointZoom = 17; + if (searchKeywords === undefined) searchKeywords = ''; + if (searchPageSize === undefined) searchPageSize = 30; + if (mapJsUrl === undefined) mapJsUrl = 'https://webapi.amap.com/maps?v=1.4.14&key=006d995d433058322319fa797f2876f5'; + var isSelMove = false, selLocation; + // 鎼滅储闄勮繎 + var searchNearBy = function (lat, lng) { + AMap.service(['AMap.PlaceSearch'], function () { + var placeSearch = new AMap.PlaceSearch({ + type: '', pageSize: searchPageSize, pageIndex: 1 + }); + var cpoint = [lng, lat]; + placeSearch.searchNearBy(searchKeywords, cpoint, 1000, function (status, result) { + if (status === 'complete') { + var pois = result.poiList.pois; + var htmlList = ''; + for (var i = 0; i < pois.length; i++) { + var poiItem = pois[i]; + if (poiItem.location !== undefined) { + htmlList += '<div data-lng="' + poiItem.location.lng + '" data-lat="' + poiItem.location.lat + '" class="ew-map-select-search-list-item">'; + htmlList += ' <div class="ew-map-select-search-list-item-title">' + poiItem.name + '</div>'; + htmlList += ' <div class="ew-map-select-search-list-item-address">' + poiItem.address + '</div>'; + htmlList += ' <div class="ew-map-select-search-list-item-icon-ok layui-hide"><i class="layui-icon layui-icon-ok-circle"></i></div>'; + htmlList += '</div>'; + } + } + $('#ew-map-select-pois').html(htmlList); + } + }); + }); + }; + // 娓叉煋鍦板浘 + var renderMap = function () { + var mapOption = { + resizeEnable: true, // 鐩戞帶鍦板浘瀹瑰櫒灏哄鍙樺寲 + zoom: defaultZoom // 鍒濈缉鏀剧骇鍒� + }; + mapCenter && (mapOption.center = mapCenter); + var map = new AMap.Map('ew-map-select-map', mapOption); + // 鍦板浘鍔犺浇瀹屾垚 + map.on('complete', function () { + var center = map.getCenter(); + searchNearBy(center.lat, center.lng); + }); + // 鍦板浘绉诲姩缁撴潫浜嬩欢 + map.on('moveend', function () { + if (isSelMove) { + isSelMove = false; + } else { + $('#ew-map-select-tips').addClass('layui-hide'); + $('#ew-map-select-center-img').removeClass('bounceInDown'); + setTimeout(function () { + $('#ew-map-select-center-img').addClass('bounceInDown'); + }); + var center = map.getCenter(); + searchNearBy(center.lat, center.lng); + } + }); + // poi鍒楄〃鐐瑰嚮浜嬩欢 + $('#ew-map-select-pois').off('click').on('click', '.ew-map-select-search-list-item', function () { + $('#ew-map-select-tips').addClass('layui-hide'); + $('#ew-map-select-pois .ew-map-select-search-list-item-icon-ok').addClass('layui-hide'); + $(this).find('.ew-map-select-search-list-item-icon-ok').removeClass('layui-hide'); + $('#ew-map-select-center-img').removeClass('bounceInDown'); + setTimeout(function () { + $('#ew-map-select-center-img').addClass('bounceInDown'); + }); + var lng = $(this).data('lng'); + var lat = $(this).data('lat'); + var name = $(this).find('.ew-map-select-search-list-item-title').text(); + var address = $(this).find('.ew-map-select-search-list-item-address').text(); + selLocation = {name: name, address: address, lat: lat, lng: lng}; + isSelMove = true; + map.setZoomAndCenter(pointZoom, [lng, lat]); + }); + // 纭畾鎸夐挳鐐瑰嚮浜嬩欢 + $('#ew-map-select-btn-ok').click(function () { + if (selLocation === undefined) { + layer.msg('璇风偣鍑讳綅缃垪琛ㄩ�夋嫨', {icon: 2, anim: 6}); + } else if (onSelect) { + if (needCity) { + var loadIndex = layer.load(2); + map.setCenter([selLocation.lng, selLocation.lat]); + map.getCity(function (result) { + layer.close(loadIndex); + selLocation.city = result; + admin.closeDialog('#ew-map-select-btn-ok'); + onSelect(selLocation); + }); + } else { + admin.closeDialog('#ew-map-select-btn-ok'); + onSelect(selLocation); + } + } else { + admin.closeDialog('#ew-map-select-btn-ok'); + } + }); + // 鎼滅储鎻愮ず + var $inputSearch = $('#ew-map-select-input-search'); + $inputSearch.off('input').on('input', function () { + var keywords = $(this).val(); + var $selectTips = $('#ew-map-select-tips'); + if (!keywords) { + $selectTips.html(''); + $selectTips.addClass('layui-hide'); + } + AMap.plugin('AMap.Autocomplete', function () { + var autoComplete = new AMap.Autocomplete({city: '鍏ㄥ浗'}); + autoComplete.search(keywords, function (status, result) { + if (result.tips) { + var tips = result.tips; + var htmlList = ''; + for (var i = 0; i < tips.length; i++) { + var tipItem = tips[i]; + if (tipItem.location !== undefined) { + htmlList += '<div data-lng="' + tipItem.location.lng + '" data-lat="' + tipItem.location.lat + '" class="ew-map-select-search-list-item">'; + htmlList += ' <div class="ew-map-select-search-list-item-icon-search"><i class="layui-icon layui-icon-search"></i></div>'; + htmlList += ' <div class="ew-map-select-search-list-item-title">' + tipItem.name + '</div>'; + htmlList += ' <div class="ew-map-select-search-list-item-address">' + tipItem.address + '</div>'; + htmlList += '</div>'; + } + } + $selectTips.html(htmlList); + if (tips.length === 0) $('#ew-map-select-tips').addClass('layui-hide'); + else $('#ew-map-select-tips').removeClass('layui-hide'); + } else { + $selectTips.html(''); + $selectTips.addClass('layui-hide'); + } + }); + }); + }); + $inputSearch.off('blur').on('blur', function () { + var keywords = $(this).val(); + var $selectTips = $('#ew-map-select-tips'); + if (!keywords) { + $selectTips.html(''); + $selectTips.addClass('layui-hide'); + } + }); + $inputSearch.off('focus').on('focus', function () { + var keywords = $(this).val(); + if (keywords) $('#ew-map-select-tips').removeClass('layui-hide'); + }); + // tips鍒楄〃鐐瑰嚮浜嬩欢 + $('#ew-map-select-tips').off('click').on('click', '.ew-map-select-search-list-item', function () { + $('#ew-map-select-tips').addClass('layui-hide'); + var lng = $(this).data('lng'); + var lat = $(this).data('lat'); + selLocation = undefined; + map.setZoomAndCenter(pointZoom, [lng, lat]); + }); + }; + // 鏄剧ず寮圭獥 + var htmlStr = [ + '<div class="ew-map-select-tool" style="position: relative;">', + ' 鎼滅储锛�<input id="ew-map-select-input-search" class="layui-input icon-search inline-block" style="width: 190px;" placeholder="杈撳叆鍏抽敭瀛楁悳绱�" autocomplete="off" />', + ' <button id="ew-map-select-btn-ok" class="layui-btn icon-btn pull-right" type="button"><i class="layui-icon"></i>纭畾</button>', + ' <div id="ew-map-select-tips" class="ew-map-select-search-list layui-hide">', + ' </div>', + '</div>', + '<div class="layui-row ew-map-select">', + ' <div class="layui-col-sm7 ew-map-select-map-group" style="position: relative;">', + ' <div id="ew-map-select-map"></div>', + ' <i id="ew-map-select-center-img2" class="layui-icon layui-icon-add-1"></i>', + ' <img id="ew-map-select-center-img" src="https://3gimg.qq.com/lightmap/components/locationPicker2/image/marker.png" alt=""/>', + ' </div>', + ' <div id="ew-map-select-pois" class="layui-col-sm5 ew-map-select-search-list">', + ' </div>', + '</div>'].join(''); + admin.open({ + id: 'ew-map-select', type: 1, title: dialogTitle, area: '750px', content: htmlStr, + success: function (layero, dIndex) { + var $content = $(layero).children('.layui-layer-content'); + $content.css('overflow', 'visible'); + admin.showLoading($content); + if (undefined === window.AMap) { + $.getScript(mapJsUrl, function () { + renderMap(); + admin.removeLoading($content); + }); + } else { + renderMap(); + admin.removeLoading($content); + } + } + }); + }; + + /** 瑁佸壀鍥剧墖 */ + admin.cropImg = function (param) { + var uploadedImageType = 'image/jpeg'; // 褰撳墠鍥剧墖鐨勭被鍨� + var aspectRatio = param.aspectRatio; // 瑁佸壀姣斾緥 + var imgSrc = param.imgSrc; // 瑁佸壀鍥剧墖 + var imgType = param.imgType; // 鍥剧墖绫诲瀷 + var onCrop = param.onCrop; // 瑁佸壀瀹屾垚鍥炶皟 + var limitSize = param.limitSize; // 闄愬埗閫夋嫨鐨勫浘鐗囧ぇ灏� + var acceptMime = param.acceptMime; // 闄愬埗閫夋嫨鐨勫浘鐗囩被鍨� + var imgExts = param.exts; // 闄愬埗閫夋嫨鐨勫浘鐗囩被鍨� + var dialogTitle = param.title; // 寮圭獥鐨勬爣棰� + if (aspectRatio === undefined) aspectRatio = 1; + if (dialogTitle === undefined) dialogTitle = '瑁佸壀鍥剧墖'; + if (imgType) uploadedImageType = imgType; + layui.use(['Cropper', 'upload'], function () { + var Cropper = layui.Cropper, upload = layui.upload; + + // 娓叉煋缁勪欢 + function renderElem() { + var imgCropper, $cropImg = $('#ew-crop-img'); + // 涓婁紶鏂囦欢鎸夐挳缁戝畾浜嬩欢 + var uploadOptions = { + elem: '#ew-crop-img-upload', auto: false, drag: false, + choose: function (obj) { + obj.preview(function (index, file, result) { + uploadedImageType = file.type; + $cropImg.attr('src', result); + if (!imgSrc || !imgCropper) { + imgSrc = result; + renderElem(); + } else { + imgCropper.destroy(); + imgCropper = new Cropper($cropImg[0], options); + } + }); + } + }; + if (limitSize !== undefined) uploadOptions.size = limitSize; + if (acceptMime !== undefined) uploadOptions.acceptMime = acceptMime; + if (imgExts !== undefined) uploadOptions.exts = imgExts; + upload.render(uploadOptions); + // 娌℃湁浼犲浘鐗囪Е鍙戜笂浼犲浘鐗� + if (!imgSrc) return $('#ew-crop-img-upload').trigger('click'); + // 娓叉煋瑁佸壀缁勪欢 + var options = {aspectRatio: aspectRatio, preview: '#ew-crop-img-preview'}; + imgCropper = new Cropper($cropImg[0], options); + // 鎿嶄綔鎸夐挳缁戝畾浜嬩欢 + $('.ew-crop-tool').on('click', '[data-method]', function () { + var data = $(this).data(), cropped, result; + if (!imgCropper || !data.method) return; + data = $.extend({}, data); + cropped = imgCropper.cropped; + switch (data.method) { + case 'rotate': + if (cropped && options.viewMode > 0) imgCropper.clear(); + break; + case 'getCroppedCanvas': + if (uploadedImageType === 'image/jpeg') { + if (!data.option) data.option = {}; + data.option.fillColor = '#fff'; + } + break; + } + result = imgCropper[data.method](data.option, data.secondOption); + switch (data.method) { + case 'rotate': + if (cropped && options.viewMode > 0) imgCropper.crop(); + break; + case 'scaleX': + case 'scaleY': + $(this).data('option', -data.option); + break; + case 'getCroppedCanvas': + if (result) { + onCrop && onCrop(result.toDataURL(uploadedImageType)); + admin.closeDialog('#ew-crop-img'); + } else { + layer.msg('瑁佸壀澶辫触', {icon: 2, anim: 6}); + } + break; + } + }); + } + + // 鏄剧ず寮圭獥 + var htmlStr = [ + '<div class="layui-row">', + ' <div class="layui-col-sm8" style="min-height: 9rem;">', + ' <img id="ew-crop-img" src="', imgSrc || '', '" style="max-width:100%;" alt=""/>', + ' </div>', + ' <div class="layui-col-sm4 layui-hide-xs" style="padding: 15px;text-align: center;">', + ' <div id="ew-crop-img-preview" style="width: 100%;height: 9rem;overflow: hidden;display: inline-block;border: 1px solid #dddddd;"></div>', + ' </div>', + '</div>', + '<div class="text-center ew-crop-tool" style="padding: 15px 10px 5px 0;">', + ' <div class="layui-btn-group" style="margin-bottom: 10px;margin-left: 10px;">', + ' <button title="鏀惧ぇ" data-method="zoom" data-option="0.1" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-add-1"></i></button>', + ' <button title="缂╁皬" data-method="zoom" data-option="-0.1" class="layui-btn icon-btn" type="button"><span style="display: inline-block;width: 12px;height: 2.5px;background: rgba(255, 255, 255, 0.9);vertical-align: middle;margin: 0 4px;"></span></button>', + ' </div>', + ' <div class="layui-btn-group layui-hide-xs" style="margin-bottom: 10px;">', + ' <button title="鍚戝乏鏃嬭浆" data-method="rotate" data-option="-45" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-refresh-1" style="transform: rotateY(180deg) rotate(40deg);display: inline-block;"></i></button>', + ' <button title="鍚戝彸鏃嬭浆" data-method="rotate" data-option="45" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-refresh-1" style="transform: rotate(30deg);display: inline-block;"></i></button>', + ' </div>', + ' <div class="layui-btn-group" style="margin-bottom: 10px;">', + ' <button title="宸︾Щ" data-method="move" data-option="-10" data-second-option="0" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-left"></i></button>', + ' <button title="鍙崇Щ" data-method="move" data-option="10" data-second-option="0" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-right"></i></button>', + ' <button title="涓婄Щ" data-method="move" data-option="0" data-second-option="-10" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-up"></i></button>', + ' <button title="涓嬬Щ" data-method="move" data-option="0" data-second-option="10" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-down"></i></button>', + ' </div>', + ' <div class="layui-btn-group" style="margin-bottom: 10px;">', + ' <button title="宸﹀彸缈昏浆" data-method="scaleX" data-option="-1" class="layui-btn icon-btn" type="button" style="position: relative;width: 41px;"><i class="layui-icon layui-icon-triangle-r" style="position: absolute;left: 9px;top: 0;transform: rotateY(180deg);font-size: 16px;"></i><i class="layui-icon layui-icon-triangle-r" style="position: absolute; right: 3px; top: 0;font-size: 16px;"></i></button>', + ' <button title="涓婁笅缈昏浆" data-method="scaleY" data-option="-1" class="layui-btn icon-btn" type="button" style="position: relative;width: 41px;"><i class="layui-icon layui-icon-triangle-d" style="position: absolute;left: 11px;top: 6px;transform: rotateX(180deg);line-height: normal;font-size: 16px;"></i><i class="layui-icon layui-icon-triangle-d" style="position: absolute; left: 11px; top: 14px;line-height: normal;font-size: 16px;"></i></button>', + ' </div>', + ' <div class="layui-btn-group" style="margin-bottom: 10px;">', + ' <button title="閲嶆柊寮�濮�" data-method="reset" class="layui-btn icon-btn" type="button"><i class="layui-icon layui-icon-refresh"></i></button>', + ' <button title="閫夋嫨鍥剧墖" id="ew-crop-img-upload" class="layui-btn icon-btn" type="button" style="border-radius: 0 2px 2px 0;"><i class="layui-icon layui-icon-upload-drag"></i></button>', + ' </div>', + ' <button data-method="getCroppedCanvas" data-option="{ "maxWidth": 4096, "maxHeight": 4096 }" class="layui-btn icon-btn" type="button" style="margin-left: 10px;margin-bottom: 10px;"><i class="layui-icon"></i>瀹屾垚</button>', + '</div>'].join(''); + admin.open({ + title: dialogTitle, area: '665px', type: 1, content: htmlStr, + success: function (layero, dIndex) { + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + renderElem(); + } + }); + }); + }; + + /** 宸ュ叿绫� */ + admin.util = { + /* 鐧惧害鍦板浘鍧愭爣杞珮寰峰湴鍥惧潗鏍� */ + Convert_BD09_To_GCJ02: function (point) { + var x_pi = (3.14159265358979324 * 3000.0) / 180.0; + var x = point.lng - 0.0065, y = point.lat - 0.006; + var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi); + var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi); + return {lng: z * Math.cos(theta), lat: z * Math.sin(theta)}; + }, + /* 楂樺痉鍦板浘鍧愭爣杞櫨搴﹀湴鍥惧潗鏍� */ + Convert_GCJ02_To_BD09: function (point) { + var x_pi = (3.14159265358979324 * 3000.0) / 180.0; + var x = point.lng, y = point.lat; + var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi); + var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi); + return {lng: z * Math.cos(theta) + 0.0065, lat: z * Math.sin(theta) + 0.006}; + }, + /* 鍔ㄦ�佹暟瀛� */ + animateNum: function (elem, isThd, delay, grain) { + isThd = isThd === null || isThd === undefined || isThd === true || isThd === 'true'; // 鏄惁鏄崈鍒嗕綅 + delay = isNaN(delay) ? 500 : delay; // 鍔ㄧ敾寤惰繜 + grain = isNaN(grain) ? 100 : grain; // 鍔ㄧ敾绮掑害 + var getPref = function (str) { + var pref = ''; + for (var i = 0; i < str.length; i++) if (!isNaN(str.charAt(i))) return pref; else pref += str.charAt(i); + }, getSuf = function (str) { + var suf = ''; + for (var i = str.length - 1; i >= 0; i--) if (!isNaN(str.charAt(i))) return suf; else suf = str.charAt(i) + suf; + }, toThd = function (num, isThd) { + if (!isThd) return num; + if (!/^[0-9]+.?[0-9]*$/.test(num)) return num; + num = num.toString(); + return num.replace(num.indexOf('.') > 0 ? /(\d)(?=(\d{3})+(?:\.))/g : /(\d)(?=(\d{3})+(?:$))/g, '$1,'); + }; + $(elem).each(function () { + var $this = $(this); + var num = $this.data('num'); + if (!num) { + num = $this.text().replace(/,/g, ''); // 鍐呭 + $this.data('num', num); + } + var flag = 'INPUT,TEXTAREA'.indexOf($this.get(0).tagName) >= 0; // 鏄惁鏄緭鍏ユ + var pref = getPref(num.toString()), suf = getSuf(num.toString()); + var strNum = num.toString().replace(pref, '').replace(suf, ''); + if (isNaN(strNum * 1) || strNum === '0') { + flag ? $this.val(num) : $this.html(num); + return console.error('not a number'); + } + var int_dec = strNum.split('.'); + var deciLen = int_dec[1] ? int_dec[1].length : 0; + var startNum = 0.0, endNum = strNum; + if (Math.abs(endNum * 1) > 10) startNum = parseFloat(int_dec[0].substring(0, int_dec[0].length - 1) + (int_dec[1] ? '.0' + int_dec[1] : '')); + var oft = (endNum - startNum) / grain, temp = 0; + var mTime = setInterval(function () { + var str = pref + toThd(startNum.toFixed(deciLen), isThd) + suf; + flag ? $this.val(str) : $this.html(str); + startNum += oft; + temp++; + if (Math.abs(startNum) >= Math.abs(endNum * 1) || temp > 5000) { + str = pref + toThd(endNum, isThd) + suf; + flag ? $this.val(str) : $this.html(str); + clearInterval(mTime); + } + }, delay / grain); + }); + }, + /* 娣卞害鍏嬮殕瀵硅薄 */ + deepClone: function (obj) { + var result; + var oClass = admin.util.isClass(obj); + if (oClass === 'Object') result = {}; + else if (oClass === 'Array') result = []; + else return obj; + for (var key in obj) { + if (!obj.hasOwnProperty(key)) continue; + var copy = obj[key], cClass = admin.util.isClass(copy); + if (cClass === 'Object') result[key] = arguments.callee(copy); // 閫掑綊璋冪敤 + else if (cClass === 'Array') result[key] = arguments.callee(copy); + else result[key] = obj[key]; + } + return result; + }, + /* 鑾峰彇鍙橀噺绫诲瀷 */ + isClass: function (o) { + if (o === null) return 'Null'; + if (o === undefined) return 'Undefined'; + return Object.prototype.toString.call(o).slice(8, -1); + }, + /* 鍒ゆ柇瀵屾枃鏈槸鍚︿负绌� */ + fullTextIsEmpty: function (text) { + if (!text) return true; + var noTexts = ['img', 'audio', 'video', 'iframe', 'object']; + for (var i = 0; i < noTexts.length; i++) { + if (text.indexOf('<' + noTexts[i]) > -1) return false; + } + var str = text.replace(/\s*/g, ''); // 鍘绘帀鎵�鏈夌┖鏍� + if (!str) return true; + str = str.replace(/ /ig, ''); // 鍘绘帀鎵�鏈� + if (!str) return true; + str = str.replace(/<[^>]+>/g, ''); // 鍘绘帀鎵�鏈塰tml鏍囩 + return !str; + }, + /* 绉婚櫎鍏冪礌鐨剆tyle */ + removeStyle: function (elem, names) { + if (typeof names === 'string') names = [names]; + for (var i = 0; i < names.length; i++) $(elem).css(names[i], ''); + }, + /* 婊氬姩鍒伴《閮� */ + scrollTop: function (elem) { + $(elem || 'html,body').animate({scrollTop: 0}, 300); + }, + /* 妯℃澘瑙f瀽 */ + tpl: function (html, data, openCode, closeCode) { + if (html === undefined || html === null || typeof html !== 'string') return html; + if (!data) data = {}; + if (!openCode) openCode = '{{'; + if (!closeCode) closeCode = '}}'; + var tool = { + exp: function (str) { + return new RegExp(str, 'g'); + }, + // 鍖归厤婊¤冻瑙勫垯鍐呭 + query: function (type, _, __) { + var types = ['#([\\s\\S])+?', '([^{#}])*?'][type || 0]; + return tool.exp((_ || '') + openCode + types + closeCode + (__ || '')); + }, + escape: function (str) { + return String(str || '').replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&') + .replace(/</g, '<').replace(/>/g, '>') + .replace(/'/g, ''').replace(/"/g, '"'); + }, + error: function (e, tplog) { + console.error('Laytpl Error锛�' + e + '\n' + (tplog || '')); + }, + parse: function (tpl, data) { + var tplog = tpl; + try { + var jss = tool.exp('^' + openCode + '#'), jsse = tool.exp(closeCode + '$'); + tpl = tpl.replace(tool.exp(openCode + '#'), openCode + '# ') + .replace(tool.exp(closeCode + '}'), '} ' + closeCode).replace(/\\/g, '\\\\') + // 涓嶅尮閰嶆寚瀹氬尯鍩熺殑鍐呭 + .replace(tool.exp(openCode + '!(.+?)!' + closeCode), function (str) { + str = str.replace(tool.exp('^' + openCode + '!'), '') + .replace(tool.exp('!' + closeCode), '') + .replace(tool.exp(openCode + '|' + closeCode), function (tag) { + return tag.replace(/(.)/g, '\\$1') + }); + return str + }) + // 鍖归厤JS瑙勫垯鍐呭 + .replace(/(?="|')/g, '\\').replace(tool.query(), function (str) { + str = str.replace(jss, '').replace(jsse, ''); + return '";' + str.replace(/\\/g, '') + ';view+="'; + }) + // 鍖归厤鏅�氬瓧娈� + .replace(tool.query(1), function (str) { + var start = '"+('; + if (str.replace(/\s/g, '') === openCode + closeCode) return ''; + str = str.replace(tool.exp(openCode + '|' + closeCode), ''); + if (/^=/.test(str)) { + str = str.replace(/^=/, ''); + start = '"+_escape_('; + } + return start + str.replace(/\\/g, '') + ')+"'; + }) + // 鎹㈣绗﹀鐞� + .replace(/\r\n/g, '\\r\\n" + "').replace(/\n/g, '\\n" + "').replace(/\r/g, '\\r" + "'); + tpl = '"use strict";var view = "' + tpl + '";return view;'; + tpl = new Function('d, _escape_', tpl); + return tpl(data, tool.escape); + } catch (e) { + tool.error(e, tplog); + return tplog; + } + } + }; + return tool.parse(html, data); + }, + /* 娓叉煋鍔ㄦ�佹ā鏉� */ + render: function (option) { + if (typeof option.url === 'string') { + option.success = function (res) { + admin.util.render($.extend({}, option, {url: res})); + }; + if (option.ajax === 'ajax') admin.ajax(option); + else admin.req(option.url, option.where, option.success, option.method, option); + return; + } + var html = admin.util.tpl(option.tpl, option.url, + option.open || setter.tplOpen, option.close || setter.tplClose); + $(option.elem).next('[ew-tpl-rs]').remove(); + $(option.elem).after(html); + $(option.elem).next().attr('ew-tpl-rs', ''); + option.done && option.done(option.url); + } + }; + + /** 閿佸睆鍔熻兘 */ + admin.lockScreen = function (url) { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.lockScreen(url); + if (!url) url = 'tpl/tpl-lock-screen.html'; + var $lock = $('#ew-lock-screen-group'); + if ($lock.length > 0) { + $lock.fadeIn('fast'); + admin.isLockScreen = true; + admin.putTempData('isLockScreen', admin.isLockScreen, true); + } else { + var loadIndex = layer.load(2); + admin.ajax({ + url: url, dataType: 'html', + success: function (res) { + layer.close(loadIndex); + if (typeof res === 'string') { + $('body').append('<div id="ew-lock-screen-group">' + res + '</div>'); + admin.isLockScreen = true; + admin.putTempData('isLockScreen', admin.isLockScreen, true); + admin.putTempData('lockScreenUrl', url, true); + } else { + console.error(res); + layer.msg(JSON.stringify(res), {icon: 2, anim: 6}); + } + } + }); + } + }; + + /** 瑙i櫎閿佸睆 */ + admin.unlockScreen = function (isRemove) { + if (window !== top && !admin.isTop() && top.layui && top.layui.admin) return top.layui.admin.unlockScreen(isRemove); + var $lock = $('#ew-lock-screen-group'); + isRemove ? $lock.remove() : $lock.fadeOut('fast'); + admin.isLockScreen = false; + admin.putTempData('isLockScreen', null, true); + }; + + /** tips鏂规硶灏佽 */ + admin.tips = function (option) { + return layer.tips(option.text, option.elem, { + tips: [option.direction || 1, option.bg || '#191a23'], + tipsMore: option.tipsMore, time: option.time || -1, + success: function (layero) { + var $content = $(layero).children('.layui-layer-content'); + if (option.padding || option.padding === 0) $content.css('padding', option.padding); + if (option.color) $content.css('color', option.color); + if (option.bgImg) $content.css('background-image', option.bgImg).children('.layui-layer-TipsG').css('z-index', '-1'); + if (option.fontSize) $content.css('font-size', option.fontSize); + if (!option.offset) return; + var offset = option.offset.split(','); + var top = offset[0], left = offset.length > 1 ? offset[1] : undefined; + if (top) $(layero).css('margin-top', top); + if (left) $(layero).css('margin-left', left); + } + }); + }; + + /** 娓叉煋鍔ㄦ�佹ā鏉� */ + admin.renderTpl = function (elem) { + if (!layui.admin) layui.admin = admin; + + // 瑙f瀽鏁版嵁 + function parseData(data) { + if (!data) return; + try { + return new Function('return ' + data + ';')(); + } catch (e) { + console.error(e + '\nlay-data: ' + data); + } + } + + $(elem || '[ew-tpl]').each(function () { + var $this = $(this); + var option = admin.util.deepClone($(this).data()); + option.elem = $this; + option.tpl = $this.html(); + option.url = parseData($this.attr('ew-tpl')); + option.headers = parseData(option.headers); + option.where = parseData(option.where); + if (option.done) { + try { + option.done = new Function('res', option.done); + } catch (e) { + console.error(e + '\nlay-data:' + option.done); + option.done = undefined; + } + } + admin.util.render(option); + }); + }; + + /** 浜嬩欢鐩戝惉 */ + admin.on = function (events, callback) { + return layui.onevent.call(this, 'admin', events, callback); + }; + + /** 淇敼閰嶇疆淇℃伅 */ + admin.putSetting = function (key, value) { + setter[key] = value; + admin.putTempData(key, value, true); + }; + + /** 鎭㈠閰嶇疆淇℃伅 */ + admin.recoverState = function () { + // 鎭㈠閿佸睆鐘舵�� + if (admin.getTempData('isLockScreen', true)) admin.lockScreen(admin.getTempData('lockScreenUrl', true)); + // 鎭㈠閰嶇疆鐨勪富棰� + if (setter.defaultTheme) admin.changeTheme(setter.defaultTheme, window, true, true); + // 鎭㈠椤佃剼鐘舵�併�佸鑸澶� + if (setter.closeFooter) $('body').addClass('close-footer'); + if (setter.navArrow !== undefined) { + var $nav = $(sideDOM + '>.layui-nav-tree'); + $nav.removeClass('arrow2 arrow3'); + if (setter.navArrow) $nav.addClass(setter.navArrow); + } + // 鎭㈠tab鑷姩鍒锋柊 + if (setter.pageTabs && setter.tabAutoRefresh == 'true') $(tabDOM).attr('lay-autoRefresh', 'true'); + }; + + /* 浜嬩欢鐩戝惉 */ + admin.on = function (events, callback) { + return layui.onevent.call(this, 'admin', events, callback); + }; + + /** 渚у鑸姌鍙犵姸鎬佷笅榧犳爣缁忚繃鏃犻檺鎮诞鏁堟灉 */ + var navItemDOM = '.layui-layout-admin.admin-nav-mini>.layui-side .layui-nav .layui-nav-item'; + $(document).on('mouseenter', navItemDOM + ',' + navItemDOM + ' .layui-nav-child>dd', function () { + if (admin.getPageWidth() > 768) { + var $that = $(this), $navChild = $that.find('>.layui-nav-child'); + if ($navChild.length > 0) { + $that.addClass('admin-nav-hover'); + $navChild.css('left', $that.offset().left + $that.outerWidth()); + var top = $that.offset().top; + if (top + $navChild.outerHeight() > admin.getPageHeight()) { + top = top - $navChild.outerHeight() + $that.outerHeight(); + if (top < 60) top = 60; + $navChild.addClass('show-top'); + } + $navChild.css('top', top); + $navChild.addClass('ew-anim-drop-in'); + } else if ($that.hasClass('layui-nav-item')) { + admin.tips({elem: $that, text: $that.find('cite').text(), direction: 2, offset: '12px'}); + } + } + }).on('mouseleave', navItemDOM + ',' + navItemDOM + ' .layui-nav-child>dd', function () { + layer.closeAll('tips'); + var $this = $(this); + $this.removeClass('admin-nav-hover'); + var $child = $this.find('>.layui-nav-child'); + $child.removeClass('show-top ew-anim-drop-in'); + $child.css({'left': 'auto', 'top': 'auto'}); + }); + + /** 鎵�鏈塭w-event */ + $(document).on('click', '*[ew-event]', function () { + var te = admin.events[$(this).attr('ew-event')]; + te && te.call(this, $(this)); + }); + + /** 鎵�鏈塴ay-tips澶勭悊 */ + $(document).on('mouseenter', '*[lay-tips]', function () { + var $this = $(this); + admin.tips({ + elem: $this, text: $this.attr('lay-tips'), direction: $this.attr('lay-direction'), + bg: $this.attr('lay-bg'), offset: $this.attr('lay-offset'), + padding: $this.attr('lay-padding'), color: $this.attr('lay-color'), + bgImg: $this.attr('lay-bgImg'), fontSize: $this.attr('lay-fontSize') + }); + }).on('mouseleave', '*[lay-tips]', function () { + layer.closeAll('tips'); + }); + + /** 琛ㄥ崟鎼滅储灞曞紑鏇村 */ + $(document).on('click', '.form-search-expand,[search-expand]', function () { + var $this = $(this); + var $form = $this.parents('.layui-form').first(); + var expand = $this.data('expand'); + var change = $this.attr('search-expand'); + if (expand === undefined || expand === true) { + expand = true; + $this.data('expand', false); + $this.html('鏀惰捣 <i class="layui-icon layui-icon-up"></i>'); + var $elem = $form.find('.form-search-show-expand'); + $elem.attr('expand-show', ''); + $elem.removeClass('form-search-show-expand'); + } else { + expand = false; + $this.data('expand', true); + $this.html('灞曞紑 <i class="layui-icon layui-icon-down"></i>'); + $form.find('[expand-show]').addClass('form-search-show-expand'); + } + if (!change) return; + new Function('d', change)({expand: expand, elem: $this}); + }); + + /** select浣跨敤fixed瀹氫綅鏄剧ず */ + $(document).on('click.ew-sel-fixed', '.ew-select-fixed .layui-form-select .layui-select-title', function () { + var $this = $(this), $dl = $this.parent().children('dl'), tTop = $this.offset().top; + var tWidth = $this.outerWidth(), tHeight = $this.outerHeight(), scrollT = $(document).scrollTop(); + var dWidth = $dl.outerWidth(), dHeight = $dl.outerHeight(); + var top = tTop + tHeight + 5 - scrollT, left = $this.offset().left; + if (top + dHeight > admin.getPageHeight()) top = top - dHeight - tHeight - 10; + if (left + dWidth > admin.getPageWidth()) left = left - dWidth + tWidth; + $dl.css({'left': left, 'top': top, 'min-width': tWidth}); + }); + + /** 鐢ㄤ簬婊氬姩鏃跺叧闂竴浜沠ixed鐨勭粍浠� */ + admin.hideFixedEl = function () { + $('.ew-select-fixed .layui-form-select').removeClass('layui-form-selected layui-form-selectup'); // select + $('body>.layui-laydate').remove(); // laydate + }; + + /** 鍨傜洿瀵艰埅鏍忓睍寮�鎶樺彔澧炲姞杩囨浮鏁堟灉 */ + $(document).on('click', '.layui-nav-tree>.layui-nav-item a', function () { + var $this = $(this), $child = $this.siblings('.layui-nav-child'), $parent = $this.parent(); + if ($child.length === 0) return; + if ($parent.hasClass('admin-nav-hover')) return; + if ($parent.hasClass('layui-nav-itemed')) { // 鍥犱负layui浼氬鐞嗕竴閬嶆墍浠ヨ繖閲岀姸鎬佹槸鐩稿弽鐨� + $child.css('display', 'none').slideDown('fast', function () { + $(this).css('display', ''); + }); + } else { + $child.css('display', 'block').slideUp('fast', function () { + $(this).css('display', ''); + }); + } + if ($this.parents('.layui-nav').attr('lay-shrink') === '_all') { // 鎵嬮鐞存晥鏋� + var $siblings = $this.parent().siblings('.layui-nav-itemed'); + $siblings.children('.layui-nav-child').css('display', 'block').slideUp('fast', function () { + $(this).css('display', ''); + }); + $siblings.removeClass('layui-nav-itemed'); + } + }); + $('.layui-nav-tree[lay-shrink="all"]').attr('lay-shrink', '_all'); // 璁﹍ayui涓嶅鐞嗘墜椋庣惔鏁堟灉 + + /** 鎶樺彔闈㈡澘灞曞紑鎶樺彔澧炲姞杩囨浮鏁堟灉 */ + $(document).on('click', '.layui-collapse>.layui-colla-item>.layui-colla-title', function () { + var $this = $(this), $content = $this.siblings('.layui-colla-content') + , $collapse = $this.parent().parent(), isNone = $content.hasClass('layui-show'); + if (isNone) { // 鍥犱负layui浼氬鐞嗕竴閬嶆墍浠ヨ繖閲岀姸鎬佹槸鐩稿弽鐨� + $content.removeClass('layui-show').slideDown('fast').addClass('layui-show'); + } else { + $content.css('display', 'block').slideUp('fast', function () { + $(this).css('display', ''); + }); + } + $this.children('.layui-colla-icon').html('') + .css({'transition': 'all .3s', 'transform': 'rotate(' + (isNone ? '90deg' : '0deg') + ')'}); + if ($collapse.attr('lay-shrink') === '_all') { // 鎵嬮鐞存晥鏋� + var $show = $collapse.children('.layui-colla-item').children('.layui-colla-content.layui-show').not($content); + $show.css('display', 'block').slideUp('fast', function () { + $(this).css('display', ''); + }); + $show.removeClass('layui-show'); + $show.siblings('.layui-colla-title').children('.layui-colla-icon').html('') + .css({'transition': 'all .3s', 'transform': 'rotate(0deg)'}); + } + }); + $('.layui-collapse[lay-accordion]').attr('lay-shrink', '_all').removeAttr('lay-accordion'); // 璁﹍ayui涓嶅鐞嗘墜椋庣惔鏁堟灉 + + /** 琛ㄥ崟楠岃瘉tips鎻愮ず鏍峰紡淇敼 */ + layer.oldTips = layer.tips; + layer.tips = function (content, follow, options) { + var $fFip; // 鍒ゆ柇鏄惁鏄〃鍗曢獙璇佽皟鐢ㄧ殑tips + if ($(follow).length > 0 && $(follow).parents('.layui-form').length > 0) { + if ($(follow).is('input') || $(follow).is('textarea')) { + $fFip = $(follow); + } else if ($(follow).hasClass('layui-form-select') || $(follow).hasClass('layui-form-radio') + || $(follow).hasClass('layui-form-checkbox') || $(follow).hasClass('layui-form-switch')) { + $fFip = $(follow).prev(); + } + } + if (!$fFip) return layer.oldTips(content, follow, options); + options.tips = [$fFip.attr('lay-direction') || 3, $fFip.attr('lay-bg') || '#ff4c4c']; + setTimeout(function () { + options.success = function (layero) { + $(layero).children('.layui-layer-content').css('padding', '6px 12px'); + }; + layer.oldTips(content, follow, options); + }, 100); + }; + + /** 鎵�鏈塭w-href澶勭悊 */ + $(document).on('click', '*[ew-href]', function () { + var $this = $(this); + var href = $this.attr('ew-href'); + if (!href || href === '#') return; + if (href.indexOf('javascript:') === 0) return new Function(href.substring(11))(); + var title = $this.attr('ew-title') || $this.text(); + var win = $this.data('window'); + win ? (win = admin.strToWin(win)) : (win = top); + var end = $this.attr('ew-end'); + try { + if (end) end = new Function(end); + else end = undefined; + } catch (e) { + console.error(e); + } + if (win.layui && win.layui.index) win.layui.index.openTab({title: title || '', url: href, end: end}); + else location.href = href; + }); + + /** 甯姪榧犳爣鍙抽敭鑿滃崟瀹屾垚鐐瑰嚮绌虹櫧鍏抽棴鐨勫姛鑳� */ + if (!layui.contextMenu) { + $(document).off('click.ctxMenu').on('click.ctxMenu', function () { + try { + var ifs = top.window.frames; + for (var i = 0; i < ifs.length; i++) { + var tif = ifs[i]; + try { // 鍙兘浼氳法鍩� + if (tif.layui && tif.layui.jquery) tif.layui.jquery('body>.ctxMenu').remove(); + } catch (e) { + } + } + try { // 鍙兘浼氳法鍩� + if (top.layui && top.layui.jquery) top.layui.jquery('body>.ctxMenu').remove(); + } catch (e) { + } + } catch (e) { + } + }); + } + + /** 璇诲彇缂撳瓨鐨勯厤缃俊鎭� */ + setter = $.extend({ + pageTabs: true, cacheTab: true, openTabCtxMenu: true, maxTabNum: 20, tableName: 'easyweb-iframe', + apiNoCache: true, ajaxSuccessBefore: function (res, url, obj) { + return admin.ajaxSuccessBefore ? admin.ajaxSuccessBefore(res, url, obj) : true; + }, getAjaxHeaders: function (res, url, obj) { + return admin.getAjaxHeaders ? admin.getAjaxHeaders(res, url, obj) : []; + } + }, setter); + var cache = admin.getTempData(true); + if (cache) { + var keys = ['pageTabs', 'cacheTab', 'defaultTheme', 'navArrow', 'closeFooter', 'tabAutoRefresh']; + for (var i = 0; i < keys.length; i++) if (cache[keys[i]] !== undefined) setter[keys[i]] = cache[keys[i]]; + } + admin.recoverState(); // 鎭㈠鏈湴閰嶇疆 + admin.renderTpl(); // 娓叉煋鍔ㄦ�佹ā鏉� + admin.setter = setter; + if (layui.device().ios) $('body').addClass('ios-iframe-body'); // ios娴忚鍣╥frame鍏煎 + exports('admin', admin); +}); diff --git a/src/main/webapp/static/layui/lay/modules/contextMenu.js b/src/main/webapp/static/layui/lay/modules/contextMenu.js new file mode 100644 index 0000000..2655031 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/contextMenu.js @@ -0,0 +1,228 @@ +/** 鍙抽敭鑿滃崟妯″潡 date:2019-02-08 License By http://easyweb.vip */ +layui.define(["jquery"], function (exports) { + var $ = layui.jquery; + + var contextMenu = { + // 缁戝畾鍏冪礌 + bind: function (elem, items) { + $(elem).bind('contextmenu', function (e) { + contextMenu.show(items, e.clientX, e.clientY, e); + return false; + }); + }, + // 鍦ㄦ寚瀹氬潗鏍囨樉绀鸿彍鍗� + show: function (items, x, y, e) { + var xy = 'left: ' + x + 'px; top: ' + y + 'px;'; + var htmlStr = '<div class="ctxMenu" style="' + xy + '">'; + htmlStr += contextMenu.getHtml(items, ''); + htmlStr += ' </div>'; + contextMenu.remove(); + $('body').append(htmlStr); + // 璋冩暣婧㈠嚭浣嶇疆 + var $ctxMenu = $('.ctxMenu'); + if (x + $ctxMenu.outerWidth() > contextMenu.getPageWidth()) { + x -= $ctxMenu.outerWidth(); + } + if (y + $ctxMenu.outerHeight() > contextMenu.getPageHeight()) { + y = y - $ctxMenu.outerHeight(); + if (y < 0) { + y = 0; + } + } + $ctxMenu.css({'top': y, 'left': x}); + // 娣诲姞item鐐瑰嚮浜嬩欢 + contextMenu.setEvents(items, e); + // 鏄剧ず瀛愯彍鍗曚簨浠� + $('.ctxMenu-item').on('mouseenter', function (e) { + e.stopPropagation(); + $(this).parent().find('.ctxMenu-sub').css('display', 'none'); + if (!$(this).hasClass('haveMore')) return; + var $item = $(this).find('>a'); + var $sub = $(this).find('>.ctxMenu-sub'); + var top = $item.offset().top - $('body,html').scrollTop(); + var left = $item.offset().left + $item.outerWidth() - $('body,html').scrollLeft(); + if (left + $sub.outerWidth() > contextMenu.getPageWidth()) { + left = $item.offset().left - $sub.outerWidth(); + } + if (top + $sub.outerHeight() > contextMenu.getPageHeight()) { + top = top - $sub.outerHeight() + $item.outerHeight(); + if (top < 0) { + top = 0; + } + } + $(this).find('>.ctxMenu-sub').css({ + 'top': top, + 'left': left, + 'display': 'block' + }); + })/*.on('mouseleave', function () { + $(this).find('>.ctxMenu-sub').css('display', 'none'); + })*/; + }, + // 绉婚櫎鎵�鏈� + remove: function () { + var ifs = parent.window.frames; + for (var i = 0; i < ifs.length; i++) { + var tif = ifs[i]; + try { + tif.layui.jquery('body>.ctxMenu').remove(); + } catch (e) { + } + } + try { + parent.layui.jquery('body>.ctxMenu').remove(); + } catch (e) { + } + }, + // 璁剧疆浜嬩欢鐩戝惉 + setEvents: function (items, event) { + $('.ctxMenu').off('click').on('click', '[lay-id]', function (e) { + var itemId = $(this).attr('lay-id'); + var item = getItemById(itemId, items); + item.click && item.click(e, event); + }); + + function getItemById(id, list) { + for (var i = 0; i < list.length; i++) { + var one = list[i]; + if (id == one.itemId) { + return one; + } else if (one.subs && one.subs.length > 0) { + var temp = getItemById(id, one.subs); + if (temp) { + return temp; + } + } + } + } + }, + // 鏋勫缓鏃犻檺绾� + getHtml: function (items, pid) { + var htmlStr = ''; + for (var i = 0; i < items.length; i++) { + var item = items[i]; + item.itemId = 'ctxMenu-' + pid + i; + if (item.subs && item.subs.length > 0) { + htmlStr += '<div class="ctxMenu-item haveMore" lay-id="' + item.itemId + '">'; + htmlStr += '<a>'; + if (item.icon) { + htmlStr += '<i class="' + item.icon + ' ctx-icon"></i>'; + } + htmlStr += item.name; + htmlStr += '<i class="layui-icon layui-icon-right icon-more"></i>'; + htmlStr += '</a>'; + htmlStr += '<div class="ctxMenu-sub" style="display: none;">'; + htmlStr += contextMenu.getHtml(item.subs, pid + i); + htmlStr += '</div>'; + } else { + htmlStr += '<div class="ctxMenu-item" lay-id="' + item.itemId + '">'; + htmlStr += '<a>'; + if (item.icon) { + htmlStr += '<i class="' + item.icon + ' ctx-icon"></i>'; + } + htmlStr += item.name; + htmlStr += '</a>'; + } + htmlStr += '</div>'; + if (item.hr == true) { + htmlStr += '<hr/>'; + } + } + return htmlStr; + }, + // 鑾峰彇css浠g爜 + getCommonCss: function () { + var cssStr = '.ctxMenu, .ctxMenu-sub {'; + cssStr += ' max-width: 250px;'; + cssStr += ' min-width: 110px;'; + cssStr += ' background: white;'; + cssStr += ' border-radius: 2px;'; + cssStr += ' padding: 5px 0;'; + cssStr += ' white-space: nowrap;'; + cssStr += ' position: fixed;'; + cssStr += ' z-index: 2147483647;'; + cssStr += ' box-shadow: 0 2px 4px rgba(0, 0, 0, .12);'; + cssStr += ' border: 1px solid #d2d2d2;'; + cssStr += ' overflow: visible;'; + cssStr += ' }'; + + cssStr += ' .ctxMenu-item {'; + cssStr += ' position: relative;'; + cssStr += ' }'; + + cssStr += ' .ctxMenu-item > a {'; + cssStr += ' font-size: 14px;'; + cssStr += ' color: #666;'; + cssStr += ' padding: 0 26px 0 35px;'; + cssStr += ' cursor: pointer;'; + cssStr += ' display: block;'; + cssStr += ' line-height: 36px;'; + cssStr += ' text-decoration: none;'; + cssStr += ' position: relative;'; + cssStr += ' }'; + + cssStr += ' .ctxMenu-item > a:hover {'; + cssStr += ' background: #f2f2f2;'; + cssStr += ' color: #666;'; + cssStr += ' }'; + + cssStr += ' .ctxMenu-item > a > .icon-more {'; + cssStr += ' position: absolute;'; + cssStr += ' right: 5px;'; + cssStr += ' top: 0;'; + cssStr += ' font-size: 12px;'; + cssStr += ' color: #666;'; + cssStr += ' }'; + + cssStr += ' .ctxMenu-item > a > .ctx-icon {'; + cssStr += ' position: absolute;'; + cssStr += ' left: 12px;'; + cssStr += ' top: 0;'; + cssStr += ' font-size: 15px;'; + cssStr += ' color: #666;'; + cssStr += ' }'; + + cssStr += ' .ctxMenu hr {'; + cssStr += ' background-color: #e6e6e6;'; + cssStr += ' clear: both;'; + cssStr += ' margin: 5px 0;'; + cssStr += ' border: 0;'; + cssStr += ' height: 1px;'; + cssStr += ' }'; + + cssStr += ' .ctx-ic-lg {'; + cssStr += ' font-size: 18px !important;'; + cssStr += ' left: 11px !important;'; + cssStr += ' }'; + return cssStr; + }, + // 鑾峰彇娴忚鍣ㄩ珮搴� + getPageHeight: function () { + return document.documentElement.clientHeight || document.body.clientHeight; + }, + // 鑾峰彇娴忚鍣ㄥ搴� + getPageWidth: function () { + return document.documentElement.clientWidth || document.body.clientWidth; + }, + }; + + // 鐐瑰嚮浠绘剰浣嶇疆鍏抽棴鑿滃崟 + $(document).off('click.ctxMenu').on('click.ctxMenu', function () { + contextMenu.remove(); + }); + + // 鐐瑰嚮鏈夊瓙鑿滃崟鐨勮妭鐐逛笉鍏抽棴鑿滃崟 + $(document).off('click.ctxMenuMore').on('click.ctxMenuMore', '.ctxMenu-item', function (e) { + if ($(this).hasClass('haveMore')) { + if (e !== void 0) { + e.preventDefault(); + e.stopPropagation(); + } + } else { + contextMenu.remove(); + } + }); + + $('head').append('<style id="ew-css-ctx">' + contextMenu.getCommonCss() + '</style>'); + exports("contextMenu", contextMenu); +}); \ No newline at end of file diff --git a/src/main/webapp/static/layui/lay/modules/index.js b/src/main/webapp/static/layui/lay/modules/index.js new file mode 100644 index 0000000..93d9297 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/index.js @@ -0,0 +1,302 @@ +/** EasyWeb iframe v3.1.8 date:2020-05-04 License By http://easyweb.vip */ + +layui.define(['layer', 'element', 'admin'], function (exports) { + var $ = layui.jquery; + var layer = layui.layer; + var element = layui.element; + var admin = layui.admin; + var setter = admin.setter; + var headerDOM = '.layui-layout-admin>.layui-header'; + var sideDOM = '.layui-layout-admin>.layui-side>.layui-side-scroll'; + var bodyDOM = '.layui-layout-admin>.layui-body'; + var tabDOM = bodyDOM + '>.layui-tab'; + var titleDOM = bodyDOM + '>.layui-body-header'; + var tabFilter = 'admin-pagetabs'; + var navFilter = 'admin-side-nav'; + var tabEndCall = {}; // Tab鍏抽棴鐨勪簨浠跺洖璋� + var mIsAddTab = false; // 鏄惁鏄坊鍔燭ab锛屾坊鍔燭ab鐨勬椂鍊欏垏鎹笉鑷姩鍒锋柊 + var index = {homeUrl: undefined, mTabPosition: undefined, mTabList: []}; + + /** 娓叉煋涓讳綋閮ㄥ垎 */ + index.loadView = function (param) { + if (!param.menuPath) return layer.msg('url涓嶈兘涓虹┖', {icon: 2, anim: 6}); + if (setter.pageTabs) { // 澶氭爣绛炬ā寮� + var flag; // 閫夐」鍗℃槸鍚﹀凡娣诲姞 + $(tabDOM + '>.layui-tab-title>li').each(function () { + if ($(this).attr('lay-id') === param.menuPath) flag = true; + }); + if (!flag) { // 娣诲姞閫夐」鍗� + if (index.mTabList.length + 1 >= setter.maxTabNum) { + layer.msg('鏈�澶氭墦寮�' + setter.maxTabNum + '涓�夐」鍗�', {icon: 2, anim: 6}); + return admin.activeNav(index.mTabPosition); + } + mIsAddTab = true; + element.tabAdd(tabFilter, { + id: param.menuPath, title: '<span class="title">' + (param.menuName || '') + '</span>', + content: '<iframe class="admin-iframe" lay-id="' + param.menuPath + '" src="' + param.menuPath + + '" onload="layui.index.hideLoading(this);" frameborder="0"></iframe>' + }); + admin.showLoading({elem: $('iframe[lay-id="' + param.menuPath + '"]').parent(), size: ''}); + if (param.menuPath !== index.homeUrl) index.mTabList.push(param); // 璁板綍tab + if (setter.cacheTab) admin.putTempData('indexTabs', index.mTabList); // 缂撳瓨tab + } + if (!param.noChange) element.tabChange(tabFilter, param.menuPath); // 鍒囨崲鍒版tab + } else { // 鍗曟爣绛炬ā寮� + admin.activeNav(param.menuPath); + var $contentDom = $(bodyDOM + '>div>.admin-iframe'); + if ($contentDom.length === 0) { + $(bodyDOM).html([ + '<div class="layui-body-header">', + ' <span class="layui-body-header-title"></span>', + ' <span class="layui-breadcrumb pull-right" lay-filter="admin-body-breadcrumb" style="visibility: visible;"></span>', + '</div>', + '<div style="-webkit-overflow-scrolling: touch;">', + ' <iframe class="admin-iframe" lay-id="', param.menuPath, '" src="', param.menuPath, '"', + ' onload="layui.index.hideLoading(this);" frameborder="0"></iframe>', + '</div>'].join('')); + admin.showLoading({elem: $('iframe[lay-id="' + param.menuPath + '"]').parent(), size: ''}); + } else { + admin.showLoading({elem: $contentDom.parent(), size: ''}); + $contentDom.attr('lay-id', param.menuPath).attr('src', param.menuPath); + } + $('[lay-filter="admin-body-breadcrumb"]').html(index.getBreadcrumbHtml(param.menuPath)); + index.mTabList.splice(0, index.mTabList.length); + if (param.menuPath === index.homeUrl) { + index.mTabPosition = undefined; + index.setTabTitle($(param.menuName).text() || $(sideDOM + ' [lay-href="' + index.homeUrl + '"]').text() || '涓婚〉'); + } else { + index.mTabPosition = param.menuPath; + index.mTabList.push(param); + index.setTabTitle(param.menuName); + } + if (!setter.cacheTab) return; + admin.putTempData('indexTabs', index.mTabList); + admin.putTempData('tabPosition', index.mTabPosition); + } + if (admin.getPageWidth() <= 768) admin.flexible(true); // 绉诲姩绔嚜鍔ㄦ敹璧蜂晶瀵艰埅 + }; + + /** 鍔犺浇涓婚〉 */ + index.loadHome = function (param) { + var cacheTabs = admin.getTempData('indexTabs'); // 鑾峰彇缂撳瓨tab + var cachePosition = admin.getTempData('tabPosition'); + var recover = (param.loadSetting === undefined || param.loadSetting) && (setter.cacheTab && cacheTabs && cacheTabs.length > 0); + index.homeUrl = param.menuPath; + param.noChange = cachePosition ? recover : false; + if (setter.pageTabs || !recover) index.loadView(param); + if (recover) { // 鎭㈠缂撳瓨tab + for (var i = 0; i < cacheTabs.length; i++) { + cacheTabs[i].noChange = cacheTabs[i].menuPath !== cachePosition; + if (!cacheTabs[i].noChange || (setter.pageTabs && !param.onlyLast)) index.loadView(cacheTabs[i]); + } + } + admin.removeLoading(undefined, false); + }; + + /** 鎵撳紑tab */ + index.openTab = function (param) { + if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.openTab(param); + if (param.end) tabEndCall[param.url] = param.end; + index.loadView({menuPath: param.url, menuName: param.title}); + }; + + /** 鍏抽棴tab */ + index.closeTab = function (url) { + if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.closeTab(url); + element.tabDelete(tabFilter, url); + }; + + /** 璁剧疆鏄惁璁板繂Tab */ + index.setTabCache = function (isCache) { + if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.setTabCache(isCache); + admin.putSetting('cacheTab', isCache); + if (!isCache) return index.clearTabCache(); + admin.putTempData('indexTabs', index.mTabList); + admin.putTempData('tabPosition', index.mTabPosition); + }; + + /** 娓呴櫎tab璁板繂 */ + index.clearTabCache = function () { + admin.putTempData('indexTabs', null); + admin.putTempData('tabPosition', null); + }; + + /** 璁剧疆tab鏍囬 */ + index.setTabTitle = function (title, tabId) { + if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.setTabTitle(title, tabId); + if (setter.pageTabs) { + if (!tabId) tabId = $(tabDOM + '>.layui-tab-title>li.layui-this').attr('lay-id'); + if (tabId) $(tabDOM + '>.layui-tab-title>li[lay-id="' + tabId + '"] .title').html(title || ''); + } else if (title) { + $(titleDOM + '>.layui-body-header-title').html(title); + $(titleDOM).addClass('show'); + $(headerDOM).css('box-shadow', '0 1px 0 0 rgba(0, 0, 0, .03)'); + } else { + $(titleDOM).removeClass('show'); + $(headerDOM).css('box-shadow', ''); + } + }; + + /** 鑷畾涔塼ab鏍囬 */ + index.setTabTitleHtml = function (html) { + if (window !== top && !admin.isTop() && top.layui && top.layui.index) return top.layui.index.setTabTitleHtml(html); + if (setter.pageTabs) return; + if (!html) return $(titleDOM).removeClass('show'); + $(titleDOM).html(html); + $(titleDOM).addClass('show'); + }; + + /** 鑾峰彇闈㈠寘灞� */ + index.getBreadcrumb = function (tabId) { + if (!tabId) tabId = $(bodyDOM + '>div>.admin-iframe').attr('lay-id'); + var breadcrumb = []; + var $href = $(sideDOM).find('[lay-href="' + tabId + '"]'); + if ($href.length > 0) breadcrumb.push($href.text().replace(/(^\s*)|(\s*$)/g, '')); + while (true) { + $href = $href.parent('dd').parent('dl').prev('a'); + if ($href.length === 0) break; + breadcrumb.unshift($href.text().replace(/(^\s*)|(\s*$)/g, '')); + } + return breadcrumb; + }; + + /** 鑾峰彇闈㈠寘灞戠粨鏋� */ + index.getBreadcrumbHtml = function (tabId) { + var breadcrumb = index.getBreadcrumb(tabId); + var htmlStr = tabId === index.homeUrl ? '' : ('<a ew-href="' + index.homeUrl + '">棣栭〉</a>'); + for (var i = 0; i < breadcrumb.length - 1; i++) { + if (htmlStr) htmlStr += '<span lay-separator="">/</span>'; + htmlStr += ('<a><cite>' + breadcrumb[i] + '</cite></a>'); + } + return htmlStr; + }; + + /** 鍏抽棴loading */ + index.hideLoading = function (url) { + if (typeof url !== 'string') url = $(url).attr('lay-id'); + admin.removeLoading($('iframe[lay-id="' + url + '"],' + bodyDOM + ' iframe[lay-id]').parent(), false); + }; + + /** 绉诲姩璁惧閬僵灞� */ + var siteShadeDom = '.layui-layout-admin .site-mobile-shade'; + if ($(siteShadeDom).length === 0) $('.layui-layout-admin').append('<div class="site-mobile-shade"></div>'); + $(siteShadeDom).click(function () { + admin.flexible(true); + }); + + /** 琛ュ厖tab鐨刣om */ + if (setter.pageTabs && $(tabDOM).length === 0) { + $(bodyDOM).html([ + '<div class="layui-tab" lay-allowClose="true" lay-filter="', tabFilter, '" lay-autoRefresh="', setter.tabAutoRefresh == 'true', '">', + ' <ul class="layui-tab-title"></ul><div class="layui-tab-content"></div>', + '</div>', + '<div class="layui-icon admin-tabs-control layui-icon-prev" ew-event="leftPage"></div>', + '<div class="layui-icon admin-tabs-control layui-icon-next" ew-event="rightPage"></div>', + '<div class="layui-icon admin-tabs-control layui-icon-down">', + ' <ul class="layui-nav" lay-filter="admin-pagetabs-nav">', + ' <li class="layui-nav-item" lay-unselect>', + ' <dl class="layui-nav-child layui-anim-fadein">', + ' <dd ew-event="closeThisTabs" lay-unselect><a>鍏抽棴褰撳墠鏍囩椤�</a></dd>', + ' <dd ew-event="closeOtherTabs" lay-unselect><a>鍏抽棴鍏跺畠鏍囩椤�</a></dd>', + ' <dd ew-event="closeAllTabs" lay-unselect><a>鍏抽棴鍏ㄩ儴鏍囩椤�</a></dd>', + ' </dl>', + ' </li>', + ' </ul>', + '</div>' + ].join('')); + element.render('nav', 'admin-pagetabs-nav'); + } + + /** 渚у鑸偣鍑荤洃鍚� */ + element.on('nav(' + navFilter + ')', function (elem) { + var $that = $(elem); + var href = $that.attr('lay-href'); + if (!href || href === '#') return; + if (href.indexOf('javascript:') === 0) return new Function(href.substring(11))(); + var name = $that.attr('ew-title') || $that.text().replace(/(^\s*)|(\s*$)/g, ''); + var end = $that.attr('ew-end'); + try { + if (end) end = new Function(end); + else end = undefined; + } catch (e) { + console.error(e); + } + index.openTab({url: href, title: name, end: end}); + layui.event.call(this, 'admin', 'side({*})', {href: href}); + }); + + /** tab鍒囨崲鐩戝惉 */ + element.on('tab(' + tabFilter + ')', function () { + var layId = $(this).attr('lay-id'); + index.mTabPosition = (layId !== index.homeUrl ? layId : undefined); // 璁板綍褰撳墠Tab浣嶇疆 + if (setter.cacheTab) admin.putTempData('tabPosition', index.mTabPosition); + admin.activeNav(layId); + admin.rollPage('auto'); + if ($(tabDOM).attr('lay-autoRefresh') == 'true' && !mIsAddTab) admin.refresh(layId, true); // 鍒囨崲tab鍒锋柊 + mIsAddTab = false; + layui.event.call(this, 'admin', 'tab({*})', {layId: layId}); + }); + + /** tab鍒犻櫎鐩戝惉 */ + element.on('tabDelete(' + tabFilter + ')', function (data) { + var mTab = index.mTabList[data.index - 1]; + if (mTab) { + index.mTabList.splice(data.index - 1, 1); + if (setter.cacheTab) admin.putTempData('indexTabs', index.mTabList); + tabEndCall[mTab.menuPath] && tabEndCall[mTab.menuPath].call(); + layui.event.call(this, 'admin', 'tabDelete({*})', {layId: mTab.menuPath}); + } + if ($(tabDOM + '>.layui-tab-title>li.layui-this').length === 0) + $(tabDOM + '>.layui-tab-title>li:last').trigger('click'); // 瑙e喅鍒犻櫎鍚庡彲鑳芥棤閫変腑bug + }); + + /** 澶氱郴缁熷垏鎹簨浠� */ + $(document).off('click.navMore').on('click.navMore', '[nav-bind]', function () { + var navId = $(this).attr('nav-bind'); + $('ul[lay-filter="' + navFilter + '"]').addClass('layui-hide'); + $('ul[nav-id="' + navId + '"]').removeClass('layui-hide'); + $(headerDOM + '>.layui-nav .layui-nav-item').removeClass('layui-this'); + $(this).parent('.layui-nav-item').addClass('layui-this'); + if (admin.getPageWidth() <= 768) admin.flexible(false); // 灞曞紑渚ц竟鏍� + layui.event.call(this, 'admin', 'nav({*})', {navId: navId}); + }); + + /** 寮�鍚疶ab鍙抽敭鑿滃崟 */ + if (setter.openTabCtxMenu && setter.pageTabs) { + layui.use('contextMenu', function () { + if (!layui.contextMenu) return; + $(tabDOM + '>.layui-tab-title').off('contextmenu.tab').on('contextmenu.tab', 'li', function (e) { + var layId = $(this).attr('lay-id'); + layui.contextMenu.show([{ + icon: 'layui-icon layui-icon-refresh', + name: '鍒锋柊褰撳墠', + click: function () { + element.tabChange(tabFilter, layId); + if ('true' != $(tabDOM).attr('lay-autoRefresh')) admin.refresh(layId); + } + }, { + icon: 'layui-icon layui-icon-close-fill ctx-ic-lg', + name: '鍏抽棴褰撳墠', + click: function () { + admin.closeThisTabs(layId); + } + }, { + icon: 'layui-icon layui-icon-unlink', + name: '鍏抽棴鍏朵粬', + click: function () { + admin.closeOtherTabs(layId); + } + }, { + icon: 'layui-icon layui-icon-close ctx-ic-lg', + name: '鍏抽棴鍏ㄩ儴', + click: function () { + admin.closeAllTabs(); + } + }], e.clientX, e.clientY); + return false; + }); + }); + } + + exports('index', index); +}); diff --git a/src/main/webapp/static/layui/lay/modules/notice/1.wav b/src/main/webapp/static/layui/lay/modules/notice/1.wav new file mode 100644 index 0000000..9c765d5 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/notice/1.wav Binary files differ diff --git a/src/main/webapp/static/layui/lay/modules/notice/2.wav b/src/main/webapp/static/layui/lay/modules/notice/2.wav new file mode 100644 index 0000000..920f729 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/notice/2.wav Binary files differ diff --git a/src/main/webapp/static/layui/lay/modules/notice/3.wav b/src/main/webapp/static/layui/lay/modules/notice/3.wav new file mode 100644 index 0000000..617cb1e --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/notice/3.wav Binary files differ diff --git a/src/main/webapp/static/layui/lay/modules/notice/4.wav b/src/main/webapp/static/layui/lay/modules/notice/4.wav new file mode 100644 index 0000000..34679f9 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/notice/4.wav Binary files differ diff --git a/src/main/webapp/static/layui/lay/modules/notice/5.wav b/src/main/webapp/static/layui/lay/modules/notice/5.wav new file mode 100644 index 0000000..400feb8 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/notice/5.wav Binary files differ diff --git a/src/main/webapp/static/layui/lay/modules/notice/6.wav b/src/main/webapp/static/layui/lay/modules/notice/6.wav new file mode 100644 index 0000000..9d1beae --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/notice/6.wav Binary files differ diff --git a/src/main/webapp/static/layui/lay/modules/notice/notice.css b/src/main/webapp/static/layui/lay/modules/notice/notice.css new file mode 100644 index 0000000..d723149 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/notice/notice.css @@ -0,0 +1,1929 @@ +.iziToast-capsule { + font-size: 0; + height: 0; + width: 100%; + transform: translateZ(0); + backface-visibility: hidden; + transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); +} + +.iziToast-capsule, .iziToast-capsule * { + box-sizing: border-box; +} + +.iziToast-overlay { + display: block; + position: fixed; + top: -100px; + left: 0; + right: 0; + bottom: -100px; + z-index: 19891100; +} + +.iziToast { + display: inline-block; + clear: both; + position: relative; + font-family: 'Lato', Tahoma, Arial; + font-size: 14px; + padding: 8px 45px 9px 0; + background: #fff; + border-color: #fff; + width: 100%; + pointer-events: all; + cursor: default; + transform: translateX(0); + -webkit-touch-callout: none /* iOS Safari */; + -webkit-user-select: none /* Chrome/Safari/Opera */; + -khtml-user-select: none /* Konqueror */; + -moz-user-select: none /* Firefox */; + -ms-user-select: none /* Internet Explorer/Edge */; + user-select: none; + min-height: 45px; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + max-width: 90%; + margin: 5px 0; + border-radius: 4px; +} + +.iziToast > .iziToast-progressbar { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + z-index: 1; + background: rgba(255, 255, 255, 0.5); +} + +.iziToast > .iziToast-progressbar > div { + height: 2px; + width: 100%; + background: #dddddd; + border-radius: 0 0 3px 3px; +} + +.iziToast.iziToast-theme-dark > .iziToast-progressbar > div { + background: #fff; +} + +.iziToast.iziToast-balloon:before { + content: ''; + position: absolute; + right: 8px; + left: auto; + width: 0px; + height: 0px; + top: 100%; + border-right: 0px solid transparent; + border-left: 15px solid transparent; + border-top: 10px solid #000; + border-top-color: inherit; + border-radius: 0; +} + +.iziToast.iziToast-balloon .iziToast-progressbar { + top: 0; + bottom: auto; +} + +.iziToast.iziToast-balloon > div { + border-radius: 0 0 0 3px; +} + +.iziToast > .iziToast-cover { + position: absolute; + left: 0; + top: 0; + bottom: 0; + height: 100%; + margin: 0; + background-size: 100%; + background-position: 50% 50%; + background-repeat: no-repeat; +} + +.iziToast > .iziToast-close { + position: absolute; + right: 0; + top: 0; + border: 0; + padding: 0; + opacity: 0.6; + width: 42px; + height: 100%; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJPAAACTwBcGfW0QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAD3SURBVFiF1ZdtDoMgDEBfdi4PwAX8vLFn0qT7wxantojKupmQmCi8R4tSACpgjC2ICCUbEBa8ingjsU1AXRBeR8aLN64FiknswN8CYefBBDQ3whuFESy7WyQMeC0ipEI0A+0FeBvHUFN8xPaUhAH/iKoWsnXHGegy4J0yxialOfaHJAz4bhRzQzgDvdGnz4GbAonZbCQMuBm1K/kcFu8Mp1N2cFFpsxsMuJqqbIGExGl4loARajU1twskJLLhIsID7+tvUoDnIjTg5T9DPH9EBrz8rxjPzciAl9+O8SxI8CzJ8CxKFfh3ynK8Dyb8wNHM/XDqejx/AtNyPO87tNybAAAAAElFTkSuQmCC") no-repeat 50% 50%; + background-size: 8px; + cursor: pointer; + outline: none; +} + +.iziToast > .iziToast-close:hover { + opacity: 1; +} + +.iziToast > .iziToast-body { + position: relative; + padding: 0 0 0 10px; + height: auto; + min-height: 28px; + margin: 0 0 0 15px; + text-align: left; +} + +.iziToast > .iziToast-body:after { + content: ""; + display: table; + clear: both; +} + +.iziToast > .iziToast-body .iziToast-texts { + margin: 6px 0; + padding-right: 2px; + display: inline-block; + float: left; +} + +.iziToast > .iziToast-body .iziToast-inputs { + min-height: 19px; + float: left; + margin: 3px -2px; +} + +.iziToast > .iziToast-body .iziToast-inputs > input:not([type=checkbox]):not([type=radio]), +.iziToast > .iziToast-body .iziToast-inputs > select { + position: relative; + display: inline-block; + margin: 2px; + border-radius: 2px; + border: 0; + padding: 4px 7px; + font-size: 13px; + letter-spacing: 0.02em; + background: rgba(0, 0, 0, 0.1); + color: #000; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); + min-height: 26px; +} + +.iziToast > .iziToast-body .iziToast-inputs > input:not([type=checkbox]):not([type=radio]):focus, +.iziToast > .iziToast-body .iziToast-inputs > select:focus { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6); +} + +.iziToast > .iziToast-body .iziToast-buttons { + min-height: 17px; + float: left; + margin: 4px 0 0 0; +} + +.iziToast > .iziToast-body .iziToast-buttons > a, +.iziToast > .iziToast-body .iziToast-buttons > button, +.iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]) { + position: relative; + display: inline-block; + margin: 2px; + border-radius: 2px; + border: 0; + padding: 5px 10px; + font-size: 12px; + letter-spacing: 0.02em; + cursor: pointer; + background: rgba(0, 0, 0, 0.1); + color: #555; +} + +.iziToast > .iziToast-body .iziToast-buttons > a:hover, +.iziToast > .iziToast-body .iziToast-buttons > button:hover, +.iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]):hover { + background: rgba(0, 0, 0, 0.15); +} + +.iziToast > .iziToast-body .iziToast-buttons > a:focus, +.iziToast > .iziToast-body .iziToast-buttons > button:focus, +.iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]):focus { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6); +} + +.iziToast > .iziToast-body .iziToast-buttons > a:active, +.iziToast > .iziToast-body .iziToast-buttons > button:active, +.iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]):active { + top: 1px; +} + +.iziToast > .iziToast-body .iziToast-icon { + height: 100%; + position: absolute; + left: 0; + top: 50%; + display: table; + font-size: 23px; + line-height: 24px; + margin-top: -11px; + color: #000; + width: 24px; + height: 24px; +} + +.iziToast > .iziToast-body .iziToast-icon.ico-info { + background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcxMTk5MzYwIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEwODAzIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMiAyOC40MTZjLTI2Ny40Njg4IDAtNDg0LjI0OTYgMjE2LjgzMi00ODQuMjQ5NiA0ODQuMjQ5NiAwIDI2Ny40MTc2IDIxNi44MzIgNDg0LjI0OTYgNDg0LjI0OTYgNDg0LjI0OTYgMjY3LjQxNzYgMCA0ODQuMzAwOC0yMTYuODMyIDQ4NC4zMDA4LTQ4NC4yNDk2Qzk5Ni4zMDA4IDI0NS4yNDggNzc5LjQxNzYgMjguNDE2IDUxMiAyOC40MTZ6TTQ1NS41MjY0IDI0NS4wOTQ0QzQ3MC4zMjMyIDIyOS44ODggNDkwLjcwMDggMjIxLjMzNzYgNTExLjc5NTIgMjIxLjY0NDhjMjEuMTk2OC0wLjIwNDggNDEuNzc5MiA4LjI0MzIgNTYuNTI0OCAyMy40NDk2IDE1LjAwMTYgMTQuNzk2OCAyMy4yOTYgMzUuMTIzMiAyMy4wOTEyIDU2LjExNTIgMC4yMDQ4IDIxLjE5NjgtOC4yOTQ0IDQxLjU3NDQtMjMuMzk4NCA1Ni4yMTc2LTE0LjY5NDQgMTQuNjk0NC0zNC43MTM2IDIzLjA0LTU1LjM5ODQgMjMuMDRMNTExLjc5NTIgMzgwLjQ2NzJjLTIwLjk5MiAwLjIwNDgtNDEuMzY5Ni04LjE0MDgtNTYuMDY0LTIzLjE0MjRDNDQwLjY3ODQgMzQyLjY4MTYgNDMyLjMzMjggMzIyLjMwNCA0MzIuNTM3NiAzMDEuMjA5NiA0MzIuMzMyOCAyODAuMjE3NiA0NDAuNjc4NCAyNTkuODkxMiA0NTUuNTI2NCAyNDUuMDk0NHpNNjI3LjYwOTYgNzY4LjE1MzZsMCAxMy40MTQ0IDAgMjIuMjIwOEwzOTYuMjg4IDgwMy43ODg4bDAtNTcuMTM5MiAyMS42MDY0LTAuNzY4YzEwLjI0LTAuNDYwOCAxNC41OTItMi43MTM2IDE2Ljk5ODQtNC43NjE2bDEuMjI4OC01LjQyNzJjMC45NzI4LTUuNTgwOCAxLjYzODQtMTQuNDM4NCAxLjU4NzItMjUuOTA3Mkw0MzcuNzA4OCA1MDcuOTA0YzAuMjU2LTE3Ljc2NjQtMi4zNTUyLTI5LjkwMDgtMy40ODE2LTMyLjU2MzJsMCAwTDQzMS42MTYgNDc0LjA2MDhDNDI4Ljg1MTIgNDczLjA4OCA0MjMuOTM2IDQ3Mi4wNjQgNDE3LjE3NzYgNDcxLjY1NDRMMzk2LjI4OCA0NzAuMzc0NCAzOTYuMjg4IDQxMy40OTEybDE4OS40OTEyIDAgMCAyOTYuMjk0NGMtMC4zMDcyIDE3LjcxNTIgMi40MDY0IDI5Ljc5ODQgMy40MzA0IDMyLjU2MzJsMC4wNTEyIDAgMi43MTM2IDEuMTc3NmMyLjgxNiAwLjk3MjggNy43ODI0IDEuOTk2OCAxNC42OTQ0IDIuMzU1MmwyMC44ODk2IDEuMjhMNjI3LjU1ODQgNzY4LjE1MzZ6IiBwLWlkPSIxMDgwNCIgZmlsbD0iIzQwOUVGRiI+PC9wYXRoPjwvc3ZnPg==") no-repeat 50% 50%; + background-size: 85%; +} + +.iziToast > .iziToast-body .iziToast-icon.ico-warning { + background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcwODczNzUzIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUxMTgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyLjAyMzI3MyAxMDI0Qzc5NC43NjM2MzYgMTAyNCAxMDI0IDc5NC43ODY5MDkgMTAyNCA1MTEuOTc2NzI3IDEwMjQgMjI5LjIzNjM2NCA3OTQuNzg2OTA5LTAuMDIzMjczIDUxMi4wMjMyNzMtMC4wMjMyNzNTMCAyMjkuMjEzMDkxIDAgNTExLjk3NjcyN0MwIDc5NC43ODY5MDkgMjI5LjIzNjM2NCAxMDI0IDUxMi4wMjMyNzMgMTAyNE00NjkuMzQxMDkxIDc2OGMwLTIzLjU1MiAxOC45MjA3MjctNDIuNjU4OTA5IDQyLjcwNTQ1NS00Mi42NTg5MDkgMjMuNTUyIDAgNDIuNjU4OTA5IDE4LjkyMDcyNyA0Mi42NTg5MDkgNDIuNjU4OTA5IDAgMjMuNTc1MjczLTE4LjkyMDcyNyA0Mi43MDU0NTUtNDIuNjU4OTA5IDQyLjcwNTQ1NUM0ODguNDcxMjczIDgxMC43MDU0NTUgNDY5LjM0MTA5MSA3OTEuNzM4MTgyIDQ2OS4zNDEwOTEgNzY4TTQ2OS4zNDEwOTEgMjU1LjgxMzgxOGMwLTIzLjQ1ODkwOSAxOC45MjA3MjctNDIuNDcyNzI3IDQyLjcwNTQ1NS00Mi40NzI3MjcgMjMuNTUyIDAgNDIuNjU4OTA5IDE5LjQzMjcyNyA0Mi42NTg5MDkgNDIuNDcyNzI3bDAgMzQxLjczNjcyN2MwIDIzLjQ1ODkwOS0xOC45MjA3MjcgNDIuNDcyNzI3LTQyLjY1ODkwOSA0Mi40NzI3MjctMjMuNTc1MjczIDAtNDIuNzA1NDU1LTE5LjQzMjcyNy00Mi43MDU0NTUtNDIuNDcyNzI3TDQ2OS4zNDEwOTEgMjU1LjgxMzgxOHoiIHAtaWQ9IjUxMTkiIGZpbGw9IiNmZjk5MDAiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; + background-size: 85%; +} + +.iziToast > .iziToast-body .iziToast-icon.ico-error { + background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcwNDI1NDkwIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEyNjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5NjQxOCAyMy41MjA2OTNjLTI2OS43NjcwNSAwLTQ4OC40NTQ3NDggMjE4LjY4ODcyMS00ODguNDU0NzQ4IDQ4OC40NTQ3NDggMCAyNjkuNzY4MDczIDIxOC42ODg3MjEgNDg4LjQ1MzcyNCA0ODguNDU0NzQ4IDQ4OC40NTM3MjQgMjY5Ljc2NjAyNyAwIDQ4OC40NTQ3NDgtMjE4LjY4NTY1MSA0ODguNDU0NzQ4LTQ4OC40NTM3MjRDMTAwMC40NTExNjYgMjQyLjIwOTQxNCA3ODEuNzYyNDQ1IDIzLjUyMDY5MyA1MTEuOTk2NDE4IDIzLjUyMDY5M3pNNzY5LjMzNDM5MSA3MTUuMTU1OTU2bC01NC4xNTY0MzQgNTQuMTU2NDM0TDUxMS45OTY0MTggNTY2LjEyOTgyOCAzMDguODEzODU2IDc2OS4zMTIzOWwtNTQuMTU1NDExLTU0LjE1NjQzNEw0NTcuODQxMDA4IDUxMS45NzU0NDEgMjU0LjY1ODQ0NiAzMDguNzkyODc4bDU0LjE1NTQxMS01NC4xNTU0MTFMNTExLjk5NjQxOCA0NTcuODIwMDNsMjAzLjE4MjU2Mi0yMDMuMTgyNTYyIDU0LjE1NjQzNCA1NC4xNTU0MTFMNTY2LjE1MTgyOSA1MTEuOTc1NDQxIDc2OS4zMzQzOTEgNzE1LjE1NTk1NnoiIHAtaWQ9IjEyNjYiIGZpbGw9IiNGNTZDNkMiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; + background-size: 80%; +} + +.iziToast > .iziToast-body .iziToast-icon.ico-success { + background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcwNTI2MjA3IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ5NjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMTAyNCA1MTEuOTk5NTAyYzAgMjgyLjc3MDU1Ny0yMjkuMjI5OTQxIDUxMi4wMDA0OTgtNTExLjk5OTUwMiA1MTIuMDAwNDk4LTI4Mi43Njk1NjEgMC01MTIuMDAwNDk4LTIyOS4yMjk5NDEtNTEyLjAwMDQ5OC01MTIuMDAwNDk4IDAtMjgyLjc2ODU2NiAyMjkuMjMwOTM2LTUxMS45OTk1MDIgNTEyLjAwMDQ5OC01MTEuOTk5NTAyQzc5NC43NjkwNjQgMCAxMDI0IDIyOS4yMzA5MzYgMTAyNCA1MTEuOTk5NTAyek03OTYuNTc3MDgxIDM3OC4zMTc3MTNsLTQ4LjQ1OTA1MS00OC40NTkwNTEtMjk3LjA3ODM4NyAyOTcuMDc3MzkyTDI3Ny4yNjc4NTIgNDUzLjE2NTI1OGwtNDguNDU4MDU2IDQ4LjQ1ODA1NiAyMjIuMjI4ODUxIDIyMi4yMzA4NDJMNzk2LjU3NzA4MSAzNzguMzE3NzEzeiIgcC1pZD0iNDk2NiIgZmlsbD0iIzY3YzIzYSI+PC9wYXRoPjwvc3ZnPg==") no-repeat 50% 50%; + background-size: 85%; +} + +.iziToast > .iziToast-body .iziToast-icon.ico-question { + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCQkUEhFovxTxAAAEDklEQVRo3s2ZTWgTQRTHf03ipTRUqghNSgsRjHgQrFUQC6JgD1Kak3gQUUoPqRdBglf1oBehBws9Cn4cGk+1SOmh2upBxAYVoeJHrR9tgq0i1Cq0lqYeks7MbpPdmU00/c8hm9n33v/t7Nt5M2+qMEWQI0QIibZKRrQpHvLL2KI2wnQzzBKrDm2RIeKEy01dTYKUI7G1ZRknQXV5yP10kTYgly1NF/5S6duZ8ES+1iZodyaocrjXxE0OFeifYYgp0mRIkwFChAkRJsIxGgrIP+I0n82fvZW5dc/zkss0O2o1c5mX6/TmaDWl77RFe5YkUW3tKEmyFv0lOvXJ/fTYnmCEFuMRbGHEZqVHLyT9DFjUJmkzJl9DG5MWWwM6Llif/gF1nukB6nhgGwUXdFrE+wiURA8QoM9i0zEWWpXQW+ZsyeRrOMuyEo5Fv4gmy4dXPvqcC+pH2VRYaMwy+OWG+iLGCgm0W0Kv9HdvR8ASjmKCXpuK/bxiV/76A/v5UdDIZuKcJGjrnec5KZ7wwsWFOp6xPX/9mt2sqDe7FO+Kf/fXHBPPDWpdXGhTpLvUG9VKwh1xMDDjkvu+cNDFBTk7ptX1QkKZ850m3duu6fcrWxwdaFFyREJ2j4vOpKP6Du6z4uJCv8sYJIVkCnJBGGZaBONO3roY2EqNrSfIPi7SKP4fdXyNUd6I6wbSAHEl33tFLe+FlSsusnK90A0+oEPcuufZgXnOi+u9LrKSJQZQw6LwqBnv2CKsfHORbFbyQhA6xN/pEuihSdj56Co7LWRjPiKie6gkB2LiKuUqK5kiPkLiz1QJ9K1cNXBAMoUCigNpQ9IqDtMI1HKA4/jyvUsaoSyZLA5kjOjDPFZen8Ql5TsvBskUgjciIPSX3QAXC86DT7VWvlEh/xZ+ij9BDVWJ0QL0SbZq6QaFxoLPcXPmBLveLCc4wXdDK6s+6/vwhCSniFLPXW0NJe5UB8zKCsviqpc7vGPVQFcyZbyPwGD+d5ZnxmNWlhG4xSBZZjivjIWHEQgoDkSMjMwTo54569JSE5IpA7EyJSMTyGTUAUFlO1ZKOtaHTMeL1PhYYFTcihmY2cQ5+ullj7EDkiVfVez2sCTz8yiv84djhg7IJVk81xFWJlPdfHBG0flkRC/zQFZ+DSllNtfDdUsOMCliyGX5uOzU3ZhIXFDof4m1gDuKbEx0t2YS25gVGpcMnr/I1kx3c6piB8P8ZoqEwfMX3ZyCXynJTmq/U7NUXqfUzCbWL1wqVKBQUeESzQYoUlW8TAcVL1RCxUu1G6BYXfFyfQ4VPbDI4T8d2WzgQ6sc/vmxnTsqfHCZQzUJxm1h5dxS5Tu6lQgTZ0ipqRVqSwzTbbLHMt+c19iO76tsx/cLZub+Ali+tYC93olEAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA5LTA5VDIwOjE4OjE3KzAyOjAwjKtfjgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wOS0wOVQyMDoxODoxNyswMjowMP325zIAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC") no-repeat 50% 50%; + background-size: 85%; +} + +.iziToast > .iziToast-body .iziToast-icon.ico-load { + background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQ1NTUyMzAyOTE3IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQyNDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDY0YzI0Ny4yIDAgNDQ4IDIwMC44IDQ0OCA0NDhoLTY0YzAtMjEyLTE3Mi0zODQtMzg0LTM4NFY2NHogbTAgODMyYy0yMTIgMC0zODQtMTcyLTM4NC0zODRINjRjMCAyNDcuMiAyMDAuOCA0NDggNDQ4IDQ0OHYtNjR6IiBwLWlkPSI0MjQxIiBmaWxsPSIjMUU5RkZGIj48L3BhdGg+PC9zdmc+') no-repeat 50% 50%; + background-size: 85%; + animation: rotating 1.2s linear infinite +} + +@keyframes rotating { + from { + transform: rotate(0) + } + to { + transform: rotate(360deg) + } +} + +.iziToast > .iziToast-body .iziToast-title { + padding: 0; + margin: 0 0 10px 0; + line-height: 16px; + font-size: 14px; + text-align: left; + float: left; + color: #303133; + white-space: normal; +} + +.iziToast > .iziToast-body .iziToast-message { + padding: 0; + margin: 0; + font-size: 14px; + line-height: 16px; + text-align: left; + float: left; + color: #606266; + white-space: normal; +} + +.iziToast.iziToast-animateInside .iziToast-title, +.iziToast.iziToast-animateInside .iziToast-message, +.iziToast.iziToast-animateInside .iziToast-icon, +.iziToast.iziToast-animateInside .iziToast-buttons-child, +.iziToast.iziToast-animateInside .iziToast-inputs-child { + opacity: 0; +} + +.iziToast-target { + position: relative; + width: 100%; + margin: 0 auto; +} + +.iziToast-target .iziToast-capsule { + overflow: hidden; +} + +.iziToast-target .iziToast-capsule:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; +} + +.iziToast-target .iziToast-capsule .iziToast { + width: 100%; + float: left; +} + +.iziToast-wrapper { + z-index: 19891101; + position: fixed; + width: 100%; + pointer-events: none; + display: flex; + flex-direction: column; +} + +.iziToast-wrapper .iziToast.iziToast-balloon:before { + border-right: 0 solid transparent; + border-left: 15px solid transparent; + border-top: 10px solid #000; + border-top-color: inherit; + right: 8px; + left: auto; +} + +.iziToast-wrapper-bottomLeft { + left: 0; + bottom: 0; + text-align: left; +} + +.iziToast-wrapper-bottomLeft .iziToast.iziToast-balloon:before { + border-right: 15px solid transparent; + border-left: 0 solid transparent; + right: auto; + left: 8px; +} + +.iziToast-wrapper-bottomRight { + right: 0; + bottom: 0; + text-align: right; +} + +.iziToast-wrapper-topLeft { + left: 0; + top: 0; + text-align: left; +} + +.iziToast-wrapper-topLeft .iziToast.iziToast-balloon:before { + border-right: 15px solid transparent; + border-left: 0 solid transparent; + right: auto; + left: 8px; +} + +.iziToast-wrapper-topRight { + top: 0; + right: 0; + text-align: right; +} + +.iziToast-wrapper-topCenter { + top: 0; + left: 0; + right: 0; + text-align: center; +} + +.iziToast-wrapper-bottomCenter { + bottom: 0; + left: 0; + right: 0; + text-align: center; +} + +.iziToast-wrapper-center { + top: 0; + bottom: 0; + left: 0; + right: 0; + text-align: center; + justify-content: center; + flex-flow: column; + align-items: center; +} + +.iziToast-rtl { + direction: rtl; + padding: 8px 0 9px 45px; + font-family: Tahoma, 'Lato', Arial; +} + +.iziToast-rtl .iziToast-cover { + left: auto; + right: 0; +} + +.iziToast-rtl .iziToast-close { + right: auto; + left: 0; +} + +.iziToast-rtl .iziToast-body { + padding: 0 10px 0 0; + margin: 0 16px 0 0; + text-align: right; +} + +.iziToast-rtl .iziToast-body .iziToast-buttons, +.iziToast-rtl .iziToast-body .iziToast-inputs, +.iziToast-rtl .iziToast-body .iziToast-texts, +.iziToast-rtl .iziToast-body .iziToast-title, +.iziToast-rtl .iziToast-body .iziToast-message { + float: right; + text-align: right; +} + +.iziToast-rtl .iziToast-body .iziToast-icon { + left: auto; + right: 0; +} + +@media only screen and (min-width: 568px) { + .iziToast-wrapper { + padding: 10px 15px; + } + + .iziToast { + width: auto; + } + + .iziToast:not(.iziToast-rtl) .iziToast-cover { + border-radius: 3px 0 0 3px; + } + + .iziToast.iziToast-rtl .iziToast-cover { + border-radius: 0 3px 3px 0; + } + + .iziToast.iziToast-color-dark:after { + box-shadow: inset 0 -10px 20px -10px rgba(255, 255, 255, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.25); + } + + .iziToast.iziToast-balloon .iziToast-progressbar { + background: transparent; + } + + .iziToast.iziToast-balloon:after { + box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.25), inset 0 10px 20px -5px rgba(0, 0, 0, 0.25); + } + + .iziToast-target .iziToast:after { + box-shadow: inset 0 -10px 20px -10px rgba(0, 0, 0, 0.2), inset 0 0 5px rgba(0, 0, 0, 0.1); + } +} + +.iziToast.iziToast-theme-dark { + background: #565c70; + border-color: #565c70; +} + +.iziToast.iziToast-theme-dark .iziToast-title { + color: #fff; +} + +.iziToast.iziToast-theme-dark .iziToast-message { + color: rgba(255, 255, 255, 0.9); + font-weight: 300; +} + +.iziToast.iziToast-theme-dark .iziToast-close { + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfgCR4OIQIPSao6AAAAwElEQVRIx72VUQ6EIAwFmz2XB+AConhjzqTJ7JeGKhLYlyx/BGdoBVpjIpMJNjgIZDKTkQHYmYfwmR2AfAqGFBcO2QjXZCd24bEggvd1KBx+xlwoDpYmvnBUUy68DYXD77ESr8WDtYqvxRex7a8oHP4Wo1Mkt5I68Mc+qYqv1h5OsZmZsQ3gj/02h6cO/KEYx29hu3R+VTTwz6D3TymIP1E8RvEiiVdZfEzicxYLiljSxKIqlnW5seitTW6uYnv/Aqh4whX3mEUrAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA5LTMwVDE0OjMzOjAyKzAyOjAwl6RMVgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wOS0zMFQxNDozMzowMiswMjowMOb59OoAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC") no-repeat 50% 50%; + background-size: 8px; +} + +.iziToast.iziToast-theme-dark .iziToast-icon { + color: #fff; +} + +.iziToast.iziToast-theme-dark .iziToast-icon.ico-info { + background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjQ5NjA1MTc2IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM1MzIiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNODUxLjE3MTU1NiA3MTcuOTM3Nzc4YzMuMjQyNjY3IDExLjk0NjY2NyAyLjg0NDQ0NCAyNC40NjIyMjItMS40MjIyMjMgMzYuNDA4ODg5YTYyLjkxOTExMSA2Mi45MTkxMTEgMCAwIDEtMjEuOTU5MTExIDI5LjUyNTMzMyA2NS4yNTE1NTYgNjUuMjUxNTU2IDAgMCAxLTM4LjkxMiAxMi41MTU1NTZIMTc4LjExOTExMWE2NC44NTMzMzMgNjQuODUzMzMzIDAgMCAxLTM4Ljc5ODIyMi0xMi41NzI0NDUgNjIuMjM2NDQ0IDYyLjIzNjQ0NCAwIDAgMS0yMi4wMTYtMjkuNTI1MzMzIDYwLjY0MzU1NiA2MC42NDM1NTYgMCAwIDEtMS4zNjUzMzMtMzYuNDA4ODg5YzMuNTg0LTEzLjE0MTMzMyAxMS40MzQ2NjctMjQuNTc2IDIyLjY5ODY2Ni0zMy4xMDkzMzNsNTguNDgxNzc4LTQ0LjAzMmE0MC43MzI0NDQgNDAuNzMyNDQ0IDAgMCAwIDE2LjQ5Nzc3OC0zMi43MTExMTJ2LTIwMy4wOTMzMzNjMC0zNS4yMTQyMjIgNy4xNjgtNjkuNTE4MjIyIDIxLjIxOTU1NS0xMDEuNzE3MzMzIDEzLjY1MzMzMy0zMS4xNzUxMTEgMzMuMTA5MzMzLTU5LjE2NDQ0NCA1Ny44NTYtODMuMTE0NjY3QTI2OC44NTY4ODkgMjY4Ljg1Njg4OSAwIDAgMSA0MTQuNzIgMTUyLjA2NHYtMjguNTAxMzMzQzQxNC43MiA4Ni44MTI0NDQgNDQ1LjYxMDY2NyA1Ni44ODg4ODkgNDgzLjU1NTU1NiA1Ni44ODg4ODljMzcuOTQ0ODg5IDAgNjguODM1NTU2IDI5LjkyMzU1NiA2OC44MzU1NTUgNjYuNjczNzc4djI4LjUwMTMzM2MxMi4zNDQ4ODkgMy4xODU3NzggMjQuNDYyMjIyIDcuMTY4IDM2LjIzODIyMiAxMi4wMDM1NTZhMjY4LjY4NjIyMiAyNjguNjg2MjIyIDAgMCAxIDg1Ljc4ODQ0NSA1Ni4wMzU1NTVjMjQuNzQ2NjY3IDI0LjAwNzExMSA0NC4yMDI2NjcgNTEuOTM5NTU2IDU3Ljc5OTExMSA4My4wNTc3NzggMTQuMTA4NDQ0IDMyLjMxMjg4OSAyMS4yMTk1NTYgNjYuNTYgMjEuMjE5NTU1IDEwMS44MzExMTF2MjAzLjA5MzMzM2MwIDEyLjg1Njg4OSA2LjAzMDIyMiAyNC44NjA0NDQgMTYuNTU0NjY3IDMyLjcxMTExMWw1OC40ODE3NzggNDQuMDMyYzExLjIwNzExMSA4LjUzMzMzMyAxOS4wNTc3NzggMTkuOTExMTExIDIyLjc1NTU1NSAzMy4wNTI0NDV6TTM5OC4yMjIyMjIgODU2LjE3Nzc3OFY4NTMuMzMzMzMzaDE3MC42NjY2Njd2Mi44NDQ0NDVDNTY4Ljg4ODg4OSA5MzUuOTM2IDUzMC42MDI2NjcgOTY3LjExMTExMSA0ODMuNTU1NTU2IDk2Ny4xMTExMTFTMzk4LjIyMjIyMiA5MzUuOTM2IDM5OC4yMjIyMjIgODU2LjE3Nzc3OHoiIHAtaWQ9IjM1MzMiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; + background-size: 85%; +} + +.iziToast.iziToast-theme-dark .iziToast-icon.ico-warning { + background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjUxMTE1OTQ4IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUwOTYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4LjEyNSIgaGVpZ2h0PSIxMjgiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTk4NC4wMjI5NTAwMiA3NDYuODc1NDk3NUw2NDEuOTY0NjA3NTIgMTMwLjM4MDY1Yy0zMC40OTE4NDI1LTU0Ljg2MTUwMjUtNzcuOTMxMzE1LTg2LjMzNTY3MjUtMTMwLjE0MzUxLTg2LjMzNTY3MjUtNTIuMjkxNTc1IDAtOTkuNzQwOTcgMzEuNTEzODYtMTMwLjE0MzUxIDg2LjQzNDg5NzVMMzkuOTc2NDU1MDIgNzQ2LjgyNTg4NUM5Ljk2MDg5MjUyIDgwMC45NjMwNDUgNy45MTY4NTc1MiA4NTguMDE3NDIgMzQuMzUwMzk3NTIgOTAzLjM1MzMyMjVjMjYuNTEyOTIgNDUuNDc0ODE3NSA3Ny4xOTcwNSA3MS41NjEwNyAxMzkuMDczNzYgNzEuNTYxMDdoNjc3LjIyMDU0NzVjNjEuOTA2NDc3NSAwIDExMi41OTA2MDc1LTI2LjA4NjI1MjUgMTM5LjAxNDIyNS03MS40OTE2MTI1IDI2LjQ4MzE1MjUtNDUuMjc2MzY3NSAyNC40MjkxOTUtMTAyLjM0MDY2NS01LjYzNTk4LTE1Ni41NDcyODI1ek05MTEuNzU3MzgyNTIgODU3Ljk5NzU3NWMtOS44OTI3MzI1IDE2Ljk4NzMyLTMyLjE1ODgyMjUgMjYuNzMxMjE1LTYxLjExMjY3NzUgMjYuNzMxMjE1SDE3My40MjQxNTc1MmMtMjguOTQzOTMyNSAwLTUxLjIyOTg2NzUtOS43NjM3NC02MS4xNjIyOS0yNi43OTA3NS0xMC4wMjE3MjUtMTcuMTg1NzctNy42MTA1NTc1LTQxLjc0Mzk1NzUgNi41ODg1NC02Ny4zNzM3NzVsMzQxLjcxMTA1NS02MTYuMzY1ODU1YzE0LjA2MDE4MjUtMjUuMzkxNjc3NSAzMi43NTQxNzI1LTM5Ljk1NzkwNzUgNTEuMjU5NjM1LTM5Ljk1NzkwNzUgMTguNDk1NTQgMCAzNy4xOTk0NTI1IDE0LjU2NjIzIDUxLjMwOTI0NzUgMzkuOTM4MDYyNWwzNDIuMDI4NTc1IDYxNi40NDUyMzVjMTQuMjI4ODY1IDI1LjY0OTY2MjUgMTYuNjQwMDMyNSA1MC4xODgwMDUgNi41OTg0NjI1IDY3LjM3Mzc3NXoiIGZpbGw9IiNmZmZmZmYiIHAtaWQ9IjUwOTciPjwvcGF0aD48cGF0aCBkPSJNNTEyLjAxOTU0NzUyIDYzMC4yODYxMjI1YTQ1LjA4Nzg0IDQ1LjA4Nzg0IDAgMCAwIDQ1LjA5Nzc2MjUtNDUuMDA4NDZWMzc0LjY1Mjc1NWE0NS4wNzc5MTc1IDQ1LjA3NzkxNzUgMCAwIDAtNDUuMDk3NzYyNS00NS4wMDg0NiA0NS4wODc4NCA0NS4wODc4NCAwIDAgMC00NS4wOTc3NjI1IDQ1LjAwODQ2djIxMC42MTQ5ODVhNDUuMDg3ODQgNDUuMDg3ODQgMCAwIDAgNDUuMDk3NzYyNSA0NS4wMTgzODI1ek01MTIuMDE5NTQ3NTIgNjc1LjM3Mzk2MjVhNjAuMTcwMDQgNjAuMTcwMDQgMCAwIDAtNjAuMTMwMzUgNjAuMTMwMzVjMCAzMy4xNDExNSAyNi45MTk3NDI1IDYwLjEzMDM1IDYwLjEzMDM1IDYwLjEzMDM1IDMzLjE0MTE1IDAgNjAuMTMwMzUtMjYuOTE5NzQyNSA2MC4xMzAzNS02MC4xMzAzNSAwLTMzLjE0MTE1LTI2LjkxOTc0MjUtNjAuMTMwMzUtNjAuMTMwMzUtNjAuMTMwMzV6IiBmaWxsPSIjZmZmZmZmIiBwLWlkPSI1MDk4Ij48L3BhdGg+PC9zdmc+") no-repeat 50% 50%; + background-size: 85%; +} + +.iziToast.iziToast-theme-dark .iziToast-icon.ico-error { + background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjUxMzE1NTQ3IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjY4MDYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNzcyLjI2NjY2NyA4ODMuMmMyNS42IDI1LjYgNjQgMjUuNiA4OS42IDAgMjUuNi0yNS42IDI1LjYtNjQgMC04OS42TDIzMC40IDE2Mi4xMzMzMzNjLTI1LjYtMjUuNi02NC0yNS42LTg5LjYgMC0yNS42IDI1LjYtMjUuNiA2NCAwIDg5LjZsNjMxLjQ2NjY2NyA2MzEuNDY2NjY3eiIgcC1pZD0iNjgwNyIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik04NjEuODY2NjY3IDI1MS43MzMzMzNjMjUuNi0yNS42IDI1LjYtNjQgMC04OS42LTI1LjYtMjUuNi02NC0yNS42LTg5LjYgMEwxNDAuOCA3OTMuNmMtMjUuNiAyNS42LTI1LjYgNjQgMCA4OS42czY0IDI1LjYgODkuNiAwbDYzMS40NjY2NjctNjMxLjQ2NjY2N3oiIHAtaWQ9IjY4MDgiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; + background-size: 80%; +} + +.iziToast.iziToast-theme-dark .iziToast-icon.ico-success { + background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjUxMjQyNTMxIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwMjMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNDA0LjI1MTQyOCA4MDkuNjEwN2MtMTEuNjY0MTAyIDAtMjMuMzI3MTc5LTQuNDQ4NzgyLTMyLjIyNTc2Ny0xMy4zNDczNjlMODMuOTgwMDk4IDUwOC4yMTk4MTVjLTE3Ljc5ODE5OS0xNy43OTcxNzUtMTcuNzk4MTk5LTQ2LjY1MzMzNSAwLTY0LjQ1MTUzM3M0Ni42NTMzMzUtMTcuNzk4MTk5IDY0LjQ1MTUzNCAwbDI4OC4wNDQ1MzkgMjg4LjA0MjQ5MWMxNy43OTgxOTkgMTcuNzk4MTk5IDE3Ljc5ODE5OSA0Ni42NTQzNTkgMCA2NC40NTI1NTgtOC44OTc1NjMgOC44OTg1ODctMjAuNTYxNjY1IDEzLjM0NzM2OS0zMi4yMjQ3NDMgMTMuMzQ3MzY5eiIgcC1pZD0iNjAyNCIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik00MDQuMjczOTUzIDgwOS42MTE3MjNjLTExLjY2NDEwMiAwLTIzLjMyNjE1NS00LjQ0OTgwNi0zMi4yMjU3NjYtMTMuMzQ4MzkyLTE3Ljc5ODE5OS0xNy43OTcxNzUtMTcuNzk5MjIyLTQ2LjY1MzMzNS0wLjAwMTAyNC02NC40NTE1MzRMODc2LjEwMTgxMyAyMjcuNzM1NjQ2YzE3Ljc5NjE1MS0xNy43OTgxOTkgNDYuNjUzMzM1LTE3Ljc5OTIyMiA2NC40NTE1MzMtMC4wMDEwMjQgMTcuNzk4MTk5IDE3Ljc5NzE3NSAxNy43OTkyMjIgNDYuNjUzMzM1IDAuMDAxMDI0IDY0LjQ1MTUzM0w0MzYuNTAwNzQ0IDc5Ni4yNjIzMDdjLTguODk4NTg3IDguODk4NTg3LTIwLjU2MjY4OSAxMy4zNDk0MTctMzIuMjI2NzkxIDEzLjM0OTQxNnoiIHAtaWQ9IjYwMjUiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; + background-size: 85%; +} + +.iziToast.iziToast-theme-dark .iziToast-icon.ico-question { + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCQkUEg18vki+AAAETUlEQVRo3s1ZTWhbRxD+VlIuxsLFCYVIIQYVopBDoK5bKDWUBupDMNbJ5FBKg/FBziUQdE9yaC+FHBrwsdCfQ9RTGoLxwWl+DqHEojUFFydxnB9bInZDqOsErBrr6yGvs/ueX97bldTKo4Pe7puZb3Z33s7srIIjMY1jyCEjP6ImvyX8pF64arSHznKC06wzijY5xSKz7YbuYokV2lODsyyxqz3gSY6z6gCuqcpxJluFH+Z8U+D/0jyHoxFUBHgfvsGHIS9WMIUlVFFDFTUAGWSRQRY5HMeBEP6b+Ew9dh/7INd2jGeO59kfKdXP85zbIbfGQVf4sYC3N1hm3lo6zzIbPvk6x+zBk7wQGMEMB5xncIAzAS0XrFySSV72iS1yyBVcdA1x0afrsoUJgdFfY2+z8ADAXl7zz0KcwJiPfZKpVuABgClO+nRG+QIHDdfb4qlWwUXvKW4Z7vi6L4J9vg+vbfCeCeZH2RfOdMOc/HbCA4BvIW6EMQz7XK/ltd+hP+VzR9mgva2YSfyGI17fA7ynnocqeQNFfIJ0oHsdv6CC2+rXGBN6cQdveY3fcVRtmy/HDete+93zy8jA8zV7YkwYMrjHzRddRsCdiVCwwmh6wg9iTNC7Y9XIF1iS7kbUpsvvGEdPuTfSgAEjRpR096x0liPFD/Eqt2NMuBQzB2XhrACAApjFsuQFh9XdGAX70B3oSuNdnMVBaX+sopYxjwVpHFBVACyKTXNoktjD+6Ll8xhenS9MAAkAI/Lux2YNUOs4I413Ypg1SgEAu7kpFvWjaeJe0fJHDGe/cNaZBkekudw8PMA+0fMwlndZeAsJ5KR/qhUDUJCnSiyvRsolkJHGUgvjH8QXDgZopEzKMKDqCKrwEQ4C6MH7GEXC665buLJG8hlQc4LP4paxfJrOqYVYYY2UARfEIazTbgDg2dB98GebzJd54b8L/iWNdLyooeR6CHyZ+6xk0yKxkYg6nEVSUG4VJ9QJ9cxRCxO+9WiOyvgUeexXP1hLGH5nGuBWVtiSp4vqe3VP0UFWI9Wan4Er3v8q7jjPWVtm4FtcQQMrOKO2nOQCM5AyDMi56FDrKHA/1nyppS1ppBpYaE8wciEjGI2AaeM41kI4doDX4XiT3Qm1gevyruCgZg9P8xIv8m1nCzTKq6oiJ9xTMiZ505P5m8cdZ0CnZMVXHVljM7WMBzxpyDxygtdxoCEFTaMIWbZU85UvBjgUMYy0fBaAF8V1Lj9qWQ1aMZ5f4k9r+AGMSkMP1vZoZih6k6sicc5h/OFHM9vDqU/VIU7zJZdYYsKGH4g4nAJMGiXZRds1pVMoZ69RM5vfkbh0qkBhsnS2RLMLilQdL9MBHS9UAh0v1e6CYnXHy/WeeCcvLDwl/9OVze69tPKM+M+v7eJN6OzFpWdEF0ucDbhVNFXadnVrmJFlkVNGTS2M6pzmhMvltfPhnN2B63sVuL7fcNP3D1TSk2ihosPrAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA5LTA5VDIwOjE4OjEzKzAyOjAweOR7nQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wOS0wOVQyMDoxODoxMyswMjowMAm5wyEAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC") no-repeat 50% 50%; + background-size: 85%; +} + +.iziToast.iziToast-theme-dark .iziToast-buttons > a, +.iziToast.iziToast-theme-dark .iziToast-buttons > button, +.iziToast.iziToast-theme-dark .iziToast-buttons > input { + color: #fff; + background: rgba(255, 255, 255, 0.1); +} + +.iziToast.iziToast-theme-dark .iziToast-buttons > a:hover, +.iziToast.iziToast-theme-dark .iziToast-buttons > button:hover, +.iziToast.iziToast-theme-dark .iziToast-buttons > input:hover { + background: rgba(255, 255, 255, 0.2); +} + +.iziToast.iziToast-theme-dark .iziToast-buttons > a:focus, +.iziToast.iziToast-theme-dark .iziToast-buttons > button:focus, +.iziToast.iziToast-theme-dark .iziToast-buttons > input:focus { + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.6); +} + +.iziToast.iziToast-theme-dark.iziToast-color-red { + background: #F56C6C; + border-color: #F56C6C; +} + +.iziToast.iziToast-theme-dark.iziToast-color-orange { + background: #E6A23C; + border-color: #E6A23C; +} + +.iziToast.iziToast-theme-dark.iziToast-color-yellow { + background: rgba(255, 249, 178, 0.9); + border-color: rgba(255, 249, 178, 0.9); +} + +.iziToast.iziToast-theme-dark.iziToast-color-blue { + background: #409EFF; + border-color: #409EFF; +} + +.iziToast.iziToast-theme-dark.iziToast-color-green { + background: #67C23A; + border-color: #67C23A; +} + +.iziToast.iziToast-layout2 .iziToast-body .iziToast-texts, +.iziToast.iziToast-layout2 .iziToast-body .iziToast-message { + width: 100%; +} + +.iziToast.iziToast-layout3 { + border-radius: 2px; +} + +.iziToast.iziToast-layout3::after { + display: none; +} + +.iziToast.revealIn, +.iziToast .revealIn { + -webkit-animation: iziT-revealIn 1s cubic-bezier(0.25, 1.6, 0.25, 1) both; + -moz-animation: iziT-revealIn 1s cubic-bezier(0.25, 1.6, 0.25, 1) both; + animation: iziT-revealIn 1s cubic-bezier(0.25, 1.6, 0.25, 1) both; +} + +.iziToast.slideIn, +.iziToast .slideIn { + -webkit-animation: iziT-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; + -moz-animation: iziT-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; + animation: iziT-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; +} + +.iziToast.bounceInLeft { + -webkit-animation: iziT-bounceInLeft 0.7s ease-in-out both; + animation: iziT-bounceInLeft 0.7s ease-in-out both; +} + +.iziToast.bounceInRight { + -webkit-animation: iziT-bounceInRight 0.85s ease-in-out both; + animation: iziT-bounceInRight 0.85s ease-in-out both; +} + +.iziToast.bounceInDown { + -webkit-animation: iziT-bounceInDown 0.7s ease-in-out both; + animation: iziT-bounceInDown 0.7s ease-in-out both; +} + +.iziToast.bounceInUp { + -webkit-animation: iziT-bounceInUp 0.7s ease-in-out both; + animation: iziT-bounceInUp 0.7s ease-in-out both; +} + +.iziToast.fadeIn, +.iziToast .fadeIn { + -webkit-animation: iziT-fadeIn 0.5s ease both; + animation: iziT-fadeIn 0.5s ease both; +} + +.iziToast.fadeInUp { + -webkit-animation: iziT-fadeInUp 0.7s ease both; + animation: iziT-fadeInUp 0.7s ease both; +} + +.iziToast.fadeInDown { + -webkit-animation: iziT-fadeInDown 0.7s ease both; + animation: iziT-fadeInDown 0.7s ease both; +} + +.iziToast.fadeInLeft { + -webkit-animation: iziT-fadeInLeft 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; + animation: iziT-fadeInLeft 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; +} + +.iziToast.fadeInRight { + -webkit-animation: iziT-fadeInRight 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; + animation: iziT-fadeInRight 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; +} + +.iziToast.flipInX { + -webkit-animation: iziT-flipInX 0.85s cubic-bezier(0.35, 0, 0.25, 1) both; + animation: iziT-flipInX 0.85s cubic-bezier(0.35, 0, 0.25, 1) both; +} + +.iziToast.fadeOut { + -webkit-animation: iziT-fadeOut 0.7s ease both; + animation: iziT-fadeOut 0.7s ease both; +} + +.iziToast.fadeOutDown { + -webkit-animation: iziT-fadeOutDown 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; + animation: iziT-fadeOutDown 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; +} + +.iziToast.fadeOutUp { + -webkit-animation: iziT-fadeOutUp 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; + animation: iziT-fadeOutUp 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; +} + +.iziToast.fadeOutLeft { + -webkit-animation: iziT-fadeOutLeft 0.5s ease both; + animation: iziT-fadeOutLeft 0.5s ease both; +} + +.iziToast.fadeOutRight { + -webkit-animation: iziT-fadeOutRight 0.5s ease both; + animation: iziT-fadeOutRight 0.5s ease both; +} + +.iziToast.flipOutX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation: iziT-flipOutX 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; + animation: iziT-flipOutX 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; +} + +.iziToast-overlay.fadeIn { + -webkit-animation: iziT-fadeIn 0.5s ease both; + animation: iziT-fadeIn 0.5s ease both; +} + +.iziToast-overlay.fadeOut { + -webkit-animation: iziT-fadeOut 0.7s ease both; + animation: iziT-fadeOut 0.7s ease both; +} + +@-webkit-keyframes iziT-revealIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 1); + } + 100% { + opacity: 1; + } +} + +@-moz-keyframes iziT-revealIn { + 0% { + opacity: 0; + -moz-transform: scale3d(0.3, 0.3, 1); + } + 100% { + opacity: 1; + } +} + +@-webkit-keyframes iziT-slideIn { + 0% { + opacity: 0; + -webkit-transform: translateX(50px); + } + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} + +@-moz-keyframes iziT-slideIn { + 0% { + opacity: 0; + -moz-transform: translateX(50px); + } + 100% { + opacity: 1; + -moz-transform: translateX(0); + } +} + +@-webkit-keyframes iziT-bounceInLeft { + 0% { + opacity: 0; + -webkit-transform: translateX(280px); + } + 50% { + opacity: 1; + -webkit-transform: translateX(-20px); + } + 70% { + -webkit-transform: translateX(10px); + } + 100% { + -webkit-transform: translateX(0); + } +} + +@-webkit-keyframes iziT-bounceInRight { + 0% { + opacity: 0; + -webkit-transform: translateX(-280px); + } + 50% { + opacity: 1; + -webkit-transform: translateX(20px); + } + 70% { + -webkit-transform: translateX(-10px); + } + 100% { + -webkit-transform: translateX(0); + } +} + +@-webkit-keyframes iziT-bounceInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-200px); + } + 50% { + opacity: 1; + -webkit-transform: translateY(10px); + } + 70% { + -webkit-transform: translateY(-5px); + } + 100% { + -webkit-transform: translateY(0); + } +} + +@-webkit-keyframes iziT-bounceInUp { + 0% { + opacity: 0; + -webkit-transform: translateY(200px); + } + 50% { + opacity: 1; + -webkit-transform: translateY(-10px); + } + 70% { + -webkit-transform: translateY(5px); + } + 100% { + -webkit-transform: translateY(0); + } +} + +@-webkit-keyframes iziT-fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +@-webkit-keyframes iziT-fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-webkit-keyframes iziT-fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-webkit-keyframes iziT-fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(300px, 0, 0); + transform: translate3d(300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-webkit-keyframes iziT-fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(-300px, 0, 0); + transform: translate3d(-300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-webkit-keyframes iziT-flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + } + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@-webkit-keyframes iziT-fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} + +@-webkit-keyframes iziT-fadeOutDown { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@-webkit-keyframes iziT-fadeOutUp { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@-webkit-keyframes iziT-fadeOutLeft { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(-200px, 0, 0); + transform: translate3d(-200px, 0, 0); + } +} + +@-webkit-keyframes iziT-fadeOutRight { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(200px, 0, 0); + transform: translate3d(200px, 0, 0); + } +} + +@-webkit-keyframes iziT-flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@-moz-keyframes iziT-revealIn { + 0% { + opacity: 0; + transform: scale3d(0.3, 0.3, 1); + } + 100% { + opacity: 1; + } +} + +@-webkit-keyframes iziT-revealIn { + 0% { + opacity: 0; + transform: scale3d(0.3, 0.3, 1); + } + 100% { + opacity: 1; + } +} + +@-o-keyframes iziT-revealIn { + 0% { + opacity: 0; + transform: scale3d(0.3, 0.3, 1); + } + 100% { + opacity: 1; + } +} + +@keyframes iziT-revealIn { + 0% { + opacity: 0; + transform: scale3d(0.3, 0.3, 1); + } + 100% { + opacity: 1; + } +} + +@-moz-keyframes iziT-slideIn { + 0% { + opacity: 0; + transform: translateX(50px); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} + +@-webkit-keyframes iziT-slideIn { + 0% { + opacity: 0; + transform: translateX(50px); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} + +@-o-keyframes iziT-slideIn { + 0% { + opacity: 0; + transform: translateX(50px); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} + +@keyframes iziT-slideIn { + 0% { + opacity: 0; + transform: translateX(50px); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} + +@-moz-keyframes iziT-bounceInLeft { + 0% { + opacity: 0; + transform: translateX(280px); + } + 50% { + opacity: 1; + transform: translateX(-20px); + } + 70% { + transform: translateX(10px); + } + 100% { + transform: translateX(0); + } +} + +@-webkit-keyframes iziT-bounceInLeft { + 0% { + opacity: 0; + transform: translateX(280px); + } + 50% { + opacity: 1; + transform: translateX(-20px); + } + 70% { + transform: translateX(10px); + } + 100% { + transform: translateX(0); + } +} + +@-o-keyframes iziT-bounceInLeft { + 0% { + opacity: 0; + transform: translateX(280px); + } + 50% { + opacity: 1; + transform: translateX(-20px); + } + 70% { + transform: translateX(10px); + } + 100% { + transform: translateX(0); + } +} + +@keyframes iziT-bounceInLeft { + 0% { + opacity: 0; + transform: translateX(280px); + } + 50% { + opacity: 1; + transform: translateX(-20px); + } + 70% { + transform: translateX(10px); + } + 100% { + transform: translateX(0); + } +} + +@-moz-keyframes iziT-bounceInRight { + 0% { + opacity: 0; + transform: translateX(-280px); + } + 50% { + opacity: 1; + transform: translateX(20px); + } + 70% { + transform: translateX(-10px); + } + 100% { + transform: translateX(0); + } +} + +@-webkit-keyframes iziT-bounceInRight { + 0% { + opacity: 0; + transform: translateX(-280px); + } + 50% { + opacity: 1; + transform: translateX(20px); + } + 70% { + transform: translateX(-10px); + } + 100% { + transform: translateX(0); + } +} + +@-o-keyframes iziT-bounceInRight { + 0% { + opacity: 0; + transform: translateX(-280px); + } + 50% { + opacity: 1; + transform: translateX(20px); + } + 70% { + transform: translateX(-10px); + } + 100% { + transform: translateX(0); + } +} + +@keyframes iziT-bounceInRight { + 0% { + opacity: 0; + transform: translateX(-280px); + } + 50% { + opacity: 1; + transform: translateX(20px); + } + 70% { + transform: translateX(-10px); + } + 100% { + transform: translateX(0); + } +} + +@-moz-keyframes iziT-bounceInDown { + 0% { + opacity: 0; + transform: translateY(-200px); + } + 50% { + opacity: 1; + transform: translateY(10px); + } + 70% { + transform: translateY(-5px); + } + 100% { + transform: translateY(0); + } +} + +@-webkit-keyframes iziT-bounceInDown { + 0% { + opacity: 0; + transform: translateY(-200px); + } + 50% { + opacity: 1; + transform: translateY(10px); + } + 70% { + transform: translateY(-5px); + } + 100% { + transform: translateY(0); + } +} + +@-o-keyframes iziT-bounceInDown { + 0% { + opacity: 0; + transform: translateY(-200px); + } + 50% { + opacity: 1; + transform: translateY(10px); + } + 70% { + transform: translateY(-5px); + } + 100% { + transform: translateY(0); + } +} + +@keyframes iziT-bounceInDown { + 0% { + opacity: 0; + transform: translateY(-200px); + } + 50% { + opacity: 1; + transform: translateY(10px); + } + 70% { + transform: translateY(-5px); + } + 100% { + transform: translateY(0); + } +} + +@-moz-keyframes iziT-bounceInUp { + 0% { + opacity: 0; + transform: translateY(200px); + } + 50% { + opacity: 1; + transform: translateY(-10px); + } + 70% { + transform: translateY(5px); + } + 100% { + transform: translateY(0); + } +} + +@-webkit-keyframes iziT-bounceInUp { + 0% { + opacity: 0; + transform: translateY(200px); + } + 50% { + opacity: 1; + transform: translateY(-10px); + } + 70% { + transform: translateY(5px); + } + 100% { + transform: translateY(0); + } +} + +@-o-keyframes iziT-bounceInUp { + 0% { + opacity: 0; + transform: translateY(200px); + } + 50% { + opacity: 1; + transform: translateY(-10px); + } + 70% { + transform: translateY(5px); + } + 100% { + transform: translateY(0); + } +} + +@keyframes iziT-bounceInUp { + 0% { + opacity: 0; + transform: translateY(200px); + } + 50% { + opacity: 1; + transform: translateY(-10px); + } + 70% { + transform: translateY(5px); + } + 100% { + transform: translateY(0); + } +} + +@-moz-keyframes iziT-fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +@-webkit-keyframes iziT-fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +@-o-keyframes iziT-fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +@keyframes iziT-fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +@-moz-keyframes iziT-fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-webkit-keyframes iziT-fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-o-keyframes iziT-fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes iziT-fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-moz-keyframes iziT-fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-webkit-keyframes iziT-fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-o-keyframes iziT-fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes iziT-fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-moz-keyframes iziT-fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(300px, 0, 0); + transform: translate3d(300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-webkit-keyframes iziT-fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(300px, 0, 0); + transform: translate3d(300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-o-keyframes iziT-fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(300px, 0, 0); + transform: translate3d(300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes iziT-fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(300px, 0, 0); + transform: translate3d(300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-moz-keyframes iziT-fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(-300px, 0, 0); + transform: translate3d(-300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-webkit-keyframes iziT-fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(-300px, 0, 0); + transform: translate3d(-300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-o-keyframes iziT-fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(-300px, 0, 0); + transform: translate3d(-300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes iziT-fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(-300px, 0, 0); + transform: translate3d(-300px, 0, 0); + } + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@-moz-keyframes iziT-flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + } + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@-webkit-keyframes iziT-flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + } + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@-o-keyframes iziT-flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + } + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes iziT-flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + } + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@-moz-keyframes iziT-fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} + +@-webkit-keyframes iziT-fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} + +@-o-keyframes iziT-fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} + +@keyframes iziT-fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} + +@-moz-keyframes iziT-fadeOutDown { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@-webkit-keyframes iziT-fadeOutDown { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@-o-keyframes iziT-fadeOutDown { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes iziT-fadeOutDown { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@-moz-keyframes iziT-fadeOutUp { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@-webkit-keyframes iziT-fadeOutUp { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@-o-keyframes iziT-fadeOutUp { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes iziT-fadeOutUp { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@-moz-keyframes iziT-fadeOutLeft { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(-200px, 0, 0); + transform: translate3d(-200px, 0, 0); + } +} + +@-webkit-keyframes iziT-fadeOutLeft { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(-200px, 0, 0); + transform: translate3d(-200px, 0, 0); + } +} + +@-o-keyframes iziT-fadeOutLeft { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(-200px, 0, 0); + transform: translate3d(-200px, 0, 0); + } +} + +@keyframes iziT-fadeOutLeft { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(-200px, 0, 0); + transform: translate3d(-200px, 0, 0); + } +} + +@-moz-keyframes iziT-fadeOutRight { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(200px, 0, 0); + transform: translate3d(200px, 0, 0); + } +} + +@-webkit-keyframes iziT-fadeOutRight { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(200px, 0, 0); + transform: translate3d(200px, 0, 0); + } +} + +@-o-keyframes iziT-fadeOutRight { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(200px, 0, 0); + transform: translate3d(200px, 0, 0); + } +} + +@keyframes iziT-fadeOutRight { + from { + opacity: 1; + } + to { + opacity: 0; + -webkit-transform: translate3d(200px, 0, 0); + transform: translate3d(200px, 0, 0); + } +} + +@-moz-keyframes iziT-flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@-webkit-keyframes iziT-flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@-o-keyframes iziT-flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes iziT-flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} diff --git a/src/main/webapp/static/layui/lay/modules/notice/notice.js b/src/main/webapp/static/layui/lay/modules/notice/notice.js new file mode 100644 index 0000000..d414a51 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/notice/notice.js @@ -0,0 +1,1241 @@ +layui.define([], function (exports) { + var PLUGIN_NAME = 'iziToast'; // 鏍峰紡绫诲悕 + var BODY = document.querySelector('body'); + var ISMOBILE = (/Mobi/.test(navigator.userAgent)) ? true : false; + var MOBILEWIDTH = 568; + var ISCHROME = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); + var ISFIREFOX = typeof InstallTrigger !== 'undefined'; + var ACCEPTSTOUCH = 'ontouchstart' in document.documentElement; + // 鏄剧ず鍖哄煙 + var POSITIONS = ['bottomRight', 'bottomLeft', 'bottomCenter', 'topRight', 'topLeft', 'topCenter', 'center']; + // 榛樿涓婚 + var THEMES = { + info: { + color: 'blue', + icon: 'ico-info' + }, + success: { + color: 'green', + icon: 'ico-success' + }, + warning: { + color: 'orange', + icon: 'ico-warning' + }, + error: { + color: 'red', + icon: 'ico-error' + }, + question: { + color: 'yellow', + icon: 'ico-question' + } + }; + var CONFIG = {}; // 鍏ㄥ眬閰嶇疆 + // 榛樿閰嶇疆 + var defaults = { + id: null, + className: '', // 鑷畾涔塩lass锛岀敤绌烘牸鍒嗗壊 + title: '', // 鏍囬 + titleColor: '', // 鏍囬鏂囧瓧棰滆壊 + titleSize: '', // 鏍囬鏂囧瓧澶у皬 + titleLineHeight: '', // 鏍囬楂樺害 + message: '', // 鍐呭 + messageColor: '', // 鍐呭鏂囧瓧棰滆壊 + messageSize: '', // 鍐呭鏂囧瓧澶у皬 + messageLineHeight: '', // 鍐呭楂樺害 + backgroundColor: '', // 鑳屾櫙棰滆壊 + theme: 'light', // dark + color: '', // 鑳屾櫙棰滆壊 + icon: '', // 鍥炬爣 + iconText: '', // 鍥炬爣鏂囧瓧 + iconColor: '', // 鍥炬爣棰滆壊 + iconUrl: null, // 鍥炬爣鍦板潃 + image: '', // 鏄惁鏄剧ず鍥剧墖 + imageWidth: 60, // 鍥剧墖瀹藉害 + maxWidth: null, // 鏈�澶у搴� + zindex: null, // + layout: 2, // 甯冨眬绫诲瀷 + balloon: false, // 姘旀场 + close: true, // 鏄惁鏄剧ず鍏抽棴鎸夐挳 + closeOnEscape: false, + closeOnClick: false, // 鐐瑰嚮鍏抽棴 + displayMode: 0, // 0鏃犻檺鍒�,1瀛樺湪灏变笉鍙戝嚭,2閿�姣佷箣鍓� + position: 'topRight', // bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter, center + target: '', // 鏄剧ず浣嶇疆 + targetFirst: null, // 鎻掑叆椤哄簭 + timeout: 5000, // 鍏抽棴鏃堕棿锛宖alse涓嶈嚜鍔ㄥ叧闂� + rtl: false, // 鍐呭灞呭彸 + animateInside: false, // 杩涘叆鍔ㄧ敾鏁堟灉 + drag: true, // 鏄惁鍙粦鍔ㄧЩ闄� + pauseOnHover: true, // 榧犳爣绉诲叆鏆傚仠杩涘害鏉℃椂闂� + resetOnHover: false, // 榧犳爣绉诲叆閲嶇疆杩涘害鏉℃椂闂� + progressBar: true, // 鏄惁鏄剧ず杩涘害鏉� + progressBarColor: '', // 杩涘害鏉¢鑹� + progressBarEasing: 'linear', // 杩涘害鏉″姩鐢绘晥鏋� + overlay: false, // 鏄惁鏄剧ず閬僵灞� + overlayClose: false, // 鐐瑰嚮閬僵灞傛槸鍚﹀叧闂� + overlayColor: 'rgba(0, 0, 0, 0.1)', // 閬僵灞傞鑹� + transitionIn: 'fadeInLeft', // bounceInLeft, bounceInRight, bounceInUp, bounceInDown, fadeIn, fadeInDown, fadeInUp, fadeInLeft, fadeInRight, flipInX + transitionOut: 'fadeOutRight', // fadeOut, fadeOutUp, fadeOutDown, fadeOutLeft, fadeOutRight, flipOutX + transitionInMobile: 'bounceInDown', // 绉诲姩绔繘鍏ュ姩鐢� + transitionOutMobile: 'fadeOutUp', // 绉诲姩绔��鍑哄姩鐢� + buttons: {}, // 鎿嶄綔鎸夐挳 + inputs: {}, // 杈撳叆妗� + audio: '', // 闊虫晥 + onOpening: function () { + }, + onOpened: function () { + }, + onClosing: function () { + }, + onClosed: function () { + } + }; + + var $iziToast = { + children: {}, + setSetting: function (ref, option, value) { + $iziToast.children[ref][option] = value; + }, + getSetting: function (ref, option) { + return $iziToast.children[ref][option]; + }, + // 鍏ㄥ眬璁剧疆 + settings: function (options) { + $iziToast.destroy(); // 鍏ㄩ儴閿�姣佷箣鍓嶇殑閫氱煡 + CONFIG = options; + defaults = extend(defaults, options || {}); + }, + // 鍏抽棴鎵�鏈夐�氱煡 + destroy: function () { + forEach(document.querySelectorAll('.' + PLUGIN_NAME + '-overlay'), function (element, index) { + element.remove(); + }); + forEach(document.querySelectorAll('.' + PLUGIN_NAME + '-wrapper'), function (element, index) { + element.remove(); + }); + forEach(document.querySelectorAll('.' + PLUGIN_NAME), function (element, index) { + element.remove(); + }); + this.children = {}; + // 绉婚櫎浜嬩欢鐩戝惉 + document.removeEventListener(PLUGIN_NAME + '-opened', {}, false); + document.removeEventListener(PLUGIN_NAME + '-opening', {}, false); + document.removeEventListener(PLUGIN_NAME + '-closing', {}, false); + document.removeEventListener(PLUGIN_NAME + '-closed', {}, false); + document.removeEventListener('keyup', {}, false); + CONFIG = {}; // 绉婚櫎鍏ㄥ眬閰嶇疆 + }, + // msg绫诲瀷 + msg: function (msg, options) { + if (options.icon == 4) { + options.overlay = true; + options.timeout = false; + options.drag = false; + options.displayMode = 0; + } + var icons = ['ico-success', 'ico-error', 'ico-warning', 'ico-load', 'ico-info']; + options.icon = icons[options.icon - 1]; + var theme = { + message: msg, + position: 'topCenter', + transitionIn: 'bounceInDown', + transitionOut: 'fadeOut', + transitionOutMobile: 'fadeOut', + progressBar: false, + close: false, + layout: 1, + audio: '' + }; + var settings = extend(CONFIG, options || {}); + settings = extend(theme, settings || {}); + this.show(settings); + } + }; + + // 鍏抽棴鎸囧畾鐨勯�氱煡 + $iziToast.hide = function (options, $toast, closedBy) { + if (typeof $toast != 'object') { + $toast = document.querySelector($toast); + } + var that = this; + var settings = extend(this.children[$toast.getAttribute('data-iziToast-ref')], options || {}); + settings.closedBy = closedBy || null; + delete settings.time.REMAINING; + $toast.classList.add(PLUGIN_NAME + '-closing'); + // 绉婚櫎閬僵灞� + (function () { + var $overlay = document.querySelector('.' + PLUGIN_NAME + '-overlay'); + if ($overlay !== null) { + var refs = $overlay.getAttribute('data-iziToast-ref'); + refs = refs.split(','); + var index = refs.indexOf(String(settings.ref)); + if (index !== -1) { + refs.splice(index, 1); + } + $overlay.setAttribute('data-iziToast-ref', refs.join()); + if (refs.length === 0) { + $overlay.classList.remove('fadeIn'); + $overlay.classList.add('fadeOut'); + setTimeout(function () { + $overlay.remove(); + }, 700); + } + } + })(); + // 绉婚櫎鍔ㄧ敾 + if (settings.transitionIn) { + $toast.classList.remove(settings.transitionIn); + } + if (settings.transitionInMobile) { + $toast.classList.remove(settings.transitionInMobile); + } + if (ISMOBILE || window.innerWidth <= MOBILEWIDTH) { + if (settings.transitionOutMobile) + $toast.classList.add(settings.transitionOutMobile); + } else { + if (settings.transitionOut) + $toast.classList.add(settings.transitionOut); + } + var H = $toast.parentNode.offsetHeight; + $toast.parentNode.style.height = H + 'px'; + $toast.style.pointerEvents = 'none'; + if (!ISMOBILE || window.innerWidth > MOBILEWIDTH) { + $toast.parentNode.style.transitionDelay = '0.2s'; + } + try { + var event = new CustomEvent(PLUGIN_NAME + '-closing', {detail: settings, bubbles: true, cancelable: true}); + document.dispatchEvent(event); + } catch (ex) { + console.warn(ex); + } + setTimeout(function () { + $toast.parentNode.style.height = '0px'; + $toast.parentNode.style.overflow = ''; + setTimeout(function () { + delete that.children[settings.ref]; + $toast.parentNode.remove(); + try { + var event = new CustomEvent(PLUGIN_NAME + '-closed', { + detail: settings, + bubbles: true, + cancelable: true + }); + document.dispatchEvent(event); + } catch (ex) { + console.warn(ex); + } + if (typeof settings.onClosed !== 'undefined') { + settings.onClosed.apply(null, [settings, $toast, closedBy]); + } + }, 1000); + }, 200); + // 鍥炶皟鍏抽棴浜嬩欢 + if (typeof settings.onClosing !== 'undefined') { + settings.onClosing.apply(null, [settings, $toast, closedBy]); + } + }; + + // 鏄剧ず閫氱煡 + $iziToast.show = function (options) { + var that = this; + // Merge user options with defaults + var settings = extend(CONFIG, options || {}); + settings = extend(defaults, settings); + settings.time = {}; + if (settings.id === null) { + settings.id = generateId(settings.title + settings.message + settings.color); + } + if (settings.displayMode == 1 || settings.displayMode == 'once') { + try { + if (document.querySelectorAll('.' + PLUGIN_NAME + '#' + settings.id).length > 0) { + return false; + } + } catch (exc) { + console.warn('[' + PLUGIN_NAME + '] Could not find an element with this selector: ' + '#' + settings.id + '. Try to set an valid id.'); + } + } + if (settings.displayMode == 2 || settings.displayMode == 'replace') { + try { + forEach(document.querySelectorAll('.' + PLUGIN_NAME + '#' + settings.id), function (element, index) { + that.hide(settings, element, 'replaced'); + }); + } catch (exc) { + console.warn('[' + PLUGIN_NAME + '] Could not find an element with this selector: ' + '#' + settings.id + '. Try to set an valid id.'); + } + } + settings.ref = new Date().getTime() + Math.floor((Math.random() * 10000000) + 1); + $iziToast.children[settings.ref] = settings; + var $DOM = { + body: document.querySelector('body'), + overlay: document.createElement('div'), + toast: document.createElement('div'), + toastBody: document.createElement('div'), + toastTexts: document.createElement('div'), + toastCapsule: document.createElement('div'), + cover: document.createElement('div'), + buttons: document.createElement('div'), + inputs: document.createElement('div'), + icon: !settings.iconUrl ? document.createElement('i') : document.createElement('img'), + wrapper: null + }; + $DOM.toast.setAttribute('data-iziToast-ref', settings.ref); + $DOM.toast.appendChild($DOM.toastBody); + $DOM.toastCapsule.appendChild($DOM.toast); + // CSS Settings + (function () { + $DOM.toast.classList.add(PLUGIN_NAME); + $DOM.toast.classList.add(PLUGIN_NAME + '-opening'); + $DOM.toastCapsule.classList.add(PLUGIN_NAME + '-capsule'); + $DOM.toastBody.classList.add(PLUGIN_NAME + '-body'); + $DOM.toastTexts.classList.add(PLUGIN_NAME + '-texts'); + if (ISMOBILE || window.innerWidth <= MOBILEWIDTH) { + if (settings.transitionInMobile) + $DOM.toast.classList.add(settings.transitionInMobile); + } else { + if (settings.transitionIn) + $DOM.toast.classList.add(settings.transitionIn); + } + if (settings.className) { + var classes = settings.className.split(' '); + forEach(classes, function (value, index) { + $DOM.toast.classList.add(value); + }); + } + if (settings.id) { + $DOM.toast.id = settings.id; + } + if (settings.rtl) { + $DOM.toast.classList.add(PLUGIN_NAME + '-rtl'); + $DOM.toast.setAttribute('dir', 'rtl'); + } + if (settings.layout > 1) { + $DOM.toast.classList.add(PLUGIN_NAME + '-layout' + settings.layout); + } + if (settings.balloon) { + $DOM.toast.classList.add(PLUGIN_NAME + '-balloon'); + } + if (settings.maxWidth) { + if (!isNaN(settings.maxWidth)) { + $DOM.toast.style.maxWidth = settings.maxWidth + 'px'; + } else { + $DOM.toast.style.maxWidth = settings.maxWidth; + } + } + if (settings.theme !== '' || settings.theme !== 'light') { + $DOM.toast.classList.add(PLUGIN_NAME + '-theme-' + settings.theme); + } + if (settings.color) { //#, rgb, rgba, hsl + if (isColor(settings.color)) { + $DOM.toast.style.background = settings.color; + } else { + $DOM.toast.classList.add(PLUGIN_NAME + '-color-' + settings.color); + } + } + if (settings.backgroundColor) { + $DOM.toast.style.background = settings.backgroundColor; + if (settings.balloon) { + $DOM.toast.style.borderColor = settings.backgroundColor; + } + } + })(); + // Cover image + (function () { + if (settings.image) { + $DOM.cover.classList.add(PLUGIN_NAME + '-cover'); + $DOM.cover.style.width = settings.imageWidth + 'px'; + if (isBase64(settings.image.replace(/ /g, ''))) { + $DOM.cover.style.backgroundImage = 'url(data:image/png;base64,' + settings.image.replace(/ /g, '') + ')'; + } else { + $DOM.cover.style.backgroundImage = 'url(' + settings.image + ')'; + } + if (settings.rtl) { + $DOM.toastBody.style.marginRight = (settings.imageWidth) + 'px'; + } else { + $DOM.toastBody.style.marginLeft = (settings.imageWidth) + 'px'; + } + $DOM.toast.appendChild($DOM.cover); + } + })(); + // Button close + (function () { + if (settings.close) { + $DOM.buttonClose = document.createElement('button'); + // $DOM.buttonClose.type = 'button'; + $DOM.buttonClose.setAttribute('type', 'button'); + $DOM.buttonClose.classList.add(PLUGIN_NAME + '-close'); + $DOM.buttonClose.addEventListener('click', function (e) { + var button = e.target; + that.hide(settings, $DOM.toast, 'button'); + }); + $DOM.toast.appendChild($DOM.buttonClose); + } else { + if (settings.rtl) { + $DOM.toast.style.paddingLeft = '18px'; + } else { + $DOM.toast.style.paddingRight = '18px'; + } + } + })(); + // Progress Bar & Timeout + (function () { + if (settings.progressBar) { + $DOM.progressBar = document.createElement('div'); + $DOM.progressBarDiv = document.createElement('div'); + $DOM.progressBar.classList.add(PLUGIN_NAME + '-progressbar'); + $DOM.progressBarDiv.style.background = settings.progressBarColor; + $DOM.progressBar.appendChild($DOM.progressBarDiv); + $DOM.toast.appendChild($DOM.progressBar); + } + if (settings.timeout) { + if (settings.pauseOnHover && !settings.resetOnHover) { + $DOM.toast.addEventListener('mouseenter', function (e) { + that.progress(settings, $DOM.toast).pause(); + }); + $DOM.toast.addEventListener('mouseleave', function (e) { + that.progress(settings, $DOM.toast).resume(); + }); + } + if (settings.resetOnHover) { + $DOM.toast.addEventListener('mouseenter', function (e) { + that.progress(settings, $DOM.toast).reset(); + }); + $DOM.toast.addEventListener('mouseleave', function (e) { + that.progress(settings, $DOM.toast).start(); + }); + } + } + })(); + // Icon + (function () { + if (settings.iconUrl) { + $DOM.icon.setAttribute('class', PLUGIN_NAME + '-icon'); + $DOM.icon.setAttribute('src', settings.iconUrl); + } else if (settings.icon) { + $DOM.icon.setAttribute('class', PLUGIN_NAME + '-icon ' + settings.icon); + if (settings.iconText) { + $DOM.icon.appendChild(document.createTextNode(settings.iconText)); + } + if (settings.iconColor) { + $DOM.icon.style.color = settings.iconColor; + } + } + if (settings.icon || settings.iconUrl) { + if (settings.rtl) { + $DOM.toastBody.style.paddingRight = '33px'; + } else { + $DOM.toastBody.style.paddingLeft = '33px'; + } + $DOM.toastBody.appendChild($DOM.icon); + } + + })(); + // Title & Message + (function () { + if (settings.title.length > 0) { + $DOM.strong = document.createElement('strong'); + $DOM.strong.classList.add(PLUGIN_NAME + '-title'); + $DOM.strong.appendChild(createFragElem(settings.title)); + $DOM.toastTexts.appendChild($DOM.strong); + if (settings.titleColor) { + $DOM.strong.style.color = settings.titleColor; + } + if (settings.titleSize) { + if (!isNaN(settings.titleSize)) { + $DOM.strong.style.fontSize = settings.titleSize + 'px'; + } else { + $DOM.strong.style.fontSize = settings.titleSize; + } + } + if (settings.titleLineHeight) { + if (!isNaN(settings.titleSize)) { + $DOM.strong.style.lineHeight = settings.titleLineHeight + 'px'; + } else { + $DOM.strong.style.lineHeight = settings.titleLineHeight; + } + } + } + if (settings.message.length > 0) { + $DOM.p = document.createElement('p'); + $DOM.p.classList.add(PLUGIN_NAME + '-message'); + $DOM.p.appendChild(createFragElem(settings.message)); + $DOM.toastTexts.appendChild($DOM.p); + if (settings.messageColor) { + $DOM.p.style.color = settings.messageColor; + } + if (settings.messageSize) { + if (!isNaN(settings.titleSize)) { + $DOM.p.style.fontSize = settings.messageSize + 'px'; + } else { + $DOM.p.style.fontSize = settings.messageSize; + } + } + if (settings.messageLineHeight) { + if (!isNaN(settings.titleSize)) { + $DOM.p.style.lineHeight = settings.messageLineHeight + 'px'; + } else { + $DOM.p.style.lineHeight = settings.messageLineHeight; + } + } + } + if (settings.title.length > 0 && settings.message.length > 0) { + if (settings.rtl) { + $DOM.strong.style.marginLeft = '10px'; + } else if (settings.layout != 2 && !settings.rtl) { + $DOM.strong.style.marginRight = '10px'; + $DOM.strong.style.marginBottom = '0px'; + } + } + })(); + $DOM.toastBody.appendChild($DOM.toastTexts); + // Inputs + var $inputs; + (function () { + if (settings.inputs.length > 0) { + $DOM.inputs.classList.add(PLUGIN_NAME + '-inputs'); + forEach(settings.inputs, function (value, index) { + $DOM.inputs.appendChild(createFragElem(value[0])); + $inputs = $DOM.inputs.childNodes; + $inputs[index].classList.add(PLUGIN_NAME + '-inputs-child'); + if (value[3]) { + setTimeout(function () { + $inputs[index].focus(); + }, 300); + } + $inputs[index].addEventListener(value[1], function (e) { + var ts = value[2]; + return ts(that, $DOM.toast, this, e); + }); + }); + $DOM.toastBody.appendChild($DOM.inputs); + } + })(); + // Buttons + (function () { + if (settings.buttons.length > 0) { + $DOM.buttons.classList.add(PLUGIN_NAME + '-buttons'); + forEach(settings.buttons, function (value, index) { + $DOM.buttons.appendChild(createFragElem(value[0])); + var $btns = $DOM.buttons.childNodes; + $btns[index].classList.add(PLUGIN_NAME + '-buttons-child'); + if (value[2]) { + setTimeout(function () { + $btns[index].focus(); + }, 300); + } + $btns[index].addEventListener('click', function (e) { + e.preventDefault(); + var ts = value[1]; + return ts(that, $DOM.toast, this, e, $inputs); + }); + }); + } + $DOM.toastTexts.appendChild($DOM.buttons); + })(); + if (settings.message.length > 0 && (settings.inputs.length > 0 || settings.buttons.length > 0)) { + $DOM.p.style.marginBottom = '0'; + } + if (settings.inputs.length > 0 || settings.buttons.length > 0) { + if (settings.rtl) { + $DOM.toastTexts.style.marginLeft = '10px'; + } else { + $DOM.toastTexts.style.marginRight = '10px'; + } + if (settings.inputs.length > 0 && settings.buttons.length > 0) { + if (settings.rtl) { + $DOM.inputs.style.marginLeft = '8px'; + } else { + $DOM.inputs.style.marginRight = '8px'; + } + } + } + // Wrap + (function () { + $DOM.toastCapsule.style.visibility = 'hidden'; + setTimeout(function () { + var H = $DOM.toast.offsetHeight; + var style = $DOM.toast.currentStyle || window.getComputedStyle($DOM.toast); + var marginTop = style.marginTop; + marginTop = marginTop.split('px'); + marginTop = parseInt(marginTop[0]); + var marginBottom = style.marginBottom; + marginBottom = marginBottom.split('px'); + marginBottom = parseInt(marginBottom[0]); + + $DOM.toastCapsule.style.visibility = ''; + $DOM.toastCapsule.style.height = (H + marginBottom + marginTop) + 'px'; + + setTimeout(function () { + $DOM.toastCapsule.style.height = 'auto'; + if (settings.target) { + $DOM.toastCapsule.style.overflow = 'visible'; + } + }, 500); + + if (settings.timeout) { + that.progress(settings, $DOM.toast).start(); + } + }, 100); + })(); + // Target + (function () { + var position = settings.position; + if (settings.target) { + $DOM.wrapper = document.querySelector(settings.target); + $DOM.wrapper.classList.add(PLUGIN_NAME + '-target'); + if (settings.targetFirst) { + $DOM.wrapper.insertBefore($DOM.toastCapsule, $DOM.wrapper.firstChild); + } else { + $DOM.wrapper.appendChild($DOM.toastCapsule); + } + } else { + if (POSITIONS.indexOf(settings.position) == -1) { + console.warn('[' + PLUGIN_NAME + '] Incorrect position.\nIt can be 鈥� ' + POSITIONS); + return; + } + if (ISMOBILE || window.innerWidth <= MOBILEWIDTH) { + if (settings.position == 'bottomLeft' || settings.position == 'bottomRight' || settings.position == 'bottomCenter') { + position = PLUGIN_NAME + '-wrapper-bottomCenter'; + } else if (settings.position == 'topLeft' || settings.position == 'topRight' || settings.position == 'topCenter') { + position = PLUGIN_NAME + '-wrapper-topCenter'; + } else { + position = PLUGIN_NAME + '-wrapper-center'; + } + } else { + position = PLUGIN_NAME + '-wrapper-' + position; + } + $DOM.wrapper = document.querySelector('.' + PLUGIN_NAME + '-wrapper.' + position); + if (!$DOM.wrapper) { + $DOM.wrapper = document.createElement('div'); + $DOM.wrapper.classList.add(PLUGIN_NAME + '-wrapper'); + $DOM.wrapper.classList.add(position); + document.body.appendChild($DOM.wrapper); + } + var targetFirst = settings.targetFirst; + if ((targetFirst == undefined || targetFirst == null) && (settings.position == 'topLeft' || settings.position == 'topCenter' || settings.position == 'topRight')) { + targetFirst = true; + } + if (targetFirst) { + $DOM.wrapper.insertBefore($DOM.toastCapsule, $DOM.wrapper.firstChild); + } else { + $DOM.wrapper.appendChild($DOM.toastCapsule); + } + } + if (!isNaN(settings.zindex)) { + $DOM.wrapper.style.zIndex = settings.zindex; + } else { + console.warn('[' + PLUGIN_NAME + '] Invalid zIndex.'); + } + })(); + // Overlay + (function () { + if (settings.overlay) { + if (document.querySelector('.' + PLUGIN_NAME + '-overlay.fadeIn') !== null) { + $DOM.overlay = document.querySelector('.' + PLUGIN_NAME + '-overlay'); + $DOM.overlay.setAttribute('data-iziToast-ref', $DOM.overlay.getAttribute('data-iziToast-ref') + ',' + settings.ref); + if (!isNaN(settings.zindex) && settings.zindex !== null) { + $DOM.overlay.style.zIndex = settings.zindex - 1; + } + } else { + $DOM.overlay.classList.add(PLUGIN_NAME + '-overlay'); + $DOM.overlay.classList.add('fadeIn'); + $DOM.overlay.style.background = settings.overlayColor; + $DOM.overlay.setAttribute('data-iziToast-ref', settings.ref); + if (!isNaN(settings.zindex) && settings.zindex !== null) { + $DOM.overlay.style.zIndex = settings.zindex - 1; + } + document.querySelector('body').appendChild($DOM.overlay); + } + if (settings.overlayClose) { + $DOM.overlay.removeEventListener('click', {}); + $DOM.overlay.addEventListener('click', function (e) { + that.hide(settings, $DOM.toast, 'overlay'); + }); + } else { + $DOM.overlay.removeEventListener('click', {}); + } + } + })(); + // Inside animations + (function () { + if (settings.animateInside) { + $DOM.toast.classList.add(PLUGIN_NAME + '-animateInside'); + var animationTimes = [200, 100, 300]; + if (settings.transitionIn == 'bounceInLeft' || settings.transitionIn == 'bounceInRight') { + animationTimes = [400, 200, 400]; + } + if (settings.title.length > 0) { + setTimeout(function () { + $DOM.strong.classList.add('slideIn'); + }, animationTimes[0]); + } + if (settings.message.length > 0) { + setTimeout(function () { + $DOM.p.classList.add('slideIn'); + }, animationTimes[1]); + } + if (settings.icon || settings.iconUrl) { + setTimeout(function () { + $DOM.icon.classList.add('revealIn'); + }, animationTimes[2]); + } + var counter = 150; + if (settings.buttons.length > 0 && $DOM.buttons) { + setTimeout(function () { + forEach($DOM.buttons.childNodes, function (element, index) { + setTimeout(function () { + element.classList.add('revealIn'); + }, counter); + counter = counter + 150; + }); + }, settings.inputs.length > 0 ? 150 : 0); + } + if (settings.inputs.length > 0 && $DOM.inputs) { + counter = 150; + forEach($DOM.inputs.childNodes, function (element, index) { + setTimeout(function () { + element.classList.add('revealIn'); + }, counter); + counter = counter + 150; + }); + } + } + })(); + settings.onOpening.apply(null, [settings, $DOM.toast]); + try { + var event = new CustomEvent(PLUGIN_NAME + '-opening', {detail: settings, bubbles: true, cancelable: true}); + document.dispatchEvent(event); + } catch (ex) { + console.warn(ex); + } + setTimeout(function () { + $DOM.toast.classList.remove(PLUGIN_NAME + '-opening'); + $DOM.toast.classList.add(PLUGIN_NAME + '-opened'); + try { + var event = new CustomEvent(PLUGIN_NAME + '-opened', { + detail: settings, + bubbles: true, + cancelable: true + }); + document.dispatchEvent(event); + } catch (ex) { + console.warn(ex); + } + settings.onOpened.apply(null, [settings, $DOM.toast]); + }, 1000); + if (settings.drag) { + if (ACCEPTSTOUCH) { + $DOM.toast.addEventListener('touchstart', function (e) { + drag.startMoving(this, that, settings, e); + }, false); + $DOM.toast.addEventListener('touchend', function (e) { + drag.stopMoving(this, e); + }, false); + } else { + $DOM.toast.addEventListener('mousedown', function (e) { + e.preventDefault(); + drag.startMoving(this, that, settings, e); + }, false); + $DOM.toast.addEventListener('mouseup', function (e) { + e.preventDefault(); + drag.stopMoving(this, e); + }, false); + } + } + if (settings.closeOnEscape) { + document.addEventListener('keyup', function (evt) { + evt = evt || window.event; + if (evt.keyCode == 27) { + that.hide(settings, $DOM.toast, 'esc'); + } + }); + } + if (settings.closeOnClick) { + $DOM.toast.addEventListener('click', function (evt) { + that.hide(settings, $DOM.toast, 'toast'); + }); + } + // 鎾斁澹伴煶 + if (settings.audio) { + that.playSound(settings.audio); + } + that.toast = $DOM.toast; + }; + + // 鎺у埗杩涘害鏉� + $iziToast.progress = function (options, $toast, callback) { + var that = this, + ref = $toast.getAttribute('data-iziToast-ref'), + settings = extend(this.children[ref], options || {}), + $elem = $toast.querySelector('.' + PLUGIN_NAME + '-progressbar div'); + return { + start: function () { + if (typeof settings.time.REMAINING == 'undefined') { + $toast.classList.remove(PLUGIN_NAME + '-reseted'); + if ($elem !== null) { + $elem.style.transition = 'width ' + settings.timeout + 'ms ' + settings.progressBarEasing; + $elem.style.width = '0%'; + } + settings.time.START = new Date().getTime(); + settings.time.END = settings.time.START + settings.timeout; + settings.time.TIMER = setTimeout(function () { + clearTimeout(settings.time.TIMER); + if (!$toast.classList.contains(PLUGIN_NAME + '-closing')) { + that.hide(settings, $toast, 'timeout'); + if (typeof callback === 'function') { + callback.apply(that); + } + } + }, settings.timeout); + that.setSetting(ref, 'time', settings.time); + } + }, + pause: function () { + if (typeof settings.time.START !== 'undefined' && !$toast.classList.contains(PLUGIN_NAME + '-paused') && !$toast.classList.contains(PLUGIN_NAME + '-reseted')) { + $toast.classList.add(PLUGIN_NAME + '-paused'); + settings.time.REMAINING = settings.time.END - new Date().getTime(); + clearTimeout(settings.time.TIMER); + that.setSetting(ref, 'time', settings.time); + if ($elem !== null) { + var computedStyle = window.getComputedStyle($elem), + propertyWidth = computedStyle.getPropertyValue('width'); + $elem.style.transition = 'none'; + $elem.style.width = propertyWidth; + } + if (typeof callback === 'function') { + setTimeout(function () { + callback.apply(that); + }, 10); + } + } + }, + resume: function () { + if (typeof settings.time.REMAINING !== 'undefined') { + $toast.classList.remove(PLUGIN_NAME + '-paused'); + if ($elem !== null) { + $elem.style.transition = 'width ' + settings.time.REMAINING + 'ms ' + settings.progressBarEasing; + $elem.style.width = '0%'; + } + settings.time.END = new Date().getTime() + settings.time.REMAINING; + settings.time.TIMER = setTimeout(function () { + clearTimeout(settings.time.TIMER); + if (!$toast.classList.contains(PLUGIN_NAME + '-closing')) { + that.hide(settings, $toast, 'timeout'); + if (typeof callback === 'function') { + callback.apply(that); + } + } + }, settings.time.REMAINING); + that.setSetting(ref, 'time', settings.time); + } else { + this.start(); + } + }, + reset: function () { + clearTimeout(settings.time.TIMER); + delete settings.time.REMAINING; + that.setSetting(ref, 'time', settings.time); + $toast.classList.add(PLUGIN_NAME + '-reseted'); + $toast.classList.remove(PLUGIN_NAME + '-paused'); + if ($elem !== null) { + $elem.style.transition = 'none'; + $elem.style.width = '100%'; + } + if (typeof callback === 'function') { + setTimeout(function () { + callback.apply(that); + }, 10); + } + } + }; + }; + + // 鍒ゆ柇鏄惁鏄痠e9浠ヤ笅鐗堟湰 + var isIE9_ = function () { + var userAgent = navigator.userAgent; + if (window.navigator.userAgent.indexOf("MSIE") >= 1) { + var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); + reIE.test(userAgent); + var fIEVersion = parseFloat(RegExp["$1"]); + if (fIEVersion != 10) { + return true; + } + } + return false; + }; + + // 缁橢lement娣诲姞remove鏂规硶 + if (!('remove' in Element.prototype)) { + Element.prototype.remove = function () { + if (this.parentNode) { + this.parentNode.removeChild(this); + } + }; + } + + // 鑷畾涔変簨浠� + if (typeof window.CustomEvent !== 'function') { + var CustomEventPolyfill = function (event, params) { + params = params || {bubbles: false, cancelable: false, detail: undefined}; + var evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + }; + CustomEventPolyfill.prototype = window.Event.prototype; + window.CustomEvent = CustomEventPolyfill; + } + + // 閬嶅巻鏁版嵁 + var forEach = function (collection, callback, scope) { + if (Object.prototype.toString.call(collection) === '[object Object]') { + for (var prop in collection) { + if (Object.prototype.hasOwnProperty.call(collection, prop)) { + callback.call(scope, collection[prop], prop, collection); + } + } + } else { + if (collection) { + for (var i = 0, len = collection.length; i < len; i++) { + callback.call(scope, collection[i], i, collection); + } + } + } + }; + + // 鍚堝苟鑷畾涔夊弬鏁板拰榛樿鍙傛暟 + var extend = function (defaults, options) { + var extended = {}; + forEach(defaults, function (value, prop) { + extended[prop] = defaults[prop]; + }); + forEach(options, function (value, prop) { + extended[prop] = options[prop]; + }); + return extended; + }; + + // 鍒涘缓鏂扮殑鏂囨。鐗囨 + var createFragElem = function (htmlStr) { + var frag = document.createDocumentFragment(), + temp = document.createElement('div'); + temp.innerHTML = htmlStr; + while (temp.firstChild) { + frag.appendChild(temp.firstChild); + } + return frag; + }; + + // 鐢熸垚ID + var generateId = function (params) { + var newId = btoa(encodeURIComponent(params)); + return newId.replace(/=/g, ""); + }; + + // 鍒ゆ柇鏄惁鏄鑹插瓧绗︿覆 + var isColor = function (color) { + if (color.substring(0, 1) == '#' || color.substring(0, 3) == 'rgb' || color.substring(0, 3) == 'hsl') { + return true; + } else { + return false; + } + }; + + // 鍒ゆ柇鏄惁鏄痓ase64瀛楃涓� + var isBase64 = function (str) { + try { + return btoa(atob(str)) == str; + } catch (err) { + return false; + } + }; + + // 鎷栨嫿鏂规硶 + var drag = function () { + return { + move: function (toast, instance, settings, xpos) { + var opacity, + opacityRange = 0.3, + distance = 180; + if (xpos !== 0) { + toast.classList.add(PLUGIN_NAME + '-dragged'); + toast.style.transform = 'translateX(' + xpos + 'px)'; + if (xpos > 0) { + opacity = (distance - xpos) / distance; + if (opacity < opacityRange) { + instance.hide(extend(settings, { + transitionOut: 'fadeOutRight', + transitionOutMobile: 'fadeOutRight' + }), toast, 'drag'); + } + } else { + opacity = (distance + xpos) / distance; + if (opacity < opacityRange) { + instance.hide(extend(settings, { + transitionOut: 'fadeOutLeft', + transitionOutMobile: 'fadeOutLeft' + }), toast, 'drag'); + } + } + toast.style.opacity = opacity; + if (opacity < opacityRange) { + if (ISCHROME || ISFIREFOX) + toast.style.left = xpos + 'px'; + toast.parentNode.style.opacity = opacityRange; + this.stopMoving(toast, null); + } + } + }, + startMoving: function (toast, instance, settings, e) { + e = e || window.event; + var posX = ((ACCEPTSTOUCH) ? e.touches[0].clientX : e.clientX), + toastLeft = toast.style.transform.replace('px)', ''); + toastLeft = toastLeft.replace('translateX(', ''); + var offsetX = posX - toastLeft; + if (settings.transitionIn) { + toast.classList.remove(settings.transitionIn); + } + if (settings.transitionInMobile) { + toast.classList.remove(settings.transitionInMobile); + } + toast.style.transition = ''; + if (ACCEPTSTOUCH) { + document.ontouchmove = function (e) { + e.preventDefault(); + e = e || window.event; + var posX = e.touches[0].clientX, + finalX = posX - offsetX; + drag.move(toast, instance, settings, finalX); + }; + } else { + document.onmousemove = function (e) { + e.preventDefault(); + e = e || window.event; + var posX = e.clientX, + finalX = posX - offsetX; + drag.move(toast, instance, settings, finalX); + }; + } + }, + stopMoving: function (toast, e) { + if (ACCEPTSTOUCH) { + document.ontouchmove = function () { + }; + } else { + document.onmousemove = function () { + }; + } + toast.style.opacity = ''; + toast.style.transform = ''; + if (toast.classList.contains(PLUGIN_NAME + '-dragged')) { + toast.classList.remove(PLUGIN_NAME + '-dragged'); + toast.style.transition = 'transform 0.4s ease, opacity 0.4s ease'; + setTimeout(function () { + toast.style.transition = ''; + }, 400); + } + } + }; + }(); + + // 鍏煎IE + var Base64 = { + _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function (e) { + var t = ""; + var n, r, i, s, o, u, a; + var f = 0; + e = Base64._utf8_encode(e); + while (f < e.length) { + n = e.charCodeAt(f++); + r = e.charCodeAt(f++); + i = e.charCodeAt(f++); + s = n >> 2; + o = (n & 3) << 4 | r >> 4; + u = (r & 15) << 2 | i >> 6; + a = i & 63; + if (isNaN(r)) { + u = a = 64 + } else if (isNaN(i)) { + a = 64 + } + t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a) + } + return t + }, decode: function (e) { + var t = ""; + var n, r, i; + var s, o, u, a; + var f = 0; + e = e.replace(/[^A-Za-z0-9+/=]/g, ""); + while (f < e.length) { + s = this._keyStr.indexOf(e.charAt(f++)); + o = this._keyStr.indexOf(e.charAt(f++)); + u = this._keyStr.indexOf(e.charAt(f++)); + a = this._keyStr.indexOf(e.charAt(f++)); + n = s << 2 | o >> 4; + r = (o & 15) << 4 | u >> 2; + i = (u & 3) << 6 | a; + t = t + String.fromCharCode(n); + if (u != 64) { + t = t + String.fromCharCode(r) + } + if (a != 64) { + t = t + String.fromCharCode(i) + } + } + t = Base64._utf8_decode(t); + return t + }, _utf8_encode: function (e) { + e = e.replace(/rn/g, "n"); + var t = ""; + for (var n = 0; n < e.length; n++) { + var r = e.charCodeAt(n); + if (r < 128) { + t += String.fromCharCode(r) + } else if (r > 127 && r < 2048) { + t += String.fromCharCode(r >> 6 | 192); + t += String.fromCharCode(r & 63 | 128) + } else { + t += String.fromCharCode(r >> 12 | 224); + t += String.fromCharCode(r >> 6 & 63 | 128); + t += String.fromCharCode(r & 63 | 128) + } + } + return t + }, _utf8_decode: function (e) { + var t = ""; + var n = 0; + var r = c1 = c2 = 0; + while (n < e.length) { + r = e.charCodeAt(n); + if (r < 128) { + t += String.fromCharCode(r); + n++ + } else if (r > 191 && r < 224) { + c2 = e.charCodeAt(n + 1); + t += String.fromCharCode((r & 31) << 6 | c2 & 63); + n += 2 + } else { + c2 = e.charCodeAt(n + 1); + c3 = e.charCodeAt(n + 2); + t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); + n += 3 + } + } + return t + } + }; + if (isIE9_()) { + // 鍏煎btoa鍜宎tob鏂规硶 + window.btoa = function (str) { + return Base64.encode(str); + }; + window.atob = function (str) { + return Base64.decode(str); + }; + // 鍏煎classList灞炴�� + if (!("classList" in document.documentElement)) { + Object.defineProperty(window.Element.prototype, 'classList', { + get: function () { + var self = this; + + function update(fn) { + return function () { + var className = self.className.replace(/^\s+|\s+$/g, ''), + valArr = arguments; + return fn(className, valArr) + } + } + + function add_rmv(className, valArr, tag) { + for (var i in valArr) { + if (typeof valArr[i] !== 'string' || !!~valArr[i].search(/\s+/g)) throw TypeError('the type of value is error') + var temp = valArr[i] + var flag = !!~className.search(new RegExp('(\\s+)?' + temp + '(\\s+)?')) + if (tag === 1) { + !flag ? className += ' ' + temp : '' + } else if (tag === 2) { + flag ? className = className.replace(new RegExp('(\\s+)?' + temp), '') : '' + } + } + self.className = className; + return tag; + } + + return { + add: update(function (className, valArr) { + add_rmv(className, valArr, 1) + }), + remove: update(function (className, valArr) { + add_rmv(className, valArr, 2) + }), + toggle: function (value) { + if (typeof value !== 'string' || arguments.length === 0) throw TypeError("Failed to execute 'toggle' on 'DOMTokenList': 1 argument(string) required, but only 0 present.") + if (arguments.length === 1) { + this.contains(value) ? this.remove(value) : this.add(value) + return + } + !arguments[1] ? this.remove(value) : this.add(value) + }, + contains: update(function (className, valArr) { + if (valArr.length === 0) throw TypeError("Failed to execute 'contains' on 'DOMTokenList': 1 argument required, but only 0 present.") + if (typeof valArr[0] !== 'string' || !!~valArr[0].search(/\s+/g)) return false + return !!~className.search(new RegExp(valArr[0])) + }), + item: function (index) { + typeof index === 'string' ? index = parseInt(index) : '' + if (arguments.length === 0 || typeof index !== 'number') throw TypeError("Failed to execute 'toggle' on 'DOMTokenList': 1 argument required, but only 0 present.") + var claArr = self.className.replace(/^\s+|\s+$/, '').split(/\s+/) + var len = claArr.length + if (index < 0 || index >= len) return null + return claArr[index] + } + } + } + }); + } + } + + // 鎾斁澹伴煶 + $iziToast.playSound = function (src) { + if (!(src.indexOf('http') == 0)) { + src = layui.cache.base + 'notice/' + src + '.wav'; + } + if (!!window.ActiveXObject || "ActiveXObject" in window) { // IE + var embed = document.noticePlay; + if (embed) { + embed.remove(); + } + embed = document.createElement('embed'); + embed.setAttribute('name', 'noticePlay'); + embed.setAttribute('src', src); + embed.setAttribute('autostart', true); + embed.setAttribute('loop', false); + embed.setAttribute('hidden', true); + document.body.appendChild(embed); + embed = document.noticePlay; + embed.volume = 100; + } else { // 闈濱E + var audio = document.createElement('audio'); + audio.setAttribute('hidden', true); + audio.setAttribute('src', src); + document.body.appendChild(audio); + audio.addEventListener('ended', function () { + audio.parentNode.removeChild(audio); + }, false); + audio.play(); + } + }; + + // 涓嶅悓涓婚鐨勯�氱煡 + forEach(THEMES, function (theme, name) { + $iziToast[name] = function (options) { + var settings = extend(CONFIG, options || {}); + settings = extend(theme, settings || {}); + this.show(settings); + }; + }); + + layui.link(layui.cache.base + 'notice/notice.css'); // 鍔犺浇css + exports('notice', $iziToast); +}); diff --git a/src/main/webapp/static/layui/lay/modules/tableMerge.js b/src/main/webapp/static/layui/lay/modules/tableMerge.js new file mode 100644 index 0000000..4d26b3c --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/tableMerge.js @@ -0,0 +1,75 @@ +/** + * Created by YujieYang. + * @name: 瀛愯〃鏍兼墿灞� + * @author: 鏉ㄧ帀鏉� + * @version 1.0 + */ +layui.define(['table'], function (exports) { + + var $ = layui.jquery; + + // 灏佽鏂规硶 + var mod = { + /** + * 娓叉煋鍏ュ彛 + * @param myTable + */ + render: function (myTable) { + var tableBox = $(myTable.elem).next().children('.layui-table-box'), + $main = $(tableBox.children('.layui-table-body').children('table').children('tbody').children('tr').toArray().reverse()), + $fixLeft = $(tableBox.children('.layui-table-fixed-l').children('.layui-table-body').children('table').children('tbody').children('tr').toArray().reverse()), + $fixRight = $(tableBox.children('.layui-table-fixed-r').children('.layui-table-body').children('table').children('tbody').children('tr').toArray().reverse()), + cols = myTable.cols[0], mergeRecord = {}; + + for (let i = 0; i < cols.length; i++) { + var item3 = cols[i], field=item3.field; + if (item3.merge) { + var mergeField = [field]; + if (item3.merge !== true) { + if (typeof item3.merge == 'string') { + mergeField = [item3.merge] + } else { + mergeField = item3.merge + } + } + mergeRecord[i] = {mergeField: mergeField, rowspan:1} + } + } + + $main.each(function (i) { + + for (var item in mergeRecord) { + if (i==$main.length-1 || isMaster(i, item)) { + $(this).children('[data-key$="-'+item+'"]').attr('rowspan', mergeRecord[item].rowspan).css('position','static'); + $fixLeft.eq(i).children('[data-key$="-'+item+'"]').attr('rowspan', mergeRecord[item].rowspan).css('position','static'); + $fixRight.eq(i).children('[data-key$="-'+item+'"]').attr('rowspan', mergeRecord[item].rowspan).css('position','static'); + mergeRecord[item].rowspan = 1; + } else { + $(this).children('[data-key$="-'+item+'"]').remove(); + $fixLeft.eq(i).children('[data-key$="-'+item+'"]').remove(); + $fixRight.eq(i).children('[data-key$="-'+item+'"]').remove(); + mergeRecord[item].rowspan +=1; + } + } + }) + + function isMaster (index, item) { + var mergeField = mergeRecord[item].mergeField; + var dataLength = layui.table.cache[myTable.id].length; + for (var i=0; i<mergeField.length; i++) { + + if (layui.table.cache[myTable.id][dataLength-2-index][mergeField[i]] + !== layui.table.cache[myTable.id][dataLength-1-index][mergeField[i]]) { + return true; + } + } + return false; + } + + } + }; + + // 杈撳嚭 + exports('tableMerge', mod); +}); + diff --git a/src/main/webapp/static/layui/lay/modules/tableX.js b/src/main/webapp/static/layui/lay/modules/tableX.js new file mode 100644 index 0000000..90953ec --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/tableX.js @@ -0,0 +1,645 @@ +锘�/** 琛ㄦ牸鎵╁睍妯″潡 date:2020-02-29 License By http://easyweb.vip */ +layui.define(['layer', 'table', 'laytpl', 'contextMenu'], function (exports) { + var $ = layui.jquery; + var layer = layui.layer; + var table = layui.table; + var laytpl = layui.laytpl; + var contextMenu = layui.contextMenu; + var device = layui.device(); + var tbSearchAttr = 'tb-search'; // 鍓嶇鎼滅储灞炴�� + var tbRefreshAttr = 'tb-refresh'; // 鍒锋柊鎸夐挳灞炴�� + var tbExportAttr = 'tb-export'; // 瀵煎嚭鎸夐挳灞炴�� + var txFieldPre = 'txField_'; // templte鍒梖iled鍓嶇紑 + var tableX = {}; + + /* 鍚堝苟鐩稿悓鍗曞厓鏍� */ + tableX.merges = function (tableId, indexs, fields, sort) { + if (typeof fields === 'boolean') { + sort = fields; + fields = undefined; + } + var $tb = $('[lay-filter="' + tableId + '"]+.layui-table-view>.layui-table-box>.layui-table-body>table'); + var $trs = $tb.find('>tbody>tr'); + // 寰幆鍚堝苟姣忎竴鍒� + for (var i = 0; i < indexs.length; i++) { + if (fields) { + merge(tableId, indexs[i], fields[i]); + } else { + merge(tableId, indexs[i]); + } + } + $trs.find('[del="true"]').remove(); // 绉婚櫎澶氫綑鐨勫崟鍏冩牸 + // 鐩戝惉鎺掑簭浜嬩欢 + if (sort === undefined || sort) { + table.on('sort(' + tableId + ')', function () { + tableX.merges(tableId, indexs, fields, false); + }); + } + + // 鍚堝苟涓�鍒� + function merge(tableId, index, field) { + var data = table.cache[tableId]; + if (data.length > 0) { + var lastValue, spanNum = 1; + if (field) { + lastValue = data[0][field]; + } else { + lastValue = $trs.eq(0).find('td').eq(index).find('.layui-table-cell').html(); + } + for (var i = 1; i < data.length; i++) { + var currentValue; + if (field) { + currentValue = data[i][field]; + } else { + currentValue = $trs.eq(i).find('td').eq(index).find('.layui-table-cell').html(); + } + if (currentValue === lastValue) { + spanNum++; + if (i === data.length - 1) { + $trs.eq(i - spanNum + 1).find('td').eq(index).attr('rowspan', spanNum); + for (var j = 1; j < spanNum; j++) { + $trs.eq(i - j + 1).find('td').eq(index).attr('del', 'true'); + } + } + } else { + $trs.eq(i - spanNum).find('td').eq(index).attr('rowspan', spanNum); + for (var k = 1; k < spanNum; k++) { + $trs.eq(i - k).find('td').eq(index).attr('del', 'true'); + } + spanNum = 1; + lastValue = currentValue; + } + } + } + } + }; + + /* 琛ㄦ牸琛岀粦瀹氶紶鏍囧彸閿� */ + tableX.bindCtxMenu = function (tableId, items) { + var data = table.cache[tableId]; + var elem = '#' + tableId + '+.layui-table-view .layui-table-body tr'; + $(elem).bind('contextmenu', function (event) { + var $this = $(this); + $(elem).removeClass('layui-table-click'); + $this.addClass('layui-table-click'); + var ctxItems; + if (typeof items === 'function') ctxItems = items(data[$this.data('index')], event.currentTarget); + else ctxItems = items; + + function getCtxItems(menus) { + if (!menus) return; + var result = []; + for (var i = 0; i < menus.length; i++) { + result.push({ + icon: menus[i].icon, + name: menus[i].name, + _click: menus[i].click, + click: function (e, e2) { + var $tr = $(e2.currentTarget); + this._click && this._click(data[$tr.data('index')], e2.currentTarget); + $tr.removeClass('layui-table-click'); + }, + subs: getCtxItems(menus[i].subs) + }); + } + return result; + } + + contextMenu.show(getCtxItems(ctxItems), event.clientX, event.clientY, event); + return false; + }); + }; + + /* 瀵煎嚭浠绘剰鏁版嵁 */ + tableX.exportData = function (param) { + var cols = param.cols; // 琛ㄥご + var data = param.data; // 鏁版嵁 + var fileName = param.fileName; // 鏂囦欢鍚� + var fileType = param.expType; // 绫诲瀷锛寈ls銆乧sv + var option = param.option; // url鏂瑰紡鍔犺浇鐨勯厤缃� + option || (option = {}); + if (device.ie) return layer.msg('涓嶆敮鎸乮e瀵煎嚭'); + // data涓簎rl鍏堣姹傛暟鎹� + if (typeof data === 'string') { + var loadIndex = layer.load(2); + option.url = data; + tableX.loadUrl(option, function (res) { + layer.close(loadIndex); + param.data = res; + tableX.exportData(param); + }); + return; + } + // 鍒楀弬鏁拌ˉ鍏� + for (var i = 0; i < cols.length; i++) { + for (var j = 0; j < cols[i].length; j++) { + if (cols[i][j].type === undefined) { + cols[i][j].type = 'normal'; + } + if (cols[i][j].hide === undefined) { + cols[i][j].hide = false; + } + } + } + var titles = [], fields = [], expData = []; + // 鑾峰彇琛ㄥご鍜岃〃澶村瓧娈靛悕 + table.eachCols(undefined, function (i, item) { + if (item.type === 'normal' && !item.hide) { + titles.push(item.title || ''); + fields.push(item.field || (txFieldPre + i)); + } + }, cols); + // 鑾峰彇templet鍚庣殑鏁版嵁 + var fullData = tableX.parseTbData(cols, tableX.deepClone(data), true); + for (var n = 0; n < fullData.length; n++) { + var rowItem = []; + for (var m = 0; m < fields.length; m++) { + var text = fullData[n][fields[m]]; + text && (text = text.toString().replace(/,/g, '锛�')); + rowItem.push(text); + } + expData.push(rowItem.join(',')); + } + // 鍒涘缓涓嬭浇鏂囦欢鐨刟鏍囩 + var alink = document.createElement('a'); + var type = ({csv: 'text/csv', xls: 'application/vnd.ms-excel'})[fileType || 'xls']; + var content = encodeURIComponent(titles.join(',') + '\r\n' + expData.join('\r\n')); + alink.href = 'data:' + type + ';charset=utf-8,\ufeff' + content; + alink.download = (fileName || 'table') + '.' + (fileType || 'xls'); + document.body.appendChild(alink); + alink.click(); + document.body.removeChild(alink); + }; + + /* 瀵煎嚭琛ㄦ牸鏁版嵁(楂樼骇) */ + tableX.exportDataX = function (param) { + layui.use('excel', function () { + var excel = layui.excel; + var cols = param.cols; // 琛ㄥご + var data = param.data; // 鏁版嵁 + var fileName = param.fileName; // 鏂囦欢鍚� + var fileType = param.expType; // 绫诲瀷锛寈ls銆亁lsx + var option = param.option; // url鏂瑰紡鍔犺浇鐨勯厤缃� + option || (option = {}); + fileType || (fileType = 'xlsx'); + // data涓簎rl鍏堣姹傛暟鎹� + if (data && typeof data === 'string') { + var loadIndex = layer.load(2); + option.url = data; + tableX.loadUrl(option, function (res) { + layer.close(loadIndex); + param.data = res; + tableX.exportDataX(param); + }); + return; + } + // 鍒楀弬鏁拌ˉ鍏� + for (var i = 0; i < cols.length; i++) { + for (var j = 0; j < cols[i].length; j++) { + if (cols[i][j].type === undefined) { + cols[i][j].type = 'normal'; + } + if (cols[i][j].hide === undefined) { + cols[i][j].hide = false; + } + } + } + // 鑾峰彇琛ㄥご鍜岃〃澶村瓧娈靛悕 + var titles = {}, fields = []; + table.eachCols(undefined, function (i, item) { + if (item.type === 'normal' && !item.hide) { + var field = item.field || (txFieldPre + i); + fields.push(field); + titles[field] = item.title || ''; + } + }, cols); + // 鏍煎紡鍖栨暟鎹� + var fullData = tableX.parseTbData(cols, tableX.deepClone(data), true); + var expData = excel.filterExportData(fullData, fields); + expData.unshift(titles); + excel.exportExcel({sheet1: expData}, (fileName || 'table') + '.' + fileType, fileType); + }); + }; + + /* 鍚庣瀵煎嚭鏁版嵁鎷兼帴鍙傛暟 */ + tableX.exportDataBack = function (url, where, method) { + where || (where = {}); + if (!method || method.toString().toLowerCase() === 'get') { + var param = ''; + for (var f in where) { + if (!param) { + param = ('?' + f + '=' + where[f]); + } else { + param += ('&' + f + '=' + where[f]); + } + } + window.open(url + param); + } else { + var htmlStr = '<html><body><form id="eFrom" action="' + url + '" method="' + method + '">'; + for (var f2 in where) { + htmlStr += ('<textarea name="' + f2 + '">' + where[f2] + '</textarea>'); + } + htmlStr += '</form></body></html>'; + $('#exportFrame').remove(); + $('body').append('<iframe id="exportFrame" style="display: none;"></iframe>'); + var eFrame = document.getElementById('exportFrame'); + var eWindow = eFrame.contentWindow; + var eDocument = eWindow.document; + eWindow.focus(); + eDocument.open(); + eDocument.write(htmlStr); + eDocument.close(); + eDocument.getElementById('eFrom').submit(); + } + }; + + /* 娓叉煋琛ㄦ牸锛屽悗绔帓搴� */ + tableX.render = function (param) { + var tableId = $(param.elem).attr('lay-filter'); + param.autoSort = false; // 鍏抽棴榛樿鎺掑簭 + var insTb = table.render(param); // 娓叉煋琛ㄦ牸 + // 鎺掑簭鐩戝惉 + table.on('sort(' + tableId + ')', function (obj) { + var sortField = obj.field, sortType = obj.type; // 鎺掑簭瀛楁銆佺被鍨� + var sortWhere = $.extend(param.where, {sort: sortField, order: sortType}); + insTb.reload({where: sortWhere, page: {curr: 1}}); + }); + return insTb; + }; + + /* 娓叉煋琛ㄦ牸锛屽墠绔垎椤� */ + tableX.renderFront = function (param) { + var insTb, tableId = $(param.elem).attr('lay-filter'); + param.autoSort = false; // 鍏抽棴榛樿鎺掑簭 + // 娌℃湁field鐨則emplet鍒楄ˉ涓婏紝鍥犱负鎺掑簭蹇呴』鏈塮iled瀛楁锛屽惁鍒欑偣鍑绘帓搴忎細鎶ラ敊 + for (var i = 0; i < param.cols.length; i++) { + for (var j = 0; j < param.cols[i].length; j++) { + if (param.cols[i][j].templet && !param.cols[i][j].field) { + param.cols[i][j].field = txFieldPre + i + '_' + j; + } + } + } + if (param.url) { // url鏂瑰紡 + var xParam = tableX.deepClone(param); + xParam.data = []; + xParam.url = undefined; + insTb = table.render(xParam); // 鍏堟覆鏌撹〃鏍肩粨鏋� + // 鎻愪緵鍒锋柊鏂规硶 + insTb.reloadUrl = function (p) { + var reParam = tableX.deepClone(param); + p && (reParam = $.extend(reParam, p)); + $(param.elem + '+.layui-table-view>.layui-table-box').append('<div class="layui-table-init"><i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i></div>'); + // 鑾峰彇url鏁版嵁 + tableX.loadUrl(reParam, function (data) { + insTb.reload({url: '', data: data, page: {curr: 1}}); + tableX.putTbData(tableId, tableX.parseTbData(reParam.cols, data)); // 缂撳瓨鏁版嵁 + $('input[' + tbSearchAttr + '="' + tableId + '"]').val(''); // 娓呯┖鎼滅储杈撳叆妗� + window.tbX.cacheSearch[tableId] = undefined; // 閲嶇疆鎼滅储缁撴灉 + }); + }; + insTb.reloadUrl(); + } else { + insTb = table.render(param); // 娓叉煋琛ㄦ牸 + // 鎻愪緵鍒锋柊鐨勬柟娉� + insTb.reloadData = function (p) { + insTb.reload(p); + tableX.parseTbData(param.cols, p.data); // 瑙f瀽temple鍒� + tableX.putTbData(tableId, p.data); + $('input[' + tbSearchAttr + '="' + tableId + '"]').val(''); // 娓呯┖鎼滅储杈撳叆妗� + window.tbX.cacheSearch[tableId] = undefined; // 閲嶇疆鎼滅储缁撴灉 + }; + tableX.putTbData(tableId, tableX.parseTbData(param.cols, param.data)); // 缂撳瓨鏁版嵁 + } + tableX.renderAllTool(insTb); // 娓叉煋宸ュ叿缁勪欢 + return insTb; + }; + + /* 鍔犺浇琛ㄦ牸鏁版嵁 */ + tableX.loadUrl = function (options, callback) { + // 鍝嶅簲鏁版嵁鐨勮嚜瀹氫箟鏍煎紡 + options.response = $.extend({ + statusName: 'code', + statusCode: 0, + msgName: 'msg', + dataName: 'data', + countName: 'count' + }, options.response); + var response = options.response; + var where = options.where; // 鍙傛暟 + if (options.contentType && options.contentType.indexOf('application/json') === 0) { + where = JSON.stringify(where); // 鎻愪氦 json 鏍煎紡 + } + $.ajax({ + type: options.method || 'get', + url: options.url, + contentType: options.contentType, + data: where, + dataType: 'json', + headers: options.headers || {}, + success: function (res) { + // 濡傛灉鏈夋暟鎹В鏋愮殑鍥炶皟锛屽垯鑾峰緱鍏惰繑鍥炵殑鏁版嵁 + if (typeof options.parseData === 'function') { + res = options.parseData(res) || res; + } + // 妫�鏌ユ暟鎹牸寮忔槸鍚︾鍚堣鑼� + if (res[response.statusName] != response.statusCode) { + var msgText = res[response.msgName] || ('杩斿洖鐨勬暟鎹笉绗﹀悎瑙勮寖锛屾纭殑鎴愬姛鐘舵�佺爜 (' + response.statusName + ') 搴斾负锛�' + response.statusCode); + layer.msg(msgText, {icon: 2}); + } else { + callback(res[response.dataName]); + } + }, + error: function (e, m) { + layer.msg('鏁版嵁鎺ュ彛璇锋眰寮傚父锛�' + m, {icon: 2}); + } + }); + }; + + /* 瑙f瀽鏁版嵁琛ㄦ牸templet鍒� */ + tableX.parseTbData = function (cols, dataList, overwrite) { + var templets = []; // 闇�瑕佽В鏋愮殑鍒� + table.eachCols(undefined, function (i, item) { + if (item.templet) { + var one = {field: ((item.field && (overwrite || item.field.indexOf(txFieldPre) === 0)) ? item.field : ('txField_' + i))}; + if (typeof item.templet === 'string') { + one.templet = function (d) { // templet鍒椾娇鐢╨aytpl娓叉煋 + var rsStr = undefined; + laytpl($(item.templet).html()).render(d, function (html) { + rsStr = html; + }); + return rsStr; + } + } else { + one.templet = item.templet; + } + templets.push(one); + } + }, cols); + for (var i = 0; i < dataList.length; i++) { + var current = dataList[i]; + for (var j = 0; j < templets.length; j++) { + var htmlStr = '<div>' + templets[j].templet(current) + '</div>'; + current[templets[j].field] = $(htmlStr).not('.export-hide').text().replace(/(^\s*)|(\s*$)/g, ''); // 鍘婚櫎鍓嶅悗绌烘牸 + } + } + return dataList; + }; + + /* 缂撳瓨琛ㄦ牸鐨勬暟鎹� */ + tableX.putTbData = function (tableId, dataList) { + window.tbX.cache[tableId] = dataList; + }; + + /* 鑾峰彇琛ㄦ牸缂撳瓨鐨勬暟鎹� */ + tableX.getTbData = function (tableId) { + var dataList = window.tbX.cache[tableId]; + return tableX.deepClone(dataList || table.cache[tableId]); + }; + + /* 鎼滅储鏁版嵁 */ + tableX.filterData = function (dataList, searchName, searchValue) { + var newList = [], sfs; + for (var i = 0; i < dataList.length; i++) { + var obj = dataList[i]; + if (!sfs) { // 鎼滅储鐨勫瓧娈� + if (!searchName) { + sfs = []; + for (var f in obj) { + if (!obj.hasOwnProperty(f)) continue; + sfs.push(f); + } + } else { + sfs = searchName.split(','); + } + } + for (var j = 0; j < sfs.length; j++) { + if (tableX.isContains(obj[sfs[j]], searchValue)) { + newList.push(obj); + break; + } + } + } + return newList; + }; + + /* 瀛楃涓叉槸鍚﹀寘鍚� */ + tableX.isContains = function (str1, str2) { + str1 || (str1 = ''); + str2 || (str2 = ''); + str1 = str1.toString().toLowerCase(); + str2 = str2.toString().toLowerCase(); + if (str1 === str2 || str1.indexOf(str2) >= 0) { + return true; + } + return false; + }; + + /* 娓叉煋鎵�鏈夌粍浠� */ + tableX.renderAllTool = function (insTb) { + renderRefresh(insTb); // 鍒锋柊 + renderFrontSort(insTb); // 鎺掑簭 + renderFrontSearch(insTb); // 鎼滅储 + renderExport(insTb); // 瀵煎嚭 + }; + + /* 娣卞害鍏嬮殕瀵硅薄 */ + tableX.deepClone = function (obj) { + var result; + var oClass = tableX.isClass(obj); + if (oClass === 'Object') { + result = {}; + } else if (oClass === 'Array') { + result = []; + } else { + return obj; + } + for (var key in obj) { + if (!obj.hasOwnProperty(key)) continue; + var copy = obj[key]; + if (tableX.isClass(copy) === 'Object') { + result[key] = arguments.callee(copy);//閫掑綊璋冪敤 + } else if (tableX.isClass(copy) === 'Array') { + result[key] = arguments.callee(copy); + } else { + result[key] = obj[key]; + } + } + return result; + }; + + /* 鑾峰彇鍙橀噺绫诲瀷 */ + tableX.isClass = function (o) { + if (o === null) + return 'Null'; + if (o === undefined) + return 'Undefined'; + return Object.prototype.toString.call(o).slice(8, -1); + }; + + // 鍒涘缓鏁版嵁缂撳瓨瀵硅薄 + window.tbX || (window.tbX = {}); + window.tbX.cache || (window.tbX.cache = {}); + window.tbX.cacheSearch || (window.tbX.cacheSearch = {}); + + // 鍓嶇鎼滅储 + var renderFrontSearch = function (insTb) { + var tableId = insTb.config.id, $input = $('input[' + tbSearchAttr + '="' + tableId + '"]'); + if (!($input && $input.length > 0)) { + return; + } + if (!$input.attr('placeholder')) { + $input.attr('placeholder', '杈撳叆鍏抽敭瀛楁寜鍥炶溅閿悳绱�'); + } + $input.off('keydown').on('keydown', function (event) { + if (event.keyCode !== 13) { + return; + } + var searchName = $input.attr('name'); // 鎼滅储鐨勫瓧娈靛悕锛岀敤閫楀彿鍒嗛殧 + var searchValue = $input.val().replace(/(^\s*)|(\s*$)/g, ''); // 鎼滅储鍏抽敭瀛� + var loadIndex = layer.msg('鎼滅储涓�..', {icon: 16, shade: 0.01, time: 0}); + var dataList = tableX.getTbData(tableId); + var newDataList = tableX.filterData(dataList, searchName, searchValue); + window.tbX.cacheSearch[tableId] = newDataList; // 缂撳瓨鎼滅储鍚庣殑鏁版嵁鐢ㄤ簬鎺掑簭 + insTb.reload({url: '', data: newDataList, page: {curr: 1}}); + layer.close(loadIndex); + }); + }; + + // 鍓嶇鎺掑簭 + var renderFrontSort = function (insTb) { + var tableId = insTb.config.id; + table.on('sort(' + tableId + ')', function (obj) { + var sortField = obj.field, sortType = obj.type; // 鎺掑簭瀛楁銆佺被鍨� + var loadIndex = layer.msg('鍔犺浇涓�..', {icon: 16, shade: 0.01, time: 0}); + var dataList = window.tbX.cacheSearch[tableId]; // 琛ㄦ牸鎼滅储鍚庣殑鏁版嵁 + dataList || (dataList = tableX.getTbData(tableId)); + if (sortType) { + dataList = dataList.sort(function (o1, o2) { + var o1Str = o1[sortField], o2Str = o2[sortField]; + if (sortType === 'asc') { // 鍗囧簭 + return (o1Str === o2Str) ? 0 : ((o1Str < o2Str) ? -1 : 1); + } else { // 闄嶅簭 + return (o1Str === o2Str) ? 0 : ((o1Str < o2Str) ? 1 : -1); + } + }); + } + insTb.reload({initSort: obj, url: '', data: dataList, page: {curr: 1}}); + layer.close(loadIndex); + }); + }; + + // 琛ㄦ牸鍒锋柊鎸夐垥 + var renderRefresh = function (insTb) { + $('[' + tbRefreshAttr + '="' + insTb.config.id + '"]').off('click').on('click', function () { + if (insTb.reloadUrl) { + insTb.reloadUrl(); + } else { + insTb.reload({page: {curr: 1}}); + } + }); + }; + + // 娓叉煋瀵煎嚭鎸夐挳 + var renderExport = function (insTb) { + var tableId = insTb.config.id; + $('[' + tbExportAttr + '="' + tableId + '"]').off('click').on('click', function (event) { + if ($(this).find('.tbx-dropdown-menu').length > 0) { + return; + } + if (event !== void 0) { + event.preventDefault(); + event.stopPropagation(); + } + var htmlStr = '<div class="tbx-dropdown-menu">'; + htmlStr += ' <div class="tbx-dropdown-menu-item" data-type="check">瀵煎嚭閫変腑鏁版嵁</div>'; + htmlStr += ' <div class="tbx-dropdown-menu-item" data-type="current">瀵煎嚭褰撳墠椤垫暟鎹�</div>'; + htmlStr += ' <div class="tbx-dropdown-menu-item" data-type="all">瀵煎嚭鍏ㄩ儴鏁版嵁</div>'; + htmlStr += ' </div>'; + $(this).append(htmlStr); + $(this).addClass('tbx-dropdown-btn'); + $(this).parent().css('position', 'relative'); + $(this).parent().css('z-index', '9998'); + $('.tbx-dropdown-menu').off('click').on('click', '.tbx-dropdown-menu-item', function (event) { + var type = $(this).data('type'); + if (type === 'check') { + var checkRows = table.checkStatus(tableId); + if (checkRows.data.length === 0) { + layer.msg('璇烽�夋嫨瑕佸鍑虹殑鏁版嵁', {icon: 2}); + } else { + $('.tbx-dropdown-menu').remove(); + tableX.exportData({ + fileName: insTb.config.title, + cols: insTb.config.cols, + data: checkRows.data + }); + } + } else if (type === 'current') { + tableX.exportData({ + fileName: insTb.config.title, + cols: insTb.config.cols, + data: table.cache[tableId] + }); + } else if (type === 'all') { + tableX.exportData({ + fileName: insTb.config.title, + cols: insTb.config.cols, + data: tableX.getTbData(tableId) + }); + } + if (event !== void 0) { + event.preventDefault(); + event.stopPropagation(); + } + }); + }); + $(document).off('click.tbxDropHide').on('click.tbxDropHide', function () { + $('.tbx-dropdown-menu').remove(); + }); + }; + + /* css鏍峰紡 */ + var getCommonCss = function () { + var cssStr = '.tbx-dropdown-btn {'; + cssStr += ' position: relative;'; + cssStr += ' }'; + cssStr += ' .tbx-dropdown-btn:hover {'; + cssStr += ' opacity: 1'; + cssStr += ' }'; + cssStr += ' .tbx-dropdown-menu {'; + cssStr += ' position: absolute;'; + cssStr += ' top: 100%;'; + cssStr += ' right: 0;'; + cssStr += ' padding: 5px 0;'; + cssStr += ' margin: 5px 0 0 0;'; + cssStr += ' overflow: visible;'; + cssStr += ' min-width: 110px;'; + cssStr += ' background: #fff;'; + cssStr += ' border-radius: 2px;'; + cssStr += ' box-shadow: 0 2px 4px rgba(0, 0, 0, .12);'; + cssStr += ' border: 1px solid #d2d2d2;'; + cssStr += ' z-index: 9998;'; + cssStr += ' cursor: default;'; + cssStr += ' }'; + cssStr += ' .tbx-dropdown-menu .tbx-dropdown-menu-item {'; + cssStr += ' display: block;'; + cssStr += ' color: #555;'; + cssStr += ' font-size: 14px;'; + cssStr += ' padding: 10px 15px;'; + cssStr += ' text-decoration: none;'; + cssStr += ' white-space: nowrap;'; + cssStr += ' cursor: pointer;'; + cssStr += ' user-select: none;'; + cssStr += ' line-height: normal;'; + cssStr += ' }'; + cssStr += ' .tbx-dropdown-menu .tbx-dropdown-menu-item:hover {'; + cssStr += ' background-color: #eeeeee;'; + cssStr += ' }'; + cssStr += ' .export-show {'; + cssStr += ' display: none;'; + cssStr += ' }'; + return cssStr; + }; + + $('head').append('<style id="ew-css-tbx" type="text/css">' + getCommonCss() + '</style>'); + exports("tableX", tableX); +}); \ No newline at end of file diff --git a/src/main/webapp/static/layui/lay/modules/treeTable.js b/src/main/webapp/static/layui/lay/modules/treeTable.js new file mode 100644 index 0000000..17d641d --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/treeTable.js @@ -0,0 +1,2 @@ +/** 鏍戝舰琛ㄦ牸3.x Created by wangfan on 2020-05-12 https://gitee.com/whvse/treetable-lay */ +layui.define(["laytpl","form","util"],function(s){var g=layui.jquery;var d=layui.laytpl;var c=layui.form;var b=layui.util;var o=layui.device();var h="treeTable";var k={};var e={elem:undefined,cols:undefined,url:undefined,method:undefined,where:undefined,contentType:undefined,headers:undefined,parseData:undefined,request:{pidName:"pid"},toolbar:undefined,defaultToolbar:undefined,width:undefined,height:undefined,cellMinWidth:90,done:undefined,data:undefined,title:undefined,skin:undefined,even:undefined,size:undefined,text:{none:"鏃犳暟鎹�"},reqData:undefined,useAdmin:false,tree:{idName:"id",pidName:"pid",childName:"children",haveChildName:"haveChild",openName:"open",iconIndex:0,arrowType:undefined,onlyIconControl:undefined,getIcon:function(u){var t=u[this.haveChildName];if(t!==undefined){t=t===true||t==="true"}else{if(u[this.childName]){t=u[this.childName].length>0}}if(t){return'<i class="ew-tree-icon layui-icon layui-icon-layer"></i>'}else{return'<i class="ew-tree-icon layui-icon layui-icon-file"></i>'}}}};var r={field:undefined,title:undefined,width:undefined,minWidth:undefined,type:"normal",fixed:undefined,hide:undefined,unresize:undefined,style:undefined,align:undefined,colspan:undefined,rowspan:undefined,templet:undefined,toolbar:undefined,"class":undefined,singleLine:undefined};var p=function(t){k[t.elem.substring(1)]=this;this.reload(t)};p.prototype.initOptions=function(t){var D=this;function B(J){if(!J.INIT_OK){J=g.extend({INIT_OK:true},r,J)}if(J.type==="space"){if(!J.width){J.width=15}J.minWidth=J.width}else{if(J.type==="numbers"){if(!J.width){J.width=40}J.minWidth=J.width;if(!J.singleLine){J.singleLine=false}if(!J.unresize){J.unresize=true}if(!J.align){J.align="center"}}else{if(J.type==="checkbox"||J.type==="radio"){if(!J.width){J.width=48}J.minWidth=J.width;if(!J.singleLine){J.singleLine=false}if(!J.unresize){J.unresize=true}if(!J.align){J.align="center"}}}}if(J.toolbar){J.type="tool"}return J}if("Array"!==l(t.cols[0])){t.cols=[t.cols]}for(var w=0;w<t.cols.length;w++){for(var u=0;u<t.cols[w].length;u++){t.cols[w][u].INIT_OK=undefined;t.cols[w][u].key=undefined;t.cols[w][u].colGroup=undefined;t.cols[w][u].HAS_PARENT=undefined;t.cols[w][u].parentKey=undefined;t.cols[w][u].PARENT_COL_INDEX=undefined}}var F=[],G=0;for(var y=0;y<t.cols.length;y++){var C=t.cols[y];for(var x=0;x<C.length;x++){var A=C[x];if(!A){C.splice(x,1);continue}A=B(A);A.key=y+"-"+x;var I=undefined;if(A.colGroup||A.colspan>1){A.colGroup=true;A.type="group";I=[];G++;var z=0;for(var v=0;v<t.cols[y+1].length;v++){var H=g.extend({INIT_OK:true},r,t.cols[y+1][v]);if(H.HAS_PARENT||(z>1&&z==A.colspan)){t.cols[y+1][v]=H;continue}H.HAS_PARENT=true;H.parentKey=y+"-"+x;H.key=(y+1)+"-"+v;H.PARENT_COL_INDEX=G;H=B(H);I.push(H);z=z+parseInt(H.colspan>1?H.colspan:1);t.cols[y+1][v]=H}}A.CHILD_COLS=I;if(!A.PARENT_COL_INDEX){F.push(A)}t.cols[y][x]=A}}this.options=g.extend(true,{},e,t);this.options.colArrays=F;if(this.options.url){this.options.reqData=function(J,K){if(!D.options.where){D.options.where={}}if(J){D.options.where[D.options.request.pidName]=J[D.options.tree.idName]}(D.options.useAdmin?layui.admin:g).ajax({url:D.options.url,data:D.options.contentType&&D.options.contentType.indexOf("application/json")===0?JSON.stringify(D.options.where):D.options.where,headers:D.options.headers,type:D.options.method,dataType:"json",contentType:D.options.contentType,success:function(L){if(D.options.parseData){L=D.options.parseData(L)}if(L.code==0){K(L.data)}else{K(L.msg||"鍔犺浇澶辫触")}},error:function(L){K(L.status+" - "+L.statusText)}})}}else{if(this.options.data&&this.options.data.length>0&&this.options.tree.isPidData){this.options.data=a.pidToChildren(this.options.data,this.options.tree.idName,this.options.tree.pidName,this.options.tree.childName)}}if("default"===this.options.toolbar){this.options.toolbar=["<div>",' <div class="ew-tree-table-tool-item" title="娣诲姞" lay-event="add">',' <i class="layui-icon layui-icon-add-1"></i>'," </div>",' <div class="ew-tree-table-tool-item" title="淇敼" lay-event="update">',' <i class="layui-icon layui-icon-edit"></i>'," </div>",' <div class="ew-tree-table-tool-item" title="鍒犻櫎" lay-event="delete">',' <i class="layui-icon layui-icon-delete"></i>'," </div>","</div>"].join("")}if(this.options.defaultToolbar===undefined){this.options.defaultToolbar=["filter","exports","print"]}if(typeof this.options.tree.getIcon==="string"){var E=this.options.tree.getIcon;this.options.tree.getIcon=function(K){if(E!=="ew-tree-icon-style2"){return E}var J=K[this.haveChildName];if(J!==undefined){J=J===true||J==="true"}else{if(K[this.childName]){J=K[this.childName].length>0}}if(J){return'<i class="ew-tree-icon ew-tree-icon-folder"></i>'}else{return'<i class="ew-tree-icon ew-tree-icon-file"></i>'}}}};p.prototype.init=function(){var E=this.options;var u=g(E.elem);var B=E.elem.substring(1);u.removeAttr("lay-filter");if(u.next(".ew-tree-table").length===0){u.css("display","none");u.after(['<div class="layui-form ew-tree-table" lay-filter="',B,'" style="',E.style||"",'">',' <div class="ew-tree-table-tool" style="display: none;"></div>',' <div class="ew-tree-table-head">',' <table class="layui-table"></table>'," </div>",' <div class="ew-tree-table-box">',' <table class="layui-table"></table>',' <div class="ew-tree-table-loading">',' <i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>'," </div>",' <div class="ew-tree-table-empty">',E.text.none||"","</div>"," </div>","</div>"].join(""))}var A=this.getComponents();if(E.skin){A.$table.attr("lay-skin",E.skin)}if(E.size){A.$table.attr("lay-size",E.size)}if(E.even){A.$table.attr("lay-even",E.even)}A.$toolbar.empty();if(E.toolbar===false||E.toolbar===undefined){A.$toolbar.hide()}else{A.$toolbar.show();if(typeof E.toolbar==="string"){d(g(E.toolbar).html()).render({},function(F){A.$toolbar.html('<div style="display: inline-block;">'+F+"</div>")})}var C=['<div class="ew-tree-table-tool-right">'];for(var y=0;y<E.defaultToolbar.length;y++){var w;if("filter"===E.defaultToolbar[y]){w={title:"绛涢��",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols"}}else{if("exports"===E.defaultToolbar[y]){w={title:"瀵煎嚭",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export"}}else{if("print"===E.defaultToolbar[y]){w={title:"鎵撳嵃",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print"}}else{w=E.defaultToolbar[y]}}}if(w){C.push('<div class="ew-tree-table-tool-item"');C.push(' title="'+w.title+'"');C.push(' lay-event="'+w.layEvent+'">');C.push('<i class="layui-icon '+w.icon+'"></i></div>')}}A.$toolbar.append(C.join("")+"</div>")}if(E.width){A.$view.css("width",E.width);A.$tHeadGroup.css("width",E.width);A.$tBodyGroup.css("width",E.width)}var v=this.resize(true);var D="<thead>"+this.renderBodyTh()+"</thead>";A.$tBodyGroup.children("style").remove();if(E.height){A.$tHead.html(v+D);A.$tBody.html(v+"<tbody></tbody>");if(E.height.indexOf("full-")===0){var z=parseFloat(E.height.substring(5))+A.$toolbar.outerHeight()+A.$tHeadGroup.outerHeight()+1;A.$tBodyGroup.append(['<style>[lay-filter="',B,'"] .ew-tree-table-box {'," height: ",m()-z,"px;"," height: -moz-calc(100vh - ",z,"px);"," height: -webkit-calc(100vh - ",z,"px);"," height: calc(100vh - ",z,"px);","}</style>"].join(""));A.$tBodyGroup.data("full",z);A.$tBodyGroup.css("height","")}else{A.$tBodyGroup.css("height",E.height);A.$tBodyGroup.data("full","")}A.$tHeadGroup.show()}else{A.$tHeadGroup.hide();var x={lg:50,sm:30,md:38};A.$tBodyGroup.append(['<style>[lay-filter="',B,'"] .ew-tree-table-box:before {',' content: "";'," position: absolute;"," top: 0; left: 0; right: 0;"," height: "+(x[E.size||"md"]*E.cols.length)+"px;"," background-color: #f2f2f2;"," border-bottom: 1px solid #e6e6e6;","}</style>"].join(""));A.$tBody.html(v+D+"<tbody></tbody>")}c.render("checkbox",B);function t(H){var F=H.data("parent"),G;if(!F){return}var I=A.$table.children("thead").children("tr").children('[data-key="'+F+'"]');var J=I.attr("colspan")-1;I.attr("colspan",J);if(J===0){I.addClass("layui-hide")}t(I)}A.$table.children("thead").children("tr").children("th.layui-hide").each(function(){t(g(this))});if(E.reqData){this.options.data=undefined;this.renderBodyAsync()}else{if(E.data&&E.data.length>0){this.renderBodyData(E.data)}else{A.$loading.hide();A.$empty.show()}}};p.prototype.bindEvents=function(){var v=this;var t=this.options;var u=this.getComponents();var w=u.$table.children("tbody");var x=function(y){var z=g(this);if(!z.is("tr")){var C=z.parent("tr");if(C.length>0){z=C}else{z=z.parentsUntil("tr").last().parent()}}var A=v.getDataByTr(z);var B={tr:z,data:A,del:function(){var F=z.data("index");var D=parseInt(z.data("indent"));z.nextAll("tr").each(function(){if(parseInt(g(this).data("indent"))<=D){return false}g(this).remove()});var G=(typeof F==="number"?1:F.split("-").length);z.nextAll("tr").each(function(){var H=g(this);if(parseInt(H.data("indent"))<D){return false}var I=H.data("index").toString().split("-");I[G-1]=parseInt(I[G-1])-1;H.data("index",I.join("-"))});var E=z.prevAll("tr");v.del(undefined,F);z.remove();v.renderNumberCol();E.each(function(){var H=parseInt(g(this).data("indent"));if(H>=D){return true}v.checkParentCB(g(this));D=H});v.checkChooseAllCB();if(t.data.length===0){u.$empty.show()}f(u.$view)},update:function(E){A=g.extend(true,A,E);var D=parseInt(z.data("indent"));v.renderBodyTr(A,D,undefined,z);c.render(null,u.filter);v.renderNumberCol();z.prevAll("tr").each(function(){var F=parseInt(g(this).data("indent"));if(F>=D){return true}v.checkParentCB(g(this));D=F});v.checkChooseAllCB()}};return g.extend(B,y)};w.off("click.fold").on("click.fold",".ew-tree-pack",function(C){layui.stope(C);var A=g(this).parentsUntil("tr").last().parent();if(A.hasClass("ew-tree-table-loading")){return}var y=A.data("have-child");if(y!==true&&y!=="true"){return}var z=A.hasClass("ew-tree-table-open");var B=v.getDataByTr(A);if(!z&&!B[t.tree.childName]){v.renderBodyAsync(B,A)}else{B[t.tree.openName]=i(A)}});w.off("click.tool").on("click.tool","*[lay-event]",function(z){layui.stope(z);var y=g(this);layui.event.call(this,h,"tool("+u.filter+")",x.call(this,{event:y.attr("lay-event")}))});c.on("radio("+u.radioFilter+")",function(y){var z=v.getDataByTr(g(y.elem).parentsUntil("tr").last().parent());v.removeAllChecked();z.LAY_CHECKED=true;z.LAY_INDETERMINATE=false;layui.event.call(this,h,"checkbox("+u.filter+")",{checked:true,data:z,type:"one"})});c.on("checkbox("+u.checkboxFilter+")",function(C){var B=C.elem.checked;var E=g(C.elem);var z=E.next(".layui-form-checkbox");if(!B&&E.hasClass("ew-form-indeterminate")){B=true;E.prop("checked",B);z.addClass("layui-form-checked");E.removeClass("ew-form-indeterminate")}var A=E.parentsUntil("tr").last().parent();var D=v.getDataByTr(A);D.LAY_CHECKED=B;D.LAY_INDETERMINATE=false;if(D[t.tree.childName]&&D[t.tree.childName].length>0){v.checkSubCB(A,B)}var y=parseInt(A.data("indent"));A.prevAll("tr").each(function(){var F=parseInt(g(this).data("indent"));if(F<y){v.checkParentCB(g(this));y=F}});v.checkChooseAllCB();layui.event.call(this,h,"checkbox("+u.filter+")",{checked:B,data:D,type:"more"})});c.on("checkbox("+u.chooseAllFilter+")",function(A){var z=A.elem.checked;var B=g(A.elem);var y=B.next(".layui-form-checkbox");if(!t.data||t.data.length===0){B.prop("checked",false);y.removeClass("layui-form-checked");B.removeClass("ew-form-indeterminate");return}if(!z&&B.hasClass("ew-form-indeterminate")){z=true;B.prop("checked",z);y.addClass("layui-form-checked");B.removeClass("ew-form-indeterminate")}layui.event.call(this,h,"checkbox("+u.filter+")",{checked:z,type:"all"});v.checkSubCB(u.$tBody.children("tbody"),z)});w.off("click.row").on("click.row","tr",function(){layui.event.call(this,h,"row("+u.filter+")",x.call(this,{}))});w.off("dblclick.rowDouble").on("dblclick.rowDouble","tr",function(){layui.event.call(this,h,"rowDouble("+u.filter+")",x.call(this,{}))});w.off("click.cell").on("click.cell","td",function(C){var y=g(this);var E=y.data("type");if(E==="checkbox"||E==="radio"){return layui.stope(C)}var H=y.data("edit");var G=y.data("field");if(H){layui.stope(C);if(w.find(".ew-tree-table-edit").length>0){return}var B=y.data("index");var z=y.find(".ew-tree-table-indent").length;var D=v.getDataByTr(y.parent());if("text"===H||"number"===H){var F=g('<input type="'+H+'" class="layui-input ew-tree-table-edit"/>');F[0].value=D[G];y.append(F);F.focus();F.blur(function(){var K=g(this).val();if(K==D[G]){return g(this).remove()}var I=layui.event.call(this,h,"edit("+u.filter+")",x.call(this,{value:K,field:G}));if(I===false){g(this).addClass("layui-form-danger");g(this).focus()}else{D[G]=K;var J=y.data("key").split("-");v.renderBodyTd(D,z,B,y,t.cols[J[0]][J[1]])}})}else{console.error("涓嶆敮鎸佺殑鍗曞厓鏍肩紪杈戠被鍨�:"+H)}}else{var A=layui.event.call(this,h,"cell("+u.filter+")",x.call(this,{td:y,field:G}));if(A===false){layui.stope(C)}}});w.off("dblclick.cellDouble").on("dblclick.cellDouble","td",function(C){var D=g(this);var z=D.data("type");if(z==="checkbox"||z==="radio"){return layui.stope(C)}var A=D.data("edit");var B=D.data("field");if(A){return layui.stope(C)}var y=layui.event.call(this,h,"cellDouble("+u.filter+")",x.call(this,{td:D,field:B}));if(y===false){layui.stope(C)}});u.$toolbar.off("click.toolbar").on("click.toolbar","*[lay-event]",function(A){layui.stope(A);var z=g(this);var y=z.attr("lay-event");if("LAYTABLE_COLS"===y){v.toggleCol()}else{if("LAYTABLE_EXPORT"===y){v.exportData("show")}else{if("LAYTABLE_PRINT"===y){v.printTable()}else{layui.event.call(this,h,"toolbar("+u.filter+")",{event:y,elem:z})}}}});u.$tBodyGroup.on("scroll",function(){var y=g(this);u.$tHeadGroup.scrollLeft(y.scrollLeft())});u.$toolbar.off("click.export").on("click.export",".layui-table-tool-panel>[data-type]",function(){var y=g(this).data("type");if("csv"===y||"xls"===y){v.exportData(y)}});u.$toolbar.off("click.panel").on("click.panel",".layui-table-tool-panel",function(y){layui.stope(y)});c.on("checkbox("+u.colsToggleFilter+")",function(y){v.toggleCol(y.elem.checked,undefined,y.value)})};p.prototype.getComponents=function(){var v=g(this.options.elem).next(".ew-tree-table");var t=v.attr("lay-filter");var w=v.children(".ew-tree-table-head");var u=v.children(".ew-tree-table-box");return{$view:v,filter:t,$tHeadGroup:w,$tBodyGroup:u,$tHead:w.children(".layui-table"),$tBody:u.children(".layui-table"),$table:v.find(".layui-table"),$toolbar:v.children(".ew-tree-table-tool"),$empty:u.children(".ew-tree-table-empty"),$loading:u.children(".ew-tree-table-loading"),checkboxFilter:"ew_tb_checkbox_"+t,radioFilter:"ew_tb_radio_"+t,chooseAllFilter:"ew_tb_choose_all_"+t,colsToggleFilter:"ew_tb_toggle_cols"+t}};p.prototype.eachCols=function(w,v){if(!v){v=this.options.colArrays}for(var t=0;t<v.length;t++){var u=v[t];w&&w(t,u);if(u.CHILD_COLS){this.eachCols(w,u.CHILD_COLS)}}};p.prototype.eachData=function(w,v){if(!v){v=this.options.data}for(var t=0;t<v.length;t++){var u=v[t];w&&w(t,u);if(u[this.options.tree.childName]){this.eachData(w,u[this.options.tree.childName])}}};p.prototype.renderBodyAsync=function(x,w){var v=this;var t=this.options;var u=this.getComponents();if(w){w.addClass("ew-tree-table-loading");w.find(".ew-tree-pack").children(".ew-tree-table-arrow").addClass("layui-anim layui-anim-rotate layui-anim-loop")}else{u.$empty.hide();if(t.data&&t.data.length>0){u.$loading.addClass("ew-loading-float")}u.$loading.show()}t.reqData(x,function(y){if(typeof y!=="string"&&y&&y.length>0&&t.tree.isPidData){y=a.pidToChildren(y,t.tree.idName,t.tree.pidName,t.tree.childName)}v.renderBodyData(y,x,w)})};p.prototype.renderBodyData=function(w,A,x){var u;if(typeof w==="string"){u=w;w=[]}var z=this;var C=this.options;var y=this.getComponents();if(A===undefined){C.data=w}else{A[C.tree.childName]=w}var v;if(x){v=parseInt(x.data("indent"))+1;A[C.tree.openName]=true}var t=this.renderBody(w,v,A);if(x){x.nextAll("tr").each(function(){if(parseInt(g(this).data("indent"))<=(v-1)){return false}g(this).remove()});x.after(t).addClass("ew-tree-table-open")}else{y.$tBody.children("tbody").html(t)}c.render(null,y.filter);this.renderNumberCol();if(x){this.checkParentCB(x);x.prevAll("tr").each(function(){var D=parseInt(g(this).data("indent"));if(D<(v-1)){z.checkParentCB(g(this));v=D+1}});x.removeClass("ew-tree-table-loading");var B=x.find(".ew-tree-pack").children(".ew-tree-table-arrow");B.removeClass("layui-anim layui-anim-rotate layui-anim-loop");if(u){x.removeClass("ew-tree-table-open")}else{if(w&&w.length===0){A[C.tree.haveChildName]=false;x.data("have-child",false);B.addClass("ew-tree-table-arrow-hide");B.next(".ew-tree-icon").after(C.tree.getIcon(A)).remove()}}}else{y.$loading.hide();y.$loading.removeClass("ew-loading-float");if(w&&w.length>0){y.$empty.hide()}else{y.$empty.show();if(u){y.$empty.text(u)}else{y.$empty.html(C.text.none)}}}this.checkChooseAllCB();f(y.$view);C.done&&C.done(w)};p.prototype.renderBody=function(z,t,y){var u=this.options;if(!t){t=0}var x="";if(!z||z.length===0){return x}var w=y?!y[u.tree.openName]:undefined;for(var v=0;v<z.length;v++){var A=z[v];A.LAY_INDEX=(y?y.LAY_INDEX+"-":"")+v;x+=this.renderBodyTr(A,t,w);x+=this.renderBody(A[u.tree.childName],t+1,A)}return x};p.prototype.renderBodyTr=function(B,u,x,w){var z=this;var C=this.options;if(!u){u=0}var A=B[C.tree.haveChildName];if(A===undefined){A=B[C.tree.childName]&&B[C.tree.childName].length>0}if(w){w.data("have-child",A?"true":"false");w.data("indent",u);w.removeClass("ew-tree-table-loading")}var v="<tr";var t="";if(A&&B[C.tree.openName]){t+="ew-tree-table-open"}if(x){t+="ew-tree-tb-hide"}v+=(' class="'+t+'"');if(A){v+=(' data-have-child="'+A+'"')}v+=(' data-index="'+B.LAY_INDEX+'"');v+=(' data-indent="'+u+'">');var y=0;this.eachCols(function(E,D){if(D.colGroup){return}v+=z.renderBodyTd(B,u,y,w?w.children("td").eq(y):undefined,D);y++});v+="</tr>";return v};p.prototype.renderBodyTd=function(C,v,A,t,u){if(u.colGroup){return""}var F=this.options;var y=this.getComponents();if(!v){v=0}var B="",E="",D="";if(u.type==="numbers"){B='<span class="ew-tree-table-numbers"></span>'}else{if(u.type==="checkbox"){B=['<input type="checkbox"',C.LAY_CHECKED?' checked="checked"':"",' lay-filter="',y.checkboxFilter,'"',' lay-skin="primary" class="ew-tree-table-checkbox',C.LAY_INDETERMINATE?" ew-form-indeterminate":"",'" />'].join("")}else{if(u.type==="radio"){B=['<input type="radio"',C.LAY_CHECKED?' checked="checked"':"",' lay-filter="',y.radioFilter,'"',' name="',y.radioFilter,'"',' class="ew-tree-table-radio" />'].join("")}else{if(u.templet){if(typeof u.templet==="function"){B=u.templet(C)}else{if(typeof u.templet==="string"){d(g(u.templet).html()).render(C,function(G){B=G})}}}else{if(u.toolbar){if(typeof u.toolbar==="function"){B=u.toolbar(C)}else{if(typeof u.toolbar==="string"){d(g(u.toolbar).html()).render(C,function(G){B=G})}}}else{if(u.field&&C[u.field]!==undefined&&C[u.field]!==null){B=b.escape(C[u.field]===0?"0":C[u.field])}}}}}}if(A===F.tree.iconIndex){for(var w=0;w<v;w++){D+='<span class="ew-tree-table-indent"></span>'}D+='<span class="ew-tree-pack">';var z=C[F.tree.haveChildName];if(z===undefined){z=C[F.tree.childName]&&C[F.tree.childName].length>0}D+=('<i class="ew-tree-table-arrow layui-icon'+(z?"":" ew-tree-table-arrow-hide"));D+=(" "+(F.tree.arrowType||"")+'"></i>');D+=F.tree.getIcon(C);B="<span>"+B+"</span>";if(F.tree.onlyIconControl){B=D+"</span>"+B}else{B=D+B+"</span>"}}E=['<div class="ew-tree-table-cell',u.singleLine===undefined||u.singleLine?" single-line":"",'"',u.align?' align="'+u.align+'"':"",">",' <div class="ew-tree-table-cell-content">',B,"</div>",' <i class="layui-icon layui-icon-close ew-tree-tips-c"></i>',' <div class="layui-table-grid-down" style="display: none;"><i class="layui-icon layui-icon-down"></i></div>',"</div>"].join("");if(t){t.html(E)}var x="<td";if(u.field){x+=(' data-field="'+u.field+'"')}if(u.edit){x+=(' data-edit="'+u.edit+'"')}if(u.type){x+=(' data-type="'+u.type+'"')}if(u.key){x+=(' data-key="'+u.key+'"')}if(u.style){x+=(' style="'+u.style+'"')}if(u["class"]){x+=(' class="'+u["class"]+(u.hide?" layui-hide":"")+'"')}else{if(u.hide){x+=(' class="layui-hide"')}}x+=(">"+E+"</td>");return x};p.prototype.renderBodyTh=function(){var t=this.options;var v=this.getComponents();var u=[];g.each(t.cols,function(x,w){u.push("<tr>");g.each(w,function(A,z){u.push("<th");if(z.colspan){u.push(' colspan="'+z.colspan+'"')}if(z.rowspan){u.push(' rowspan="'+z.rowspan+'"')}if(z.type){u.push(' data-type="'+z.type+'"')}if(z.key){u.push(' data-key="'+z.key+'"')}if(z.parentKey){u.push(' data-parent="'+z.parentKey+'"')}if(z.hide){u.push(' class="layui-hide"')}u.push(">");u.push('<div class="ew-tree-table-cell'+(z.singleLine===undefined||z.singleLine?" single-line":"")+'"');if(z.thAlign||z.align){u.push(' align="'+(z.thAlign||z.align)+'"')}u.push(">");u.push('<div class="ew-tree-table-cell-content">');var y='<input type="checkbox" lay-filter="'+v.chooseAllFilter+'" lay-skin="primary" class="ew-tree-table-checkbox"/>';if(z.type==="checkbox"){u.push(y)}else{u.push(z.title||"")}u.push('</div><i class="layui-icon layui-icon-close ew-tree-tips-c"></i>');u.push('<div class="layui-table-grid-down" style="display: none;"><i class="layui-icon layui-icon-down"></i></div></div>');if(!z.colGroup&&!z.unresize){u.push('<span class="ew-tb-resize"></span>')}u.push("</th>")});u.push("</tr>")});return u.join("")};p.prototype.resize=function(z){var t=this.options;var x=this.getComponents();var v=1,u=1,A=true,w=0;this.eachCols(function(B,C){if(C.colGroup||C.hide){return}if(C.width){u+=(C.width+1);if(C.minWidth){if(C.width<C.minWidth){C.width=C.minWidth}}else{if(C.width<t.cellMinWidth){C.width=t.cellMinWidth}}}else{A=false}if(C.width){v+=(C.width+1)}else{if(C.minWidth){v+=(C.minWidth+1);w+=C.minWidth}else{v+=(t.cellMinWidth+1);w+=t.cellMinWidth}}});if(v){x.$tHead.css("min-width",v);x.$tBody.css("min-width",v)}else{x.$tHead.css("min-width","auto");x.$tBody.css("min-width","auto")}if(A){x.$tHead.css("width",u);x.$tBody.css("width",u)}else{x.$tHead.css("width","100%");x.$tBody.css("width","100%")}var y=[];this.eachCols(function(B,C){if(C.colGroup||C.hide){return}y.push("<col");if(C.width){y.push(' width="'+C.width+'"')}else{if(C.minWidth){y.push(' width="'+(C.minWidth/w*100).toFixed(2)+'%"')}else{y.push(' width="'+(t.cellMinWidth/w*100).toFixed(2)+'%"')}}if(C.type){y.push(' data-type="'+C.type+'"')}if(C.key){y.push(' data-key="'+C.key+'"')}y.push("/>")});y=y.join("");if(z){return"<colgroup>"+y+"</colgroup>"}x.$table.children("colgroup").html(y)};p.prototype.getDataByTr=function(v){var w,t;if(typeof v!=="string"&&typeof v!=="number"){if(v){t=v.data("index")}}else{t=v}if(t===undefined){return}if(typeof t==="number"){t=[t]}else{t=t.split("-")}for(var u=0;u<t.length;u++){if(w){w=w[this.options.tree.childName][t[u]]}else{w=this.options.data[t[u]]}}return w};p.prototype.checkSubCB=function(y,x){var w=this;var v=this.getComponents();var t=-1,u;if(y.is("tbody")){u=y.children("tr")}else{t=parseInt(y.data("indent"));u=y.nextAll("tr")}u.each(function(){if(parseInt(g(this).data("indent"))<=t){return false}var A=g(this).children("td").find('input[lay-filter="'+v.checkboxFilter+'"]');A.prop("checked",x);A.removeClass("ew-form-indeterminate");if(x){A.next(".layui-form-checkbox").addClass("layui-form-checked")}else{A.next(".layui-form-checkbox").removeClass("layui-form-checked")}var z=w.getDataByTr(g(this));z.LAY_CHECKED=x;z.LAY_INDETERMINATE=false})};p.prototype.checkParentCB=function(x){var u=this.options;var w=this.getComponents();var z=this.getDataByTr(x);var y=0,v=0;if(z[u.tree.childName]){function t(C){for(var B=0;B<C.length;B++){if(C[B].LAY_CHECKED){y++}else{v++}if(C[B][u.tree.childName]){t(C[B][u.tree.childName])}}}t(z[u.tree.childName])}var A=x.children("td").find('input[lay-filter="'+w.checkboxFilter+'"]');if(y>0&&v===0){A.prop("checked",true);A.removeClass("ew-form-indeterminate");A.next(".layui-form-checkbox").addClass("layui-form-checked");z.LAY_CHECKED=true;z.LAY_INDETERMINATE=false}else{if(y===0&&v>0){A.prop("checked",false);A.removeClass("ew-form-indeterminate");A.next(".layui-form-checkbox").removeClass("layui-form-checked");z.LAY_CHECKED=false;z.LAY_INDETERMINATE=false}else{if(y>0&&v>0){A.prop("checked",true);A.data("indeterminate","true");A.addClass("ew-form-indeterminate");A.next(".layui-form-checkbox").addClass("layui-form-checked");z.LAY_CHECKED=true;z.LAY_INDETERMINATE=true}}}};p.prototype.checkChooseAllCB=function(){var u=this.options;var w=this.getComponents();var x=0,v=0;function t(A){for(var z=0;z<A.length;z++){if(A[z].LAY_CHECKED){x++}else{v++}if(A[z][u.tree.childName]){t(A[z][u.tree.childName])}}}t(u.data);var y=w.$view.find('input[lay-filter="'+w.chooseAllFilter+'"]');if(x>0&&v===0){y.prop("checked",true);y.removeClass("ew-form-indeterminate");y.next(".layui-form-checkbox").addClass("layui-form-checked")}else{if((x===0&&v>0)||(x===0&&v===0)){y.prop("checked",false);y.removeClass("ew-form-indeterminate");y.next(".layui-form-checkbox").removeClass("layui-form-checked")}else{if(x>0&&v>0){y.prop("checked",true);y.addClass("ew-form-indeterminate");y.next(".layui-form-checkbox").addClass("layui-form-checked")}}}};p.prototype.renderNumberCol=function(){this.getComponents().$tBody.children("tbody").children("tr").each(function(t){g(this).children("td").find(".ew-tree-table-numbers").text(t+1)})};p.prototype.getIndexById=function(v){var t=this.options;function u(x,y){for(var w=0;w<x.length;w++){if(x[w][t.tree.idName]==v){return y!==undefined?y+"-"+w:w}if(x[w][t.tree.childName]){return u(x[w][t.tree.childName],y!==undefined?y+"-"+w:w)}}}return u(t.data)};p.prototype.expand=function(x,u){var w=this.getComponents();var v=w.$table.children("tbody").children('tr[data-index="'+this.getIndexById(x)+'"]');if(!v.hasClass("ew-tree-table-open")){v.children("td").find(".ew-tree-pack").trigger("click")}if(u===false){return}var t=parseInt(v.data("indent"));v.prevAll("tr").each(function(){var y=parseInt(g(this).data("indent"));if(y<t){if(!g(this).hasClass("ew-tree-table-open")){g(this).children("td").find(".ew-tree-pack").trigger("click")}t=y}})};p.prototype.fold=function(v){var u=this.getComponents();var t=u.$table.children("tbody").children('tr[data-index="'+this.getIndexById(v)+'"]');if(t.hasClass("ew-tree-table-open")){t.children("td").find(".ew-tree-pack").trigger("click")}};p.prototype.expandAll=function(){this.getComponents().$table.children("tbody").children("tr").each(function(){if(!g(this).hasClass("ew-tree-table-open")){g(this).children("td").find(".ew-tree-pack").trigger("click")}})};p.prototype.foldAll=function(){this.getComponents().$table.children("tbody").children("tr").each(function(){if(g(this).hasClass("ew-tree-table-open")){g(this).children("td").find(".ew-tree-pack").trigger("click")}})};p.prototype.getData=function(){return this.options.data};p.prototype.reload=function(t){this.initOptions(this.options?g.extend(true,this.options,t):t);this.init();this.bindEvents()};p.prototype.checkStatus=function(t){if(t===undefined){t=true}var u=[];this.eachData(function(v,w){if((t||!w.LAY_INDETERMINATE)&&w.LAY_CHECKED){u.push(g.extend({isIndeterminate:w.LAY_INDETERMINATE},w))}});return u};p.prototype.setChecked=function(u){var w=this;var v=this.getComponents();var t=v.$table.find('input[lay-filter="'+v.radioFilter+'"]');if(t.length>0){t.each(function(){var x=w.getDataByTr(g(this).parentsUntil("tr").parent());if(x&&u[u.length-1]==x[w.options.tree.idName]){g(this).next(".layui-form-radio").trigger("click");return false}})}else{v.$table.find('input[lay-filter="'+v.checkboxFilter+'"]').each(function(){var C=g(this);var y=C.next(".layui-form-checkbox");var z=C.prop("checked");var B=C.hasClass("ew-form-indeterminate");var A=w.getDataByTr(C.parentsUntil("tr").parent());for(var x=0;x<u.length;x++){if(A&&u[x]==A[w.options.tree.idName]){if(A[w.options.tree.childName]&&A[w.options.tree.childName].length>0){continue}if(!z||B){y.trigger("click")}}}})}};p.prototype.removeAllChecked=function(){this.checkSubCB(this.getComponents().$table.children("tbody"),false)};p.prototype.exportData=function(w){var y=this.getComponents();if("show"===w){y.$toolbar.find(".layui-table-tool-panel").remove();y.$toolbar.find('[lay-event="LAYTABLE_EXPORT"]').append(['<ul class="layui-table-tool-panel">',' <li data-type="csv">瀵煎嚭鍒� Csv 鏂囦欢</li>',' <li data-type="xls">瀵煎嚭鍒� Excel 鏂囦欢</li>',"</ul>"].join(""))}else{if(o.ie){return layer.msg("涓嶆敮鎸乮e瀵煎嚭")}if(!w){w="xls"}var u=[],t=[];this.eachCols(function(A,B){if(B.type!=="normal"||B.hide){return}u.push(B.title||"")});y.$tBody.children("tbody").children("tr").each(function(){var A=[];g(this).children("td").each(function(){var B=g(this);if(B.data("type")!=="normal"||B.hasClass("layui-hide")){return true}A.push(B.text().trim().replace(/,/g,"锛�"))});t.push(A.join(","))});var v=document.createElement("a");var x=encodeURIComponent(u.join(",")+"\r\n"+t.join("\r\n"));var z=({csv:"text/csv",xls:"application/vnd.ms-excel"})[w];v.href="data:"+z+";charset=utf-8,\ufeff"+x;v.download=(this.options.title||"table")+"."+w;document.body.appendChild(v);v.click();document.body.removeChild(v)}};p.prototype.printTable=function(){var w=this.getComponents();var z=w.$tHead.children("thead").html();if(!z){z=w.$tBody.children("thead").html()}var x=w.$tBody.children("tbody").html();var v=w.$tBody.children("colgroup").html();var u=g(['<table class="ew-tree-table-print">'," <colgroup>",v,"</colgroup>"," <thead>",z,"</thead>"," <tbody>",x,"</tbody>","</table>"].join(""));u.find('col[data-type="checkbox"],col[data-type="radio"],col[data-type="tool"]').remove();u.find('td[data-type="checkbox"],td[data-type="radio"],td[data-type="tool"],.layui-hide').remove();function A(F){var C=F.data("parent"),D;if(!C){return}var E=u.children("thead").children("tr").children('[data-key="'+C+'"]');var G=parseInt(E.attr("colspan"))-1;E.attr("colspan",G);if(G===0){E.remove()}A(E)}u.find('th[data-type="checkbox"],th[data-type="radio"],th[data-type="tool"]').each(function(){A(g(this))}).remove();var t=["<style>"," /* 鎵撳嵃琛ㄦ牸鏍峰紡 */"," .ew-tree-table-print {"," border: none;"," border-collapse: collapse;"," width: 100%;"," table-layout: fixed;"," }"," .ew-tree-table-print td, .ew-tree-table-print th {"," color: #555;"," font-size: 14px;"," padding: 9px 15px;"," word-break: break-all;"," border: 1px solid #888;"," text-align: left;"," }"," .ew-tree-table-print .ew-tree-table-cell {"," min-height: 20px;"," }"," /* 搴忓彿鍒楁牱寮� */",' .ew-tree-table-print td[data-type="numbers"], .ew-tree-table-print th[data-type="numbers"] {'," padding-left: 0;"," padding-right: 0;"," }"," /* 鍗�/澶嶉�夋鍒楁牱寮� */",' .ew-tree-table-print td[data-type="tool"], .ew-tree-table-print th[data-type="tool"], ',' .ew-tree-table-print td[data-type="checkbox"], .ew-tree-table-print th[data-type="checkbox"], ',' .ew-tree-table-print td[data-type="radio"], .ew-tree-table-print th[data-type="radio"] {'," border: none;"," }"," .ew-tree-table-print td.layui-hide + td, .ew-tree-table-print th.layui-hide + th, ",' .ew-tree-table-print td[data-type="tool"] + td, .ew-tree-table-print th[data-type="tool"] + th, ',' .ew-tree-table-print td[data-type="checkbox"] + td, .ew-tree-table-print th[data-type="checkbox"] + th, ',' .ew-tree-table-print td[data-type="radio"] + td, .ew-tree-table-print th[data-type="radio"] + th {'," border-left: none;"," }"," /* 涓嶆樉绀虹殑鍏冪礌 */"," .layui-hide, ",' .ew-tree-table-print td[data-type="tool"] *, .ew-tree-table-print th[data-type="tool"] *, ',' .ew-tree-table-print td[data-type="checkbox"] *, .ew-tree-table-print th[data-type="checkbox"] *, ',' .ew-tree-table-print td[data-type="radio"] *, .ew-tree-table-print th[data-type="radio"] *, '," .layui-table-grid-down, .ew-tree-tips-c, .ew-tree-icon, .ew-tree-table-arrow.ew-tree-table-arrow-hide {"," display: none;"," }"," /* tree缂╄繘 */"," .ew-tree-table-indent {"," padding-left: 13px;"," }"," /* 绠ご */"," .ew-tree-table-arrow {"," position: relative;"," padding-left: 13px;"," }"," .ew-tree-table-arrow:before {",' content: "";'," border: 5px solid transparent;"," border-top-color: #666;"," position: absolute;"," left: 0;"," top: 6px;"," }","</style>"].join("");var y=window.open("","_blank");y.focus();var B=y.document;B.open();B.write(u[0].outerHTML+t);B.close();y.print();y.close()};p.prototype.toggleCol=function(A,z,B){var w=this.getComponents();if(A===undefined){w.$toolbar.find(".layui-table-tool-panel").remove();var x=['<ul class="layui-table-tool-panel">'];this.eachCols(function(D,E){if(E.type!=="normal"){return}x.push('<li><input type="checkbox" lay-skin="primary"');x.push(' lay-filter="'+w.colsToggleFilter+'"');x.push(' value="'+E.key+'" title="'+b.escape(E.title||"")+'"');x.push((E.hide?"":" checked")+"></li>")});w.$toolbar.find('[lay-event="LAYTABLE_COLS"]').append(x.join("")+"</ul>");c.render("checkbox",w.filter)}else{if(B){var u=w.$table.children("tbody").children("tr").children('[data-key="'+B+'"]');var C=w.$table.children("thead").children("tr").children('[data-key="'+B+'"]');if(A){u.removeClass("layui-hide");C.removeClass("layui-hide")}else{u.addClass("layui-hide");C.addClass("layui-hide")}var y=B.split("-");var v=this.options.cols[y[0]][y[1]];v.hide=!A;function t(G){var D=G.data("parent"),E;if(!D){return}var F=w.$table.children("thead").children("tr").children('[data-key="'+D+'"]');var H=F.attr("colspan");A?H++:H--;F.attr("colspan",H);if(H===0){F.addClass("layui-hide")}else{F.removeClass("layui-hide")}t(F)}t(C);this.eachCols(function(D,E){if(E.key===B){E.hide=v.hide}});this.resize()}}};p.prototype.filterData=function(y){var A=this.getComponents();A.$loading.show();if(this.options.data.length>0){A.$loading.addClass("ew-loading-float")}var x=A.$table.children("tbody").children("tr");var u=[];if(typeof y==="string"){x.each(function(){var B=g(this).data("index");g(this).children("td").each(function(){if(g(this).text().indexOf(y)!==-1){u.push(B);return false}})})}else{for(var w=0;w<y.length;w++){u.push(this.getIndexById(y[w]))}}x.addClass("ew-tree-table-filter-hide");for(var v=0;v<u.length;v++){var z=x.filter('[data-index="'+u[v]+'"]');z.removeClass("ew-tree-table-filter-hide");var t=parseInt(z.data("indent"));z.nextAll("tr").each(function(){if(parseInt(g(this).data("indent"))<=t){return false}g(this).removeClass("ew-tree-table-filter-hide")});if(z.hasClass("ew-tree-table-open")){i(z)}z.prevAll("tr").each(function(){var B=parseInt(g(this).data("indent"));if(B<t){g(this).removeClass("ew-tree-table-filter-hide");if(!g(this).hasClass("ew-tree-table-open")){i(g(this))}t=B}})}A.$loading.hide();A.$loading.removeClass("ew-loading-float");if(u.length===0){A.$empty.show()}f(A.$view)};p.prototype.clearFilter=function(){var t=this.getComponents();t.$table.children("tbody").children("tr").removeClass("ew-tree-table-filter-hide");if(this.options.data.length>0){t.$empty.hide()}f(t.$view)};p.prototype.refresh=function(x,v){if(l(x)==="Array"){v=x;x=undefined}var u=this.getComponents();var w,t;if(x!==undefined){t=u.$table.children("tbody").children('tr[data-index="'+this.getIndexById(x)+'"]');w=this.getDataByTr(t)}if(v){if(this.data.length>0){u.$loading.addClass("ew-loading-float")}u.$loading.show();if(v.length>0&&this.options.tree.isPidData){this.renderBodyData(a.pidToChildren(v,this.options.tree.idName,this.options.tree.pidName,this.options.tree.childName),w,t)}else{this.renderBodyData(v,w,t)}}else{this.renderBodyAsync(w,t)}};p.prototype.del=function(x,u){if(u===undefined){u=this.getIndexById(x)}var t=(typeof u==="number"?[u]:u.split("-"));var w=this.options.data;if(t.length>1){for(var v=0;v<t.length-1;v++){w=w[parseInt(t[v])][this.options.tree.childName]}}w.splice(t[t.length-1],1)};p.prototype.update=function(u,t){g.extend(true,this.getDataByTr(this.getIndexById(u)),t)};function i(v){var t=parseInt(v.data("indent"));var u=v.hasClass("ew-tree-table-open");if(u){v.removeClass("ew-tree-table-open");v.nextAll("tr").each(function(){if(parseInt(g(this).data("indent"))<=t){return false}g(this).addClass("ew-tree-tb-hide")})}else{v.addClass("ew-tree-table-open");var w;v.nextAll("tr").each(function(){var x=parseInt(g(this).data("indent"));if(x<=t){return false}if(w!==undefined&&x>w){return true}g(this).removeClass("ew-tree-tb-hide");if(!g(this).hasClass("ew-tree-table-open")){w=parseInt(g(this).data("indent"))}else{w=undefined}})}f(v.parentsUntil(".ew-tree-table").last().parent());return u}function f(w){var t=w.children(".ew-tree-table-head");var u=w.children(".ew-tree-table-box");var v=u.width()-u.prop("clientWidth");t.css("border-right",(v>0?v:0)+"px solid #f2f2f2")}g(window).resize(function(){g(".ew-tree-table").each(function(){f(g(this));var u=g(this).children(".ew-tree-table-box");var t=u.data("full");if(t&&o.ie&&o.ie<10){u.css("height",m()-t)}})});g(document).on("mouseenter",".ew-tree-table-cell.single-line",function(){var t=g(this).children(".ew-tree-table-cell-content");if(t.prop("scrollWidth")>t.outerWidth()){g(this).children(".layui-table-grid-down").show()}}).on("mouseleave",".ew-tree-table-cell.single-line",function(){g(this).children(".layui-table-grid-down").hide()});g(document).on("click",".ew-tree-table-cell>.layui-table-grid-down",function(w){w.stopPropagation();j();var u=g(this).parent();u.addClass("ew-tree-tips-open");u.children(".layui-table-grid-down").hide();var t=u.parent().outerWidth()+4;if(u.outerWidth()<t){u.children(".ew-tree-table-cell-content").css({"width":t,"max-width":t})}var v=u.parents().filter(".ew-tree-table-box");if(v.length===0){v=u.parents().filter(".ew-tree-table-head")}if(v.length===0){return}if((u.outerWidth()+u.offset().left)+20>v.offset().left+v.outerWidth()){u.addClass("ew-show-left")}if((u.outerHeight()+u.offset().top+10)>v.offset().top+v.outerHeight()){u.addClass("ew-show-bottom")}});g(document).on("click",".ew-tree-table-cell>.ew-tree-tips-c",function(){j()});g(document).on("click",function(){j();g(".ew-tree-table .layui-table-tool-panel").remove()});g(document).on("click",".ew-tree-table-cell.ew-tree-tips-open",function(t){t.stopPropagation()});function j(){g(".ew-tree-table-cell").removeClass("ew-tree-tips-open ew-show-left ew-show-bottom");g(".ew-tree-table-cell>.ew-tree-table-cell-content").css({"width":"","max-width":""})}g(document).on("mousedown",".ew-tb-resize",function(x){layui.stope(x);var v=g(this);v.attr("move","true");var u=v.parent().data("key");v.data("x",x.clientX);var t=v.parent().parent().parent().parent().children("colgroup").children('col[data-key="'+u+'"]').attr("width");if(!t||t.toString().indexOf("%")!==-1){t=v.parent().outerWidth()}v.data("width",t);g("body").addClass("ew-tree-table-resizing")}).on("mousemove",function(B){var y=g('.ew-tree-table .ew-tb-resize[move="true"]');if(y.length===0){return}layui.stope(B);var t=y.data("x");var v=y.data("width");var u=parseFloat(v)+B.clientX-parseFloat(t);if(u<=0){u=1}var z=k[y.parentsUntil(".ew-tree-table").last().parent().attr("lay-filter")];var A=y.parent().data("key");var C=A.split("-");z.options.cols[C[0]][C[1]].width=u;z.eachCols(function(w,x){if(x.key===A){x.width=u}});z.resize()}).on("mouseup",function(t){g('.ew-tree-table .ew-tb-resize[move="true"]').attr("move","false");g("body").removeClass("ew-tree-table-resizing")}).on("mouseleave",function(t){g('.ew-tree-table .ew-tb-resize[move="true"]').attr("move","false");g("body").removeClass("ew-tree-table-resizing")});function q(x,u,z){var y=[];for(var w=0;w<x.length;w++){var t=false;for(var v=0;v<x.length;v++){if(x[w][z]==x[v][u]){t=true;break}}if(!t){y.push(x[w][z])}}return y}function n(u,v){if(l(v)==="Array"){for(var t=0;t<v.length;t++){if(u==v[t]){return true}}}return u==v}function l(t){if(t===null){return"Null"}if(t===undefined){return"Undefined"}return Object.prototype.toString.call(t).slice(8,-1)}function m(){return document.documentElement.clientHeight||document.body.clientHeight}var a={render:function(t){return new p(t)},reload:function(u,t){k[u].reload(t)},on:function(t,u){return layui.onevent.call(this,h,t,u)},pidToChildren:function(z,u,A,t,x){if(!t){t="children"}var y=[];for(var w=0;w<z.length;w++){if(z[w][u]==z[w][A]){return console.error("绗�"+w+"鏉℃暟鎹殑"+u+"涓�"+A+"鐩稿悓",z[w])}if(x===undefined){x=q(z,u,A)}if(n(z[w][A],x)){var v=this.pidToChildren(z,u,A,t,z[w][u]);if(v.length>0){z[w][t]=v}y.push(z[w])}}return y}};g("head").append(['<style id="ew-tree-table-css">',"/** 鏈�澶栧眰瀹瑰櫒 */",".ew-tree-table {"," margin: 10px 0;"," position: relative;"," border: 1px solid #e6e6e6;"," border-bottom: none;"," border-right: none;","}",".ew-tree-table:before, .ew-tree-table:after, .ew-tree-table .ew-tree-table-head:after {",' content: "";'," background-color: #e6e6e6;"," position: absolute;"," right: 0;"," bottom: 0;","}",".ew-tree-table:before {"," width: 1px;"," top: 0;"," z-index: 1;","}",".ew-tree-table:after, .ew-tree-table .ew-tree-table-head:after {"," height: 1px;"," left: 0;","}",".ew-tree-table .layui-table {"," margin: 0;"," position: relative;"," table-layout: fixed;","}","/** 琛ㄦ牸 */",".ew-tree-table .layui-table td, .ew-tree-table .layui-table th {"," border-top: none;"," border-left: none;"," padding: 0 !important;","}",".ew-tree-table .ew-tree-table-box {"," overflow: auto;"," position: relative;","}",".ew-tree-table .ew-tree-table-head {"," overflow: hidden;"," box-sizing: border-box;"," background-color: #f2f2f2;"," position: relative;","}","/** loading */",".ew-tree-table div.ew-tree-table-loading {"," padding: 10px 0;"," text-align: center;","}",".ew-tree-table div.ew-tree-table-loading > i {"," color: #999;"," font-size: 30px;","}",".ew-tree-table div.ew-tree-table-loading.ew-loading-float {"," position: absolute;"," top: 0;"," left: 0;"," right: 0;","}","/** 绌烘暟鎹� */",".ew-tree-table .ew-tree-table-empty {"," color: #666;"," font-size: 14px;"," padding: 18px 0;"," text-align: center;"," display: none;","}","/** 鍗曞厓鏍� */",".ew-tree-table-cell.ew-tree-tips-open {"," position: absolute;"," top: 0;"," left: 0;"," padding: 0;"," z-index: 9999;"," background-color: #fff;"," box-shadow: 3px 3px 8px rgba(0, 0, 0, .15);","}","thead .ew-tree-table-cell.ew-tree-tips-open {"," background-color: #f2f2f2;","}",".ew-tree-table-cell.ew-tree-tips-open.ew-show-left {"," right: 0;"," left: auto;"," box-shadow: -3px 3px 8px rgba(0, 0, 0, .15);","}",".ew-tree-table-cell.ew-tree-tips-open.ew-show-bottom {"," bottom: 0;"," top: auto;"," box-shadow: 3px -3px 8px rgba(0, 0, 0, .15);","}",".ew-tree-table-cell.ew-tree-tips-open.ew-show-left.ew-show-bottom {"," box-shadow: -3px -3px 8px rgba(0, 0, 0, .15);","}",".ew-tree-table-cell > .ew-tree-tips-c {"," position: absolute;"," right: -6px;"," top: -3px;"," width: 22px;"," height: 22px;"," line-height: 22px;"," font-size: 16px;"," color: #fff;"," background-color: #666;"," border-radius: 50%;"," text-align: center;"," cursor: pointer;"," display: none;","}","table tr:first-child .ew-tree-table-cell > .ew-tree-tips-c {"," top: 0;","}",".ew-tree-table-cell.ew-tree-tips-open > .ew-tree-tips-c {"," display: block;","}",".ew-tree-table-cell.ew-tree-tips-open.ew-show-left > .ew-tree-tips-c {"," left: -6px;"," right: auto;","}",".ew-tree-table-cell > .ew-tree-table-cell-content {"," padding: 5px 15px;"," line-height: 28px;","}",'[lay-size="lg"] .ew-tree-table-cell > .ew-tree-table-cell-content {'," line-height: 40px;","}",'[lay-size="sm"] .ew-tree-table-cell > .ew-tree-table-cell-content {'," padding: 1px 15px;","}",".ew-tree-table-cell.single-line > .ew-tree-table-cell-content {"," overflow: hidden;"," white-space: nowrap;"," text-overflow: ellipsis;","}",".ew-tree-table-cell.ew-tree-tips-open > .ew-tree-table-cell-content {"," overflow: auto;"," padding: 9px 15px;"," height: auto;"," min-height: 100%;"," max-height: 110px;"," line-height: inherit;"," max-width: 260px;"," width: 200px;"," width: max-content;"," width: -moz-max-content;"," box-sizing: border-box;"," white-space: normal;","}",".ew-tree-table-cell > .layui-table-grid-down {"," box-sizing: border-box;","}","/** 鍥炬爣鍒� */",".ew-tree-table .ew-tree-pack {"," cursor: pointer;"," line-height: 16px;","}",".ew-tree-table .ew-tree-pack > .layui-icon, .ew-tree-table .ew-tree-pack > .ew-tree-icon {"," margin-right: 5px;","}",".ew-tree-table .ew-tree-pack > * {"," vertical-align: middle;","}","/* 缂╄繘 */",".ew-tree-table .ew-tree-table-indent {"," margin-right: 5px;"," padding-left: 16px;","}","/* 绠ご */",".ew-tree-table .ew-tree-table-arrow:before {",' content: "\\e623";',"}",".ew-tree-table .ew-tree-table-open .ew-tree-table-arrow:before {",' content: "\\e625";',"}",".ew-tree-table .ew-tree-table-arrow.arrow2 {"," font-size: 12px;"," font-weight: 600;"," line-height: 16px;"," height: 16px;"," width: 16px;"," display: inline-block;"," text-align: center;"," color: #888;","}",".ew-tree-table .ew-tree-table-arrow.arrow2:before {",' content: "\\e602";',"}",".ew-tree-table .ew-tree-table-open .ew-tree-table-arrow.arrow2:before {",' content: "\\e61a";',"}",".ew-tree-table-arrow.ew-tree-table-arrow-hide {"," visibility: hidden;","}","/* 绠ご鍙樺姞杞戒腑鐘舵�� */",".ew-tree-table tr.ew-tree-table-loading > td .ew-tree-table-arrow:before {",' content: "\\e63d" !important;',"}",".ew-tree-table tr.ew-tree-table-loading > td .ew-tree-table-arrow {"," margin-right: 0;","}",".ew-tree-table tr.ew-tree-table-loading > td .ew-tree-table-arrow + * {"," margin-left: 5px;","}",".ew-tree-table tr.ew-tree-table-loading * {"," pointer-events: none !important;","}","/** 鎶樺彔琛� */",".ew-tree-table .ew-tree-tb-hide {"," display: none;","}","/** 鐗规畩鍒楄皟鏁� */",'.ew-tree-table td[data-type="numbers"] > .ew-tree-table-cell,','.ew-tree-table th[data-type="numbers"] > .ew-tree-table-cell,','.ew-tree-table td[data-type="checkbox"] > .ew-tree-table-cell,','.ew-tree-table th[data-type="checkbox"] > .ew-tree-table-cell,','.ew-tree-table td[data-type="radio"] > .ew-tree-table-cell,','.ew-tree-table th[data-type="radio"] > .ew-tree-table-cell,','.ew-tree-table td[data-type="space"] > .ew-tree-table-cell,','.ew-tree-table th[data-type="space"] > .ew-tree-table-cell {'," padding-left: 0;"," padding-right: 0;","}","/* 鍗曞厓鏍煎唴琛ㄥ崟鍏冪礌鏍峰紡璋冩暣 */",".ew-tree-table .layui-form-switch",".ew-tree-table .layui-form-radio {"," margin: 0;","}","/* checkbox鍒楄皟鏁� */",".ew-tree-table-checkbox + .layui-form-checkbox {"," padding: 0;","}",".ew-tree-table-checkbox + .layui-form-checkbox > .layui-icon {"," font-weight: 600;"," color: transparent;"," transition: background-color .1s linear;"," -webkit-transition: background-color .1s linear;","}",".ew-tree-table-checkbox + .layui-form-checkbox.layui-form-checked > .layui-icon {"," color: #fff;","}","/* checkbox鍗婇�夌姸鎬� */",".ew-form-indeterminate + .layui-form-checkbox .layui-icon:before {",' content: "";'," width: 10px;"," height: 2px;"," background-color: #f1f1f1;"," position: absolute;"," top: 50%;"," left: 50%;"," margin: -1px 0 0 -5px;","}","/* radio鍒楄皟鏁� */",".ew-tree-table-radio + .layui-form-radio {"," margin: 0;"," padding: 0;"," height: 20px;"," line-height: 20px;","}",".ew-tree-table-radio + .layui-form-radio > i {"," margin: 0;"," height: 20px;"," font-size: 20px;"," line-height: 20px;","}","/** 鍗曞厓鏍肩紪杈� */",".ew-tree-table .layui-table td[data-edit] {"," cursor: text;","}",".ew-tree-table .ew-tree-table-edit {"," position: absolute;"," left: 0;"," top: 0;"," width: 100%;"," height: 100%;"," border-radius: 0;"," box-shadow: 1px 1px 20px rgba(0, 0, 0, .15);","}",".ew-tree-table .ew-tree-table-edit:focus {"," border-color: #5FB878 !important;","}",".ew-tree-table .ew-tree-table-edit.layui-form-danger {"," border-color: #FF5722 !important;","}","/** 鎼滅储鏁版嵁闅愯棌琛� */",".ew-tree-table tr.ew-tree-table-filter-hide {"," display: none !important;","}","/** 澶撮儴宸ュ叿鏍� */",".ew-tree-table .ew-tree-table-tool {"," min-height: 50px;"," line-height: 30px;"," padding: 10px 15px;"," box-sizing: border-box;"," background-color: #f2f2f2;"," border-bottom: 1px solid #e6e6e6;","}",".ew-tree-table .ew-tree-table-tool .ew-tree-table-tool-right {"," float: right;","}",".ew-tree-table .ew-tree-table-tool .ew-tree-table-tool-item {"," position: relative;"," color: #333;"," width: 26px;"," height: 26px;"," line-height: 26px;"," text-align: center;"," margin-left: 10px;"," display: inline-block;"," border: 1px solid #ccc;"," box-sizing: border-box;"," vertical-align: middle;"," -webkit-transition: .3s all;"," transition: .3s all;"," cursor: pointer;","}",".ew-tree-table .ew-tree-table-tool .ew-tree-table-tool-item:first-child {"," margin-left: 0;","}",".ew-tree-table .ew-tree-table-tool .ew-tree-table-tool-item:hover {"," border-color: #999;","}",".ew-tree-table .ew-tree-table-tool-right .layui-table-tool-panel {"," left: auto;"," right: -1px;"," z-index: 9999;","}","/* 鍒楀鎷栨嫿璋冩暣 */",".ew-tree-table .ew-tb-resize {"," position: absolute;"," right: 0;"," top: 0;"," bottom: 0;"," width: 10px;"," cursor: col-resize;","}",".ew-tree-table-resizing {"," cursor: col-resize;"," -ms-user-select: none;"," -moz-user-select: none;"," -webkit-user-select: none;"," user-select: none;","}","/* 杈呭姪鏍峰紡 */",".ew-tree-table .layui-form-switch {"," margin: 0;","}",".ew-tree-table .pd-tb-0 {"," padding-top: 0 !important;"," padding-bottom: 0 !important;","}",".ew-tree-table .break-all {"," word-break: break-all !important;","}","/** 鎵╁睍鍥炬爣 */",".ew-tree-table .ew-tree-icon-folder:after, .ew-tree-table .ew-tree-icon-file:after {",' content: "";'," padding: 2px 10px;"," -webkit-background-size: cover;"," -moz-background-size: cover;"," -o-background-size: cover;"," background-size: cover;"," background-repeat: no-repeat;",' background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAE6UlEQVR4Xu2ZPYhcVRiGny9hC0FsTEBCGkFTWIQE/IlpgmKpWAiLyR0XLbYTxEKxkCAEhRCxEOwsjJnJioKIYClWKgqiskIIaCoLYyASVJT87JGspN37LrOXvec777Tzzrnvz7Nn2dnAr6YbiKbTOzwGoHEIDIABaLyBxuP7BjAAjTfQeHzfAAag8QYaj+8bwAA03kDj8X0DGIDGG2g8/lw3QFlhD9fZN7oOF7gYT3NudL5GaGjTAJQP2c1VXgIOExyGkf4/oXCe4I3oeH+EvY/G0qYAKFOWCV4Hdo8mQb+RL7jBE7HE3/3S9hQyAGXGCeDVSiv6lqscief4t1L/g9mWAChTHiD4ZrTXvVbPu9GxrEnbUWkAzPgeOJCglsXo+ChBji2L0AtAmfEgrP/0Z3hdZoF7Y5HLGcJsRQYFgLeAF7fiYSM540x0LI3Ey7bb6AdgytcEh7bd6VYa2MGhOJrmVpurmX4AZlwCds31lPF9+AI32O8/DYUvccqUKwR3jG/DuR29Gd36F1pNv/pvgKwAFK5RuC+e4eeWCWgXgJurFz6LCY8bgA0aSPwr4P/UhVNc43ir3xK2fQPcAr/wO/AewU/Ar6xRqroVdvAnC6zGIlc369sAbLax8er/ofAJOzkVR9e/uZVeBkCqqTrRyeh4RXFtAJSWatQUno0Jp/usG4C+hup9/yJ72BuPcH2jCAag3oEV50vRccYAKFXl1LwdHS8YgJzj9qcqfBoTnjQA/VVlVXwXHfcbgKzz9uf6IToOGoD+orIqDEDWZcVcBkAsKqvMAGRdVsxlAMSissoMQNZlxVwGQCwqq8wAZF1WzGUAxKKyygxA1mXFXAZALCqrzABkXVbMZQDEorLKDEDWZcVcBkAsKqvMAGRdVsxlAMSissoMQNZlxVwGQCwqq8wAZF1WzGUAxKKyygxA1mXFXAZALCqrzABkXVbMZQDEorLKDEDWZcVcBkAsKqvMAGRdVsxlAMSissoMQNZlxVwGQCwqq8wAZF1WzGUAxKKyygxA1mXFXAZALCqrzABkXVbMZQDEorLKDEDWZcVcBkAsKqvMAGRdVsxlAMSissoMQNZlxVwGQCwqq8wAZF1WzGUAxKKyygxA1mXFXAZALCqrzABkXVbMZQDEorLKDEDWZcVcBkAsKqvMAGRdVsxlAMSissoMQNZlxVwGQCwqq8wAZF1WzGUAxKKyygxA1mXFXAZALCqrzABkXVbMZQDEorLKDEDWZcVcBkAsKqvMAGRdVsxlAMSissoMQNZlxVwGQCwqq8wAZF1WzLUFAMy4BOwSH2jZmBoorMaE/RtZij6/ZcoFgrv7dH5/lA38Eh33zAfAjM+BR0cZz6Y2bqDwY0w4MB8AU04SvOyuq2zg4+h4aj4AzvIwha+qjN+66cLzMeGduQC4+eEy4zywr/U+K8t/hQX2xiJ/zQ/ACgdZ40vgtspKaNducCyOsdJXQO9fAbcOKGc5whofENzVd6jf3/YGTkTHccWFDMD6r4LT3MlOloHHCB4CblceYs3gDfxB4TeCcxReiwmr6hM3BYB6qHX1NGAA6tlqEKcGYJBa6znUANSz1SBODcAgtdZzqAGoZ6tBnBqAQWqt51ADUM9Wgzg1AIPUWs+hBqCerQZxagAGqbWeQw1APVsN4tQADFJrPYcagHq2GsTpf+KxwJB5Cd5mAAAAAElFTkSuQmCC");',"}",".ew-tree-table tr.ew-tree-table-open > td .ew-tree-icon-folder:after {",' background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAKwElEQVR4Xu2df9AVVRnHP899gUxmYKhsCpJREEeMakSoiGGCbIxSizIJ7i5OksZkMIxQjlOQyOCQ5o/8RWmkMdz7wjDC5I+hcFSKxEENh4YsEwPJAbVQ8AeQL733NPcKyn3v7r17d8/uvfvus//ec57n+3yf7z179uw5zwp6ZZoByXT0GjwqgIyLQAWgAsg4AxkPX0cAFUDGGch4+DoCqAAyzkDGw9cRQAWQcQYyHr6OACqA5hkw63kfr3IyOQZTIte8BUs9OnibEi/isEcEY8lqpswEHgHMGgbSxTyEyRjGIC1MfM8UGQ4CfyLHWp7jbllEKVNZjBBsIAGYAi7CrcCgCL6S6voM4IrDtqQcptlPQwGYAksRrkpVkIZD5JgmeR5IFe4WgK0rAFPkamBRC3BFd2k4AkwSl83RjfVeC74CMCuZSI6NqQ7d8G9KDJOLK3MEvTwY8BdAga0Io3sBa0vEYWEviCOWEDwFYDoZh+HxWDwmb/R18gzSx0Rv4r0FUORa4EfJ5yomj8IEyfNYTNZTbdZbAAU2IJyb6siOB2+4Qlx+3mvisRiInwC2I4yy6Ke1pgw/E5crWwuiPb373QL+BZzcnpBDobpLHGaF6tnLO6kAenmCG4WXFQH8WhwubURGFn/PhgAMD4nLl7KY4EYxZ0MAcBhhqOTZ14iQrP2eFQGU8/ogeb6qC0LVEs+SAMqRL+ctLpdZlRdFeoH32UBTpLc9Br6XbMMuhLUIm+jmzbZSQUdlV9M++rBTpnI4CWxZGwGS4NSWj2eBh4CbxGG3LaM97agA4mLWnt23gZ+yg8VxbHVTAdhLVNyWHqabKbb3NqgA4k6bTfuG+3GYYvNJRgVgM0FJ2DL8QFxutOVKBWCLyaTsGN6gH0NlKq/bcKkCsMFi0jYMs8XlDhtuVQA2WEzahuH34vJlG25VADZYTN7GPnE4yYZbFYANFlth4y362VjSVgG0Ink2fAon2Xi7qQKwkYxW2OglAtiP4QlgN8LLreAxtT4HcL1cwKGo+FsxAnQDv6HEbTKDv0QNQPtHYyBpAZSPm7mSp/ymS682YCA5ARiWMYS5Mon/tUHcCuEoA0kJ4AZx+KGy3n4MJCGA9eJwXqPQzSJyjGAMJU5s1FZ/r8NAH7roYIdM5T9BeIpXAIaXOMKZcgkH/MCYIp8GvgN8A/hQENDaJhADrwG/oy9X1BNDvAIQZkqee+okfwGGa9qq4FQgblPVaC85xsp09nqhjlMAO9nBCK9tTGYjfdhLJ3BRqqhMK1jDdoYw2msCHqcAypsZ53txZoqVo9pz08pnKnEbLhKXe3tij1MAk8VhQ0+HZjWj6GZ7KklMM2jD3eJW5lpVV5wC+IA47K8RQJEVwMVp5jKV2H3OR8YjAMPL4vLRmuSvoYMjvAoMTCWJ6Qa9Vhy+mdQIsEEcJtcIYCWjybE13TymFL2wVPK1dZ/iGgE8S7KYTi7F8KuUUphu2AlPAsu1eose9/9lwPfSzWRq0Q8Xh53J3AI6+IRM4681AiiwBeEzqaUwrcANh8Slvxf8OG4BXezg/T0XgCpr/afxX4S+aeUxtbgNfxCXSUkJYJs4nKXP/20ll5vFYV4yAjCsEJdve9z/y8/+5TUAvZJmwDBDXArJCADmicPNHgLQ5d+kE3/Mn+Hj4vK3ZARg+KK4POIxAdyEMKFVHGTWb/m7Cc9zgl9tgTgmgd5LwAUOIrrZI3EhGraIyzg/v7YFsFcchnhMAE+nm38kHrw6BMMycfl+MgLwObRoikwDVmk+WsCAcJnkWZ6MAOA6cWo/MGUKXI/optAWpB9KnC0zeDoZAQh5ydf+002BhxHOaQkBWXZqKHGQE+odIrU7BxBGSZ7yd/uqLlOsbArVV8DJi9FzUe54GDYF4L0EvIpTKLEr+djVIz67gOIRgOFpcTnb499f3u69VtPREgbmiMPt9TzbHAHuEYeZHgtASxB+3JLws+40x3iZXv/rb/YE4PNhJlNgPWKnnk3W89l0/APo3+gIuT0BwBfEqf3SqCnwCsKHmwavHaIy8Kw4jGxkxKYAapaAzSoGU2JPIxD6ewwMGDrFxWlk2Y4ADHvE5WMe9//zEf2Cd6MkxPJ7wIqidgQAnieATYGfIFwTS4BqtD4DwjmS59FGNNkRgM+WY1Pkt8DXGoHQ32NgoItB9U5lH/NoRwAwXRxWe6wB9N4vj8SQM4smXxCHU4PYsyOADs6Uafz9eIdmDQM54l8XIAg4bROagXXicGGQ3jYE4L0EXOBcpPZwaBBQ2iYiA4YF4la+AN/wsiGAP4vDWI8ngKsQljZEoA3iYOA8cVgfxHB0Afi8cDBF1mgBiCApiKGN8BHJ80oQy9EFAHPF4VaPCeDzwPAgILSNRQYML4nL4KAWowtAmCh5/lg1AXyAE3mDg0FBaDurDASqynbMY3QBQO0S8Eomkqt9L2A1TDXmx8AScVgYlJ6oAnhRHIZ6TADnI9wQFIS2s8rAheKwLqjFqAJ4UBwu8BBAESEfFIS2s8hAjlNlOi8EtRhNAIZrxWWBxwSwvCh0RlAQ2s4SA4YD4jKoGWvRBCB8S/KVx713L6MTwGb4t932UXGa230dTQAlzpAZ1Sd+TIHxCI/ZjkztBWKg6aLcUQTgtwQ8B6ldFwgEXxtFY8DnXEY9o+EFYHhK3Eqh56rLFCu1gWvqA0SLTHsHYkAY2ezHOMILAJaLw2UeAih/BuaTgQBrI3sM1KkDFM8IADV7zs2d9KV/pQ5Qzl5kaikQA4bHxWV8oLbHNYoyAnxeHDZVPQEUGIvwZLMgtL0VBm4XhznNWgovAI8956aTWRh+2SwIbW+BgQbfZvDzEFYAu8XhFI/7/53Ady2EoyaaZ+AscdjWbLdwAjDcL27tZk9T5ClgTLMgtH1EBhrUAYpjEljzxkkLQUZMYrTuW8UJ98cLOwLUfH3CrORT5JofgqLFrb2PMuD5SB6EnXACgNPFYUfVE0Anl5TPowdxqm2sM3C5OPwijNXmBeCz4GCK3AbMDgNC+0RkwDBOXLaEseIngOeAEZ4GDU+Iy2drngAKbEb4XBgQ2icCAwHqADU/CSzwJFK71fuoobvEYVbV8P9OJfA3tRBkhESG7/qMOIwK2917BCiwDuHrPiPAbHG5o0oAqxlJt3ct2rDAtF9ABnyKcwfsjd8tYDH4bCwUJki++n2/KVbOoXtWow4KRNuFZsDzXGZQa34jgP+xLq8l4CI3gnc9+qBAtF0IBgwH6MdgmcrhEL0rXbwFUP68WxevIQyoMmzYJS7DPCaAGxEmhgWh/UIyIMyXPDeF7O0vgPIvpsB1CFf2MH6fOEzxEIBWAo+ShXB915PnfBFMuO7v9PIcASoCWMEH6VNZ7Hlvl6lhsbhc3WMCOJxuysfA9EqKAUO5+P7MeiVgg0LxFUBFBEW+AtwH9DlqsObQgSlWvgBetTM4qHNt1zQD+zEs7PkU1rSV4zrUFcDRW0G50NMtwDBKjJAZ1f92U2ApUlshPAoo7fsuA12YCt+bgXvpxyMylW6b/DQUwDFnZiWn4fLPqPccm+DVVnQGAgsguiu10I4MqADaMSsJYlIBJEh2O7pSAbRjVhLEpAJIkOx2dKUCaMesJIhJBZAg2e3oSgXQjllJEJMKIEGy29GVCqAds5IgJhVAgmS3oysVQDtmJUFM/wdaDlOuM5Eu/AAAAABJRU5ErkJggg==");',"}",".ew-tree-table .ew-tree-icon-file:after {",' background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAJNUlEQVR4Xu2dXYxdVRXHf2tghhYaoba1Qk1owIwmfVBaTKRgQqMPlGjig2nDnDsF0whSnwqJ4SNoU2OLUSNPVDSx2t47hEkxaQMBI1hB/EiE6osYqjGUYPGjCihN6Uy525wzt7UdZu7ZZ87a5949Z52XeVl77bX//9/d52vvM4IdtVZAaj16GzwGQM0hMAAMgJorUPPh2wxgANRcgZoP32YAA6DmCtR8+DYDGADVKuB2s4BB1gMbEYZxLEFYDlxQbSU97+0Ejn8hHMPxR4R9LOZxuZGTVVZW2QzgxlnGBNuBUYSLqhxkNH05jgN7GeIrsoF/VlF3cADcQc7nKHfiuM+M97Q0BUH4GpfxbVnHKc9WcwoLCoBrsRjHYwhr51Rd3Rs5foXwaUl4PZQUwQBwLa4AngZWhiq+JnlfBj4pCX8JMd4gALgxluJ4Hrg8RNE1zHkE4WoZ4Zj22NUBcOMsZILnEFZrF1vrfI5DDHGdbOCEpg76ADTZiXCXZpGWq6OAsFNGuEdTD1UA3B7exwDpdLUgt0jHqwjjwH6EF0NMb7k19DAgO03CKtp8pvNM5AO55TjeZoCVMsLfc2M9A3QBaPEQcGtO328hbOYw+2Qbbc8653WY28YAw3yONrsRLswZ7Pck4TYtQdQAcOMMMckbwMIuxaVPua6VhBe0BjCf8rgWa4Bf5jwVPcEgl8gGJjTGrgfAGDfgeCKnqC2SsEuj8Pmaw7W4HXiw6/iE9TLCkxoa6AHQyopOi5/5cLzCCq4M/WRLQ5Re5ug8Of1z11tox3el0UXrAgPQA6DJQYTru/R9ryTsKFBbbUNdK7vS/3qXH9PPpcE6DYH0AGjxEjA8a1Ft1sgohzSKnu853MNcRburVocl4UMaOugB0MxeYMx+BTt14fKmRtHzPYcb5+LOBfVsp9Pj0mCRhg56ALRw3QqSxPYgFDHMVaSnAVDElQpjDYAKxe7HrgyAfnSlwpoMgArF7seuDIB+dKXCmgyACsXux64MgH50pcKaDIAKxe7HrgyAfnSlwpoMgBnEduO8n0m+j+MahCUV+pHf1dQun18zyBdkA3/Lb9A9wgCYpk9nj8EfEC4tK27Q9o7XGOIjZXf2GADTAWjyQ4Sbg5qnl3yvJGwqk84AePcMkO6VSxdSxnAck4RlZQo1AN4NwF+By8qIWmHbo5Kwokx/BkDcp4A9kpQ7XRkA0wGY2nPw+yguAoVVZTd0GgAz3Qbu5VIGsr0H1wLvLTPFBmj772xJd5vbZJTXyuY3AMoqGHl7AyByA8uWbwCUVTDy9gZA5AaWLd8AKKtg5O0NgMgNLFu+AVBWwcjbGwCRG1i2fAOgrIKRtzcAIjewbPkGQFkFI29vAERuYNnyDYCZXgbZmsAzqmjtto5md7CtCTz3F1E/AGxN4DkE1A+AVvb9fFsT2MGgjgDYmsCz5oD6ARDXKcDWBE6/iC9LbOc7xLYmsK6ngHTcztYE1vc2sOyDldja24Og2BxTrtcAUBY0tnQGQGyOKddrACgLGls6AyA2x5TrNQCUBY0tnQEQm2PK9RoAyoLGls4AiM0x5XoNAGVBY0tnAMTmmHK9BsAMgqp+J1D5u37K/mMATFM02JpApe/6GQCB/8eNC7sgpPR3/QyA0ACEXRNY+rt+BkB4AEKuCSz9XT8DIDQAYU8BpdfwGQChAQj1ncD0IlDhu34GQGAAUoGV1wSqftfPAKgAAG2RQ+Rzu1nAIOuBjQjDOJYgLAcu0Oyv7Crr07VEszdQU7wQudw4y5hgOzCKcFGIPs7OaQCEVtgzvzvI+RzlThz3VWF8p6wJSXRmFJsBPI2eKazzdPIxhLUl0syl6RFJWDmXhtPbGABzVNG1uAJ4GnSMKFSG4zfS4JpCbWYJNgDmoKIbYymO54HL59C8fBPHj6TBLeUTgQFQUEU3zkImeA5hdcGmeuHCRhlhXCOhAVBQRddkJ8JdBZtphr/DIEtkA29qJDUACqjY2aF8BGFBbjPHq0j2K92P8KKMcKxbGzfGKhy/ABbn5N4vCZ/N7d8zwADwFCoNc63sv5XcmtPkLYTNHGafbKPtk76A+dDmwzLKSz55fWIMAB+VUvPHGWKSN4CFXZqcTP+djSS84JmWQuY7xqRB4pvbJ84A8FEpBWCMG3A8kRO+RRJ2eaZMZ5SPAj/zmPbTlEd5h6tkE//wze8TZwD4qDQ1/T8I3D5ruOMVVnClrOOUT8rMfMczCO/JjXdM4vi4jHIoN7ZggAHgKZhrchDh+i7h90rCDp90hcwHB9wiCXt8cheNMQA8FXOt7MJreNbwNmt8fqEFzU/t3ywNfuBZZuEwA8BTMtfkOMKFs4YPcknevblr8jHgKa9pf6qjQtcUnkM5J8wA8FSt7Dr9zHzJLvgWeXYZ3Py0DgPA040yABQ237FVGjzgWVqpME0A/tuVbsfF0uA/partYeO5AtDP5uvOAE3+hPDBWT0aYLXcxO966GGprucCQL+brw3AswifmFVlxz3SYGcpF3rYuCgA7mHW0uYn3ud8x93S4P6qh6h3CmiyC+GLXQAo9KCkaiHy+isCQMf8p3IeG/+/yx6ZrzsDtLgReLyrkI4vSSN7ohbd4QvAHMzfLg2+2itB9GaA9GXJBK93vVeGk7RZ6/PApFeCzNavDwCuxaeAAwV++fdLg7t7OVY1ANJBeL8udXyehEdFssecURx5AAB3AN8EzvMakOMBabDVKzZgkC4AYyynzcveCybgEYQDPgsmAmrgldoDAK88WVCfmK96DXB69K7JNxC+7K9GzSL7yPwwAKSLJid5Fri6Ztb6DHeXJGzxCawqRvUUcGYWmFo2/duerJmvSrni/fSd+UFmgDMQTG2c+Clkf+t+fEeS7CKx744gM8BZEKQrXNPbouv6buTVFHQSx83S4JFquiveS1AAsgvehxhkEXdUvHmyuBL6LZ5hgK39/v4jOABnZoN0+/QkO3DcVOEuWn1bu2V0vA38mPP4Vr8bf3oYlQFwFgjpXcJ6HBshe3u4NMQHFII7ny7UlOy/maYbPtI3oY9yigOyiePB+1bsoHIAFGu3VAoKGAAKIsacwgCI2T2F2g0ABRFjTmEAxOyeQu0GgIKIMacwAGJ2T6F2A0BBxJhTGAAxu6dQuwGgIGLMKf4HAR/hrhUhGSQAAAAASUVORK5CYII=");',"}","</style>"].join(""));s("treeTable",a)}); \ No newline at end of file diff --git a/src/main/webapp/static/layui/lay/modules/xmSelect.js b/src/main/webapp/static/layui/lay/modules/xmSelect.js new file mode 100644 index 0000000..9244d07 --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/xmSelect.js @@ -0,0 +1,8 @@ +/*! + * @Title: xm-select + * @Version: 1.2.2 + * @Description锛氬熀浜巐ayui鐨勫閫夎В鍐虫柟妗� + * @Site: https://gitee.com/maplemei/xm-select + * @Author: maplemei + * @License锛欰pache License 2.0 + */!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="./",n(n.s=213)}({105:function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,o=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(e,t){var r,i=t.trim().replace(/^"(.*)"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(r=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:o+i.replace(/^\.\//,""),"url("+JSON.stringify(r)+")")}))}},213:function(e,t,n){"use strict";n.r(t),function(e){n(215),n(216),n(218);var t=n(41);window.addEventListener("click",(function(){Object.keys(t.b).forEach((function(e){var n=t.b[e];n&&n.closed&&n.closed()}))})),window.addEventListener("scroll",(function(){Object.keys(t.b).forEach((function(e){var n=t.b[e];n&&n.calcPosition&&n.calcPosition()}))})),"object"===("undefined"==typeof exports?"undefined":_typeof(exports))?e.exports=t.c:"function"==typeof define&&n(220)?define(xmSelect):window.layui&&layui.define&&layui.define((function(e){e("xmSelect",t.c)})),window.xmSelect=t.c}.call(this,n(214)(e))},214:function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},215:function(e,t){Array.prototype.map||(Array.prototype.map=function(e,t){var n,o,r,i=Object(this),a=i.length>>>0;for(t&&(n=t),o=new Array(a),r=0;r<a;){var l,s;r in i&&(l=i[r],s=e.call(n,l,r,i),o[r]=s),r++}return o}),Array.prototype.forEach||(Array.prototype.forEach=function(e,t){var n,o;if(null==this)throw new TypeError("this is null or not defined");var r=Object(this),i=r.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(n=t),o=0;o<i;){var a;o in r&&(a=r[o],e.call(n,a,o,r)),o++}}),Array.prototype.filter||(Array.prototype.filter=function(e){if(null==this)throw new TypeError;var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var o=[],r=arguments[1],i=0;i<n;i++)if(i in t){var a=t[i];e.call(r,a,i,t)&&o.push(a)}return o}),Array.prototype.find||(Array.prototype.find=function(e){return e&&(this.filter(e)||[])[0]}),Array.prototype.findIndex||(Array.prototype.findIndex=function(e){for(var t,n=Object(this),o=n.length>>>0,r=arguments[1],i=0;i<o;i++)if(t=n[i],e.call(r,t,i,n))return i;return-1})},216:function(e,t,n){var o=n(217);"string"==typeof o&&(o=[[e.i,o,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n(27)(o,r);o.locals&&(e.exports=o.locals)},217:function(e,t,n){(t=n(26)(!1)).push([e.i,"@-webkit-keyframes xm-upbit {\n from {\n -webkit-transform: translate3d(0, 30px, 0);\n opacity: 0.3;\n }\n to {\n -webkit-transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n}\n@keyframes xm-upbit {\n from {\n transform: translate3d(0, 30px, 0);\n opacity: 0.3;\n }\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n}\n@-webkit-keyframes loader {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes loader {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\nxm-select {\n background-color: #FFF;\n position: relative;\n border: 1px solid #E6E6E6;\n border-radius: 2px;\n display: block;\n width: 100%;\n cursor: pointer;\n outline: none;\n}\nxm-select * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-size: 14px;\n font-weight: 400;\n text-overflow: ellipsis;\n user-select: none;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n}\nxm-select:hover {\n border-color: #C0C4CC;\n}\nxm-select > .xm-tips {\n color: #999999;\n padding: 0 10px;\n position: absolute;\n display: flex;\n height: 100%;\n align-items: center;\n}\nxm-select > .xm-icon {\n display: inline-block;\n overflow: hidden;\n position: absolute;\n width: 0;\n height: 0;\n right: 10px;\n top: 50%;\n margin-top: -3px;\n cursor: pointer;\n border: 6px dashed transparent;\n border-top-color: #C2C2C2;\n border-top-style: solid;\n transition: all 0.3s;\n -webkit-transition: all 0.3s;\n}\nxm-select > .xm-icon-expand {\n margin-top: -9px;\n transform: rotate(180deg);\n}\nxm-select > .xm-label.single-row {\n position: absolute;\n top: 0;\n bottom: 0px;\n left: 0px;\n right: 30px;\n overflow: auto hidden;\n}\nxm-select > .xm-label.single-row .scroll {\n overflow-y: hidden;\n}\nxm-select > .xm-label.single-row .label-content {\n flex-wrap: nowrap;\n white-space: nowrap;\n}\nxm-select > .xm-label.auto-row .label-content {\n flex-wrap: wrap;\n padding-right: 30px !important;\n}\nxm-select > .xm-label.auto-row .xm-label-block > span {\n white-space: unset;\n height: 100%;\n}\nxm-select > .xm-label .scroll .label-content {\n display: flex;\n padding: 3px 10px;\n}\nxm-select > .xm-label .xm-label-block {\n display: flex;\n position: relative;\n padding: 0px 5px;\n margin: 2px 5px 2px 0;\n border-radius: 3px;\n align-items: baseline;\n color: #FFF;\n}\nxm-select > .xm-label .xm-label-block > span {\n display: flex;\n color: #FFF;\n white-space: nowrap;\n}\nxm-select > .xm-label .xm-label-block > i {\n color: #FFF;\n margin-left: 8px;\n font-size: 12px;\n cursor: pointer;\n display: flex;\n}\nxm-select > .xm-label .xm-label-block.disabled {\n background-color: #C2C2C2 !important;\n cursor: no-drop !important;\n}\nxm-select > .xm-label .xm-label-block.disabled > i {\n cursor: no-drop !important;\n}\nxm-select > .xm-body {\n position: absolute;\n left: 0;\n top: 42px;\n padding: 5px 0;\n z-index: 999;\n width: 100%;\n min-width: fit-content;\n border: 1px solid #E6E6E6;\n background-color: #fff;\n border-radius: 2px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);\n animation-name: xm-upbit;\n animation-duration: 0.3s;\n animation-fill-mode: both;\n}\nxm-select > .xm-body .scroll-body {\n overflow-x: hidden;\n overflow-y: auto;\n}\nxm-select > .xm-body .scroll-body::-webkit-scrollbar {\n width: 8px;\n}\nxm-select > .xm-body .scroll-body::-webkit-scrollbar-track {\n -webkit-border-radius: 2em;\n -moz-border-radius: 2em;\n -ms-border-radius: 2em;\n border-radius: 2em;\n background-color: #FFF;\n}\nxm-select > .xm-body .scroll-body::-webkit-scrollbar-thumb {\n -webkit-border-radius: 2em;\n -moz-border-radius: 2em;\n -ms-border-radius: 2em;\n border-radius: 2em;\n background-color: #C2C2C2;\n}\nxm-select > .xm-body.up {\n top: auto;\n bottom: 42px;\n}\nxm-select > .xm-body.relative {\n position: relative;\n display: block !important;\n top: 0;\n box-shadow: none;\n border: none;\n animation-name: none;\n animation-duration: 0;\n min-width: 100%;\n}\nxm-select > .xm-body .xm-group {\n cursor: default;\n}\nxm-select > .xm-body .xm-group-item {\n display: inline-block;\n cursor: pointer;\n padding: 0 10px;\n color: #999;\n font-size: 12px;\n}\nxm-select > .xm-body .xm-option {\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 10px;\n cursor: pointer;\n}\nxm-select > .xm-body .xm-option-icon {\n color: transparent;\n display: flex;\n border: 1px solid #E6E6E6;\n border-radius: 3px;\n justify-content: center;\n align-items: center;\n}\nxm-select > .xm-body .xm-option-icon.xm-custom-icon {\n color: unset;\n border: unset;\n}\nxm-select > .xm-body .xm-option-icon-hidden {\n margin-right: -10px;\n}\nxm-select > .xm-body .xm-option-icon.xm-icon-danx {\n border-radius: 100%;\n}\nxm-select > .xm-body .xm-option-content {\n display: flex;\n position: relative;\n padding-left: 15px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #666;\n width: calc(100% - 20px);\n}\nxm-select > .xm-body .xm-option.hide-icon .xm-option-content {\n padding-left: 0;\n}\nxm-select > .xm-body .xm-option.selected.hide-icon .xm-option-content {\n color: #FFF !important;\n}\nxm-select > .xm-body .xm-option .loader {\n width: 0.8em;\n height: 0.8em;\n margin-right: 6px;\n color: #C2C2C2;\n}\nxm-select > .xm-body .xm-select-empty {\n text-align: center;\n color: #999;\n}\nxm-select > .xm-body .disabled {\n cursor: no-drop;\n}\nxm-select > .xm-body .disabled:hover {\n background-color: #FFF;\n}\nxm-select > .xm-body .disabled .xm-option-icon {\n border-color: #C2C2C2 !important;\n}\nxm-select > .xm-body .disabled .xm-option-content {\n color: #C2C2C2 !important;\n}\nxm-select > .xm-body .disabled.selected > .xm-option-icon {\n color: #C2C2C2 !important;\n}\nxm-select > .xm-body .xm-search {\n background-color: #FFF !important;\n position: relative;\n padding: 0 10px;\n margin-bottom: 5px;\n cursor: pointer;\n}\nxm-select > .xm-body .xm-search > i {\n position: absolute;\n color: #666;\n}\nxm-select > .xm-body .xm-search-input {\n border: none;\n border-bottom: 1px solid #E6E6E6;\n padding-left: 27px;\n cursor: text;\n}\nxm-select > .xm-body .xm-paging {\n padding: 0 10px;\n display: flex;\n margin-top: 5px;\n}\nxm-select > .xm-body .xm-paging > span:first-child {\n border-radius: 2px 0 0 2px;\n}\nxm-select > .xm-body .xm-paging > span:last-child {\n border-radius: 0 2px 2px 0;\n}\nxm-select > .xm-body .xm-paging > span {\n display: flex;\n flex: auto;\n justify-content: center;\n vertical-align: middle;\n margin: 0 -1px 0 0;\n background-color: #fff;\n color: #333;\n font-size: 12px;\n border: 1px solid #e2e2e2;\n flex-wrap: nowrap;\n width: 100%;\n overflow: hidden;\n min-width: 50px;\n}\nxm-select > .xm-body .xm-toolbar {\n padding: 0 10px;\n display: flex;\n margin: -3px 0;\n cursor: default;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag {\n cursor: pointer;\n display: flex;\n margin-right: 20px;\n color: #666;\n align-items: baseline;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag:hover {\n opacity: 0.8;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag:active {\n opacity: 1;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag > i {\n margin-right: 2px;\n font-size: 14px;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag:last-child {\n margin-right: 0;\n}\nxm-select > .xm-body .xm-body-custom {\n line-height: initial;\n cursor: default;\n}\nxm-select > .xm-body .xm-body-custom * {\n box-sizing: initial;\n}\nxm-select > .xm-body .xm-tree {\n position: relative;\n}\nxm-select > .xm-body .xm-tree-icon {\n display: inline-block;\n margin-right: 3px;\n cursor: pointer;\n border: 6px dashed transparent;\n border-left-color: #C2C2C2;\n border-left-style: solid;\n transition: all 0.3s;\n -webkit-transition: all 0.3s;\n z-index: 2;\n visibility: hidden;\n}\nxm-select > .xm-body .xm-tree-icon.expand {\n margin-top: 3px;\n margin-right: 5px;\n margin-left: -2px;\n transform: rotate(90deg);\n}\nxm-select > .xm-body .xm-tree-icon.xm-visible {\n visibility: visible;\n}\nxm-select > .xm-body .xm-tree .left-line {\n position: absolute;\n left: 13px;\n width: 0;\n z-index: 1;\n border-left: 1px dotted #c0c4cc !important;\n}\nxm-select > .xm-body .xm-tree .top-line {\n position: absolute;\n left: 13px;\n height: 0;\n z-index: 1;\n border-top: 1px dotted #c0c4cc !important;\n}\nxm-select > .xm-body .xm-tree .xm-tree-icon + .top-line {\n margin-left: 1px;\n}\nxm-select > .xm-body .scroll-body > .xm-tree > .xm-option > .top-line,\nxm-select > .xm-body .scroll-body > .xm-option > .top-line {\n width: 0 !important;\n}\nxm-select > .xm-body .xm-cascader-box {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n padding: 5px 0;\n border: 1px solid #E6E6E6;\n background-color: #fff;\n border-radius: 2px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);\n margin: -1px;\n}\nxm-select > .xm-body .xm-cascader-box::before {\n content: ' ';\n position: absolute;\n width: 0;\n height: 0;\n border: 6px solid transparent;\n border-right-color: #E6E6E6;\n top: 10px;\n left: -12px;\n}\nxm-select > .xm-body .xm-cascader-box::after {\n content: ' ';\n position: absolute;\n width: 0;\n height: 0;\n border: 6px solid transparent;\n border-right-color: #fff;\n top: 10px;\n left: -11px;\n}\nxm-select > .xm-body .xm-cascader-scroll {\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n}\nxm-select > .xm-body.cascader {\n width: unset;\n min-width: unset;\n}\nxm-select > .xm-body.cascader .xm-option-content {\n padding-left: 8px;\n}\nxm-select > .xm-body.cascader .disabled .xm-right-arrow {\n color: #C2C2C2 !important;\n}\nxm-select .xm-input {\n cursor: pointer;\n border-radius: 2px;\n border-width: 1px;\n border-style: solid;\n border-color: #E6E6E6;\n display: block;\n width: 100%;\n box-sizing: border-box;\n background-color: #FFF;\n line-height: 1.3;\n padding-left: 10px;\n outline: 0;\n user-select: text;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n}\nxm-select .dis {\n display: none;\n}\nxm-select .loading {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(255, 255, 255, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n}\nxm-select .loader {\n border: 0.2em dotted currentcolor;\n border-radius: 50%;\n -webkit-animation: 1s loader linear infinite;\n animation: 1s loader linear infinite;\n display: inline-block;\n width: 1em;\n height: 1em;\n color: inherit;\n vertical-align: middle;\n pointer-events: none;\n}\nxm-select .xm-select-default {\n position: absolute;\n width: 100%;\n height: 100%;\n border: none;\n visibility: hidden;\n}\nxm-select .xm-select-disabled {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n cursor: no-drop;\n z-index: 2;\n opacity: 0.3;\n background-color: #FFF;\n}\nxm-select .item--divided {\n border-top: 1px solid #ebeef5;\n width: calc(100% - 20px);\n cursor: initial;\n}\nxm-select .xm-right-arrow {\n position: absolute;\n color: #666;\n right: 5px;\n top: -1px;\n font-weight: 700;\n transform: scale(0.6, 1);\n}\nxm-select .xm-right-arrow::after {\n content: '>';\n}\nxm-select[size='large'] {\n min-height: 40px;\n line-height: 40px;\n}\nxm-select[size='large'] .xm-input {\n height: 40px;\n}\nxm-select[size='large'] .xm-label .scroll .label-content {\n line-height: 34px;\n}\nxm-select[size='large'] .xm-label .xm-label-block {\n height: 30px;\n line-height: 30px;\n}\nxm-select[size='large'] .xm-body .xm-option .xm-option-icon {\n height: 20px;\n width: 20px;\n font-size: 20px;\n}\nxm-select[size='large'] .xm-paging > span {\n height: 34px;\n line-height: 34px;\n}\nxm-select[size='large'] .xm-tree .left-line {\n height: 100%;\n bottom: 20px;\n}\nxm-select[size='large'] .xm-tree .left-line-group {\n height: calc(100% - 40px);\n}\nxm-select[size='large'] .xm-tree .xm-tree-icon.xm-hidden + .top-line {\n top: 19px;\n}\nxm-select[size='large'] .item--divided {\n margin: 10px;\n}\nxm-select {\n min-height: 36px;\n line-height: 36px;\n}\nxm-select .xm-input {\n height: 36px;\n}\nxm-select .xm-label .scroll .label-content {\n line-height: 30px;\n}\nxm-select .xm-label .xm-label-block {\n height: 26px;\n line-height: 26px;\n}\nxm-select .xm-body .xm-option .xm-option-icon {\n height: 18px;\n width: 18px;\n font-size: 18px;\n}\nxm-select .xm-paging > span {\n height: 30px;\n line-height: 30px;\n}\nxm-select .xm-tree .left-line {\n height: 100%;\n bottom: 18px;\n}\nxm-select .xm-tree .left-line-group {\n height: calc(100% - 36px);\n}\nxm-select .xm-tree .xm-tree-icon.xm-hidden + .top-line {\n top: 17px;\n}\nxm-select .item--divided {\n margin: 9px;\n}\nxm-select[size='small'] {\n min-height: 32px;\n line-height: 32px;\n}\nxm-select[size='small'] .xm-input {\n height: 32px;\n}\nxm-select[size='small'] .xm-label .scroll .label-content {\n line-height: 26px;\n}\nxm-select[size='small'] .xm-label .xm-label-block {\n height: 22px;\n line-height: 22px;\n}\nxm-select[size='small'] .xm-body .xm-option .xm-option-icon {\n height: 16px;\n width: 16px;\n font-size: 16px;\n}\nxm-select[size='small'] .xm-paging > span {\n height: 26px;\n line-height: 26px;\n}\nxm-select[size='small'] .xm-tree .left-line {\n height: 100%;\n bottom: 16px;\n}\nxm-select[size='small'] .xm-tree .left-line-group {\n height: calc(100% - 32px);\n}\nxm-select[size='small'] .xm-tree .xm-tree-icon.xm-hidden + .top-line {\n top: 15px;\n}\nxm-select[size='small'] .item--divided {\n margin: 8px;\n}\nxm-select[size='mini'] {\n min-height: 28px;\n line-height: 28px;\n}\nxm-select[size='mini'] .xm-input {\n height: 28px;\n}\nxm-select[size='mini'] .xm-label .scroll .label-content {\n line-height: 22px;\n}\nxm-select[size='mini'] .xm-label .xm-label-block {\n height: 18px;\n line-height: 18px;\n}\nxm-select[size='mini'] .xm-body .xm-option .xm-option-icon {\n height: 14px;\n width: 14px;\n font-size: 14px;\n}\nxm-select[size='mini'] .xm-paging > span {\n height: 22px;\n line-height: 22px;\n}\nxm-select[size='mini'] .xm-tree .left-line {\n height: 100%;\n bottom: 14px;\n}\nxm-select[size='mini'] .xm-tree .left-line-group {\n height: calc(100% - 28px);\n}\nxm-select[size='mini'] .xm-tree .xm-tree-icon.xm-hidden + .top-line {\n top: 13px;\n}\nxm-select[size='mini'] .item--divided {\n margin: 7px;\n}\n.layui-form-pane xm-select {\n margin: -1px -1px -1px 0;\n}\n",""]),e.exports=t},218:function(e,t,n){var o=n(219);"string"==typeof o&&(o=[[e.i,o,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n(27)(o,r);o.locals&&(e.exports=o.locals)},219:function(e,t,n){(t=n(26)(!1)).push([e.i,'@font-face {\n font-family: "xm-iconfont";\n src: url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.eot?t=1574048839056\');\n /* IE9 */\n src: url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.eot?t=1574048839056#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */ url(\'data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAksAAsAAAAAEYAAAAjeAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCEUgqTXI8lATYCJAM0CxwABCAFhG0HgTwbZQ4jEbaCkVIj+4sD3sS6BFAp9ka91ulVG4leTC/+h+3V+zyRYCTyREKkcZ+D5/u137lPdveLGJBMunoiNPOQPBMq0/FQtEKIkMRDZng69d+hOiQumAr7bJdBOEzMTU77s78mhbI58aCg7ebCs4LBTgCk+cD/4ZqWUHebipp7al3tyKOjwCV/hVyw9PdzaktxI7IMQs26/1N8gV4DI0bVut3UhCaflGGgwM3oTXg1IfRMbCsmrEnriJVeYM2eXHII4KdMMzL4OoACHgZBCTasITcReDUBE8kWPLMTCGoQaDV+eKpUPQI49r8vP6BTPIDCaiBSml3oOQX0voNPebv/u2P0AUfP1w0s5EADzYBZsNdByylo2eVq/NtRdgFpovQR5x2CIwmIZeik6/u0T/m/A7RJP00sCmmyksj/kwc+LC5BFBqDEMDDjwPiANDB9MpJTXwHmsO3YyBwWDA4OFwwJLRcRgAOBUYMDg0mHRwGTAYozsV0AgWYruDwwExDHfzwKWf4OurQ9jzQDtoF+wpistfBfluQ5bQiiJa4ZQoKhShLiMayBbyg05AIkYBoIBJEEApQy/FwYv4HchADIUBXl61dW6mpwIgyp7p8PrHddieSjhY9oqTxyPB/FGNYDklpfYh8VtaoqSgb0bKoGB17CuVUp9Ll2nS2UpNGMSw9hyirA7C6+QLyByIQS0sSSmxvArC5odZmYZMxZSiBR5OkQl0uiufxMH5eL8t3u0d4XKyuq6EMdcpNe2+oXA8p9yPa+4T1PM7+A54tc7tpl2vcAHAftnhZj2chy1CyaCRFsyMqQ5nkNnskEt2yxxZinPsOZjFm4+XWvKqLkfCGS1k4MNP82isxSMf7ZsGYvQVCNAeSSVtzWCxRdXGxyZlA2CvCEevuO7y9M2z2NWH8icydzq/qAJSp1lGvDWFp6Nw3xChJowPD+76nU+upQk6Kw9jI0Rgym9Ct8VlxMI3CSIaDCZja5tDYt0/EYra4tn0Kp3v8Rdezk8svcy1mKhoSvNcZz3LKlUe777Gmval0s7bzAc0k13LGk896V9DuvNn34N0ebKgItkQgOomuJtgQPChNI4cwa7CEWCvfk5QjJFlem6i3SfVShWi5LTFRG+JwdCNpSqbpRFwrtb1TbcRkJi/AbJJQOmfCdnswLNGVM7qqSRO1zO0Q0j5Vr3cYQ07HB0MX6KoIZhx+D9Djs2C5bXtVwvbgJHtSCIL7hjFJme4sZDdS5IlJdKUO1Qt8opn0trBafz3AX933kmCRgyMEWGZjMAkRKhwmIHJGR4ruwFCdWKYzrap2R/mvd2UKajzRAZu88pGAD90Y+02kTFCKrBSXwGGJ3wRcPCdIppTxSmHOfESRwIli0S5J/8AYDCxTGh4XZua4xvfvGx320rDK2qA8g5FlS7pWNLx71+BwgA/KZ5I0aeKmNeCNoNPl8qNHu8uHHzqaKc86fHi4vPuRI4ny+I/vjxw+clh4HXVCFvVnVFx07EHZwVhSRliTTMWSEi0h6YuS6DxCRmiin0B3L4ry6cvR0ijYexFdBL3wGQM0YOrUAZCBkLOBBtQ+xdk7omfgUv+u++admyUeXduyxLM+r/+49rPfhgEZor6GymToNYksNsZyC7ntwAH0928UpgMpxpF0ydNlsMMBw7QsxTCmu0Hf3F+/+vb99Yumhb+e9R0LBNm+4O+hu7lQ5bGjI9j5G88qQ5SLFyuEC7cwd25xoYo2j4eA4bhpM7TZhPtmc+uhVEVSMYXLWh0bfjI8dvUpvDUocPZmU4kwwOfc83wB5wPehrpD3waApbwW+fgRrZXcxw+mB/3woZT+8JFMYwRMIy2k/18qhqcKpjYeYSnIACaUoRDu0e3kQFh98R5fiI8oJqwwGZSJDSbehLzZs7zIeWTQ4UGOIs2c4j2/Q/tn7n7j9juO33On6WhURCT/wO6Y3QdmWFY0Ef6JUeGRggO7ZbtaZlh5RYKWXbLPBLc3l/5h4A0mu3ZXTZ+u6t6VHMAzZhxak50T+24NnRuaOmehRkXlqVR5lIpuwezUUDUdCuJysv8Z/0/8uNE1s7jIJIubFWnI/x7g4nAZx79yYpFoAOU3a9iwT1O/GxUxPY0ljVPv9EukI3qNrl/So2YfzasqHCroNjS0+w0tlPlsYfC6v/01ixquizJH1Kd/VK+OS3iS3rTJWmqsMPdU3B3oFyC9RSumWE/0gG36IjTysfH51IJ/5oOgNYu6p4yb5Fdufhr/Kjtu0oSyYP/WJQrz35aNFnMhtFcwb55NlNnH8Wdu1b+XZA9zqlZrhdPo/V3uBhiUlQ66h0LhbAmFYIncdFOpVMh6Fl7peqy5Z2ZdQBITO2x1Asj1dRFjIBMC3hbuUh8Ooc4W03EjAdo8UL/t0oUfyU8630bmMcw/vqDNAsC9BQD4OqCgH+ljy0UhJB8AAJA+8EmArxk5gnRLik90AElf8rBm+IMvBTWnucb3+0o0ARk+r0ZBv8sU01nnSmP45/H8Dp8C8X+iE9e+ZvXymK/sQJ5/DuqhYKebPnKmPqLYuDcIMWS2/Rjxp2s8Do821LVn6A/xMK1RKvBLK5gyDsZ5uQ6bYusmx2yqLFe4lECHDPcFhojmckuAbnCI6Cn308RI6AAJdtCICQLQyBHKhSgX5YowN6BBPIEB8VxuSfNncpAuutzPnCSiDHDEo+DsKQBPoJi4MpRktepIs2zjO5h84IEMM3ffECKSZU1ZHxfewEI4h494MuuUNNOBjuw18QKHAzEXaAcylS3m3baq9MpnKenYmfEUgCdbXTHEtTVKsvruNGv9/DuYfOAhcuKu9TeEiA9nNJTUDOUbbVkn3sv2eDJrEnVrpvcHOjJeqRsOcpYYLuxoBzKVtCOm3ZaKbtJcurw+e/zN6c7Pd6r4gqUo0WLEiiOueOITvwQkKCEJM9nO3F60y5HkqLhdqUyXZtK3lqwReQ+G40O92UhOt0x/KmKM+u7LTPMzoEBOCYtiUPfSjODiuFXjSDm2idzAoc4Tj9bs2eJYDOU7HQA=\') format(\'woff2\'), url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.woff?t=1574048839056\') format(\'woff\'), url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.ttf?t=1574048839056\') format(\'truetype\'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ url(\'//at.alicdn.com/t/font_792691_ptvyboo0bno.svg?t=1574048839056#iconfont\') format(\'svg\');\n /* iOS 4.1- */\n}\n.xm-iconfont {\n font-family: "xm-iconfont" !important;\n font-size: 16px;\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.xm-icon-quanxuan:before {\n content: "\\e62c";\n}\n.xm-icon-caidan:before {\n content: "\\e610";\n}\n.xm-icon-fanxuan:before {\n content: "\\e837";\n}\n.xm-icon-pifu:before {\n content: "\\e668";\n}\n.xm-icon-qingkong:before {\n content: "\\e63e";\n}\n.xm-icon-sousuo:before {\n content: "\\e600";\n}\n.xm-icon-danx:before {\n content: "\\e62b";\n}\n.xm-icon-duox:before {\n content: "\\e613";\n}\n.xm-icon-close:before {\n content: "\\e601";\n}\n.xm-icon-expand:before {\n content: "\\e641";\n}\n.xm-icon-banxuan:before {\n content: "\\e60d";\n}\n',""]),e.exports=t},220:function(e,t){(function(t){e.exports=t}).call(this,{})},26:function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",o=e[3];if(!o)return n;if(t&&"function"==typeof btoa){var r=function(e){var t=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(t);return"/*# ".concat(n," */")}(o),i=o.sources.map((function(e){return"/*# sourceURL=".concat(o.sourceRoot||"").concat(e," */")}));return[n].concat(i).concat([r]).join("\n")}return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,o){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(o)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(r[a]=!0)}for(var l=0;l<e.length;l++){var s=[].concat(e[l]);o&&r[s[0]]||(n&&(s[2]?s[2]="".concat(n," and ").concat(s[2]):s[2]=n),t.push(s))}},t}},27:function(e,t,n){var o,r,i={},a=(o=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===r&&(r=o.apply(this,arguments)),r}),l=function(e,t){return t?t.querySelector(e):document.querySelector(e)},s=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var o=l.call(this,e,n);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}t[e]=o}return t[e]}}(),c=null,u=0,p=[],f=n(105);function d(e,t){for(var n=0;n<e.length;n++){var o=e[n],r=i[o.id];if(r){r.refs++;for(var a=0;a<r.parts.length;a++)r.parts[a](o.parts[a]);for(;a<o.parts.length;a++)r.parts.push(v(o.parts[a],t))}else{var l=[];for(a=0;a<o.parts.length;a++)l.push(v(o.parts[a],t));i[o.id]={id:o.id,refs:1,parts:l}}}}function h(e,t){for(var n=[],o={},r=0;r<e.length;r++){var i=e[r],a=t.base?i[0]+t.base:i[0],l={css:i[1],media:i[2],sourceMap:i[3]};o[a]?o[a].parts.push(l):n.push(o[a]={id:a,parts:[l]})}return n}function m(e,t){var n=s(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var o=p[p.length-1];if("top"===e.insertAt)o?o.nextSibling?n.insertBefore(t,o.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),p.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var r=s(e.insertAt.before,n);n.insertBefore(t,r)}}function b(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=p.indexOf(e);t>=0&&p.splice(t,1)}function y(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var o=function(){0;return n.nc}();o&&(e.attrs.nonce=o)}return x(t,e.attrs),m(e,t),t}function x(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function v(e,t){var n,o,r,i;if(t.transform&&e.css){if(!(i="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=i}if(t.singleton){var a=u++;n=c||(c=y(t)),o=w.bind(null,n,a,!1),r=w.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",x(t,e.attrs),m(e,t),t}(t),o=C.bind(null,n,t),r=function(){b(n),n.href&&URL.revokeObjectURL(n.href)}):(n=y(t),o=k.bind(null,n),r=function(){b(n)});return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return d(n,t),function(e){for(var o=[],r=0;r<n.length;r++){var a=n[r];(l=i[a.id]).refs--,o.push(l)}e&&d(h(e,t),t);for(r=0;r<o.length;r++){var l;if(0===(l=o[r]).refs){for(var s=0;s<l.parts.length;s++)l.parts[s]();delete i[l.id]}}}};var g,_=(g=[],function(e,t){return g[e]=t,g.filter(Boolean).join("\n")});function w(e,t,n,o){var r=n?"":o.css;if(e.styleSheet)e.styleSheet.cssText=_(t,r);else{var i=document.createTextNode(r),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(i,a[t]):e.appendChild(i)}}function k(e,t){var n=t.css,o=t.media;if(o&&e.setAttribute("media",o),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function C(e,t,n){var o=n.css,r=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||i)&&(o=f(o)),r&&(o+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var a=new Blob([o],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(a),l&&URL.revokeObjectURL(l)}},36:function(e){e.exports=JSON.parse('{"a":"xm-select","b":"1.2.2","c":"https://maplemei.gitee.io/xm-select"}')},41:function(e,t,n){"use strict";n.d(t,"b",(function(){return at})),n.d(t,"d",(function(){return lt})),n.d(t,"a",(function(){return st}));var o=n(36);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function s(e){return e.nodeType?e:document.querySelector(e)}function c(){for(var e=[],t=0;t<arguments.length;t++)e.push("".concat(t+1,". ").concat(arguments[t]));console.warn(e.join("\n"))}function u(e){return"[object Array]"==Object.prototype.toString.call(e)}function p(e){return"[object Function]"==Object.prototype.toString.call(e)}function f(e,t){var n;for(n in t)e[n]=e[n]&&"[object Object]"===e[n].toString()&&t[n]&&"[object Object]"===t[n].toString()?f(e[n],t[n]):e[n]=t[n];return e}function d(e,t,n){for(var o=n.value,r=a(t),i=function(n){var i=e[n];t.find((function(e){return e[o]==i[o]}))||r.push(i)},l=0;l<e.length;l++)i(l);return r}function h(e,t,n,o){if(e&&u(e)){var r=o.children,i=o.selected,a=o.value;e.forEach((function(e){e.__node[i]||t.find((function(t){return t[a]===e[a]}))?n.push(e):h(e[r],t,n,o)}))}}function m(e,t,n){if(e&&u(e))return e.map((function(e){return e=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e),n.forEach((function(t){return delete e[t]})),e[t]=m(e[t],t,n),e}))}var b,y,x,v,g,_={},w=[],k=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function C(e,t){for(var n in t)e[n]=t[n];return e}function O(e){var t=e.parentNode;t&&t.removeChild(e)}function S(e,t,n){var o,r=arguments,i={};for(o in t)"key"!==o&&"ref"!==o&&(i[o]=t[o]);if(arguments.length>3)for(n=[n],o=3;o<arguments.length;o++)n.push(r[o]);if(null!=n&&(i.children=n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===i[o]&&(i[o]=e.defaultProps[o]);return j(e,i,t&&t.key,t&&t.ref,null)}function j(e,t,n,o,r){var i={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:r};return null==r&&(i.__v=i),b.vnode&&b.vnode(i),i}function E(e){return e.children}function A(e,t){this.props=e,this.context=t}function R(e,t){if(null==t)return e.__?R(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?R(e):null}function P(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return P(e)}}function I(e){(!e.__d&&(e.__d=!0)&&y.push(e)&&!D.__r++||v!==b.debounceRendering)&&((v=b.debounceRendering)||x)(D)}function D(){for(var e;D.__r=y.length;)e=y.sort((function(e,t){return e.__v.__b-t.__v.__b})),y=[],e.some((function(e){var t,n,o,r,i,a,l;e.__d&&(a=(i=(t=e).__v).__e,(l=t.__P)&&(n=[],(o=C({},i)).__v=o,r=U(l,i,o,t.__n,void 0!==l.ownerSVGElement,null,n,null==a?R(i):a),B(n,i),r!=a&&P(i)))}))}function M(e,t,n,o,r,i,a,l,s,c){var u,p,f,d,h,m,b,y=o&&o.__k||w,x=y.length;for(s==_&&(s=null!=a?a[0]:x?R(o,0):null),n.__k=[],u=0;u<t.length;u++)if(null!=(d=n.__k[u]=null==(d=t[u])||"boolean"==typeof d?null:"string"==typeof d||"number"==typeof d?j(null,d,null,null,d):Array.isArray(d)?j(E,{children:d},null,null,null):null!=d.__e||null!=d.__c?j(d.type,d.props,d.key,null,d.__v):d)){if(d.__=n,d.__b=n.__b+1,null===(f=y[u])||f&&d.key==f.key&&d.type===f.type)y[u]=void 0;else for(p=0;p<x;p++){if((f=y[p])&&d.key==f.key&&d.type===f.type){y[p]=void 0;break}f=null}h=U(e,d,f=f||_,r,i,a,l,s,c),(p=d.ref)&&f.ref!=p&&(b||(b=[]),f.ref&&b.push(f.ref,null,d),b.push(p,d.__c||h,d)),null!=h?(null==m&&(m=h),s=T(e,d,f,y,a,h,s),"option"==n.type?e.value="":"function"==typeof n.type&&(n.__d=s)):s&&f.__e==s&&s.parentNode!=e&&(s=R(f))}if(n.__e=m,null!=a&&"function"!=typeof n.type)for(u=a.length;u--;)null!=a[u]&&O(a[u]);for(u=x;u--;)null!=y[u]&&H(y[u],y[u]);if(b)for(u=0;u<b.length;u++)K(b[u],b[++u],b[++u])}function T(e,t,n,o,r,i,a){var l,s,c;if(void 0!==t.__d)l=t.__d,t.__d=void 0;else if(r==n||i!=a||null==i.parentNode)e:if(null==a||a.parentNode!==e)e.appendChild(i),l=null;else{for(s=a,c=0;(s=s.nextSibling)&&c<o.length;c+=2)if(s==i)break e;e.insertBefore(i,a),l=a}return void 0!==l?l:i.nextSibling}function z(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]="number"==typeof n&&!1===k.test(t)?n+"px":null==n?"":n}function L(e,t,n,o,r){var i,a,l,s,c;if(r?"className"===t&&(t="class"):"class"===t&&(t="className"),"style"===t)if(i=e.style,"string"==typeof n)i.cssText=n;else{if("string"==typeof o&&(i.cssText="",o=null),o)for(s in o)n&&s in n||z(i,s,"");if(n)for(c in n)o&&n[c]===o[c]||z(i,c,n[c])}else"o"===t[0]&&"n"===t[1]?(a=t!==(t=t.replace(/Capture$/,"")),l=t.toLowerCase(),t=(l in e?l:t).slice(2),n?(o||e.addEventListener(t,V,a),(e.l||(e.l={}))[t]=n):e.removeEventListener(t,V,a)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&!r&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(t!==(t=t.replace(/^xlink:?/,""))?null==n||!1===n?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),n):null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function V(e){this.l[e.type](b.event?b.event(e):e)}function F(e,t,n){var o,r;for(o=0;o<e.__k.length;o++)(r=e.__k[o])&&(r.__=e,r.__e&&("function"==typeof r.type&&r.__k.length>1&&F(r,t,n),t=T(n,r,r,e.__k,null,r.__e,t),"function"==typeof e.type&&(e.__d=t)))}function U(e,t,n,o,r,i,a,l,s){var c,u,p,f,d,h,m,y,x,v,g,_=t.type;if(void 0!==t.constructor)return null;(c=b.__b)&&c(t);try{e:if("function"==typeof _){if(y=t.props,x=(c=_.contextType)&&o[c.__c],v=c?x?x.props.value:c.__:o,n.__c?m=(u=t.__c=n.__c).__=u.__E:("prototype"in _&&_.prototype.render?t.__c=u=new _(y,v):(t.__c=u=new A(y,v),u.constructor=_,u.render=q),x&&x.sub(u),u.props=y,u.state||(u.state={}),u.context=v,u.__n=o,p=u.__d=!0,u.__h=[]),null==u.__s&&(u.__s=u.state),null!=_.getDerivedStateFromProps&&(u.__s==u.state&&(u.__s=C({},u.__s)),C(u.__s,_.getDerivedStateFromProps(y,u.__s))),f=u.props,d=u.state,p)null==_.getDerivedStateFromProps&&null!=u.componentWillMount&&u.componentWillMount(),null!=u.componentDidMount&&u.__h.push(u.componentDidMount);else{if(null==_.getDerivedStateFromProps&&y!==f&&null!=u.componentWillReceiveProps&&u.componentWillReceiveProps(y,v),!u.__e&&null!=u.shouldComponentUpdate&&!1===u.shouldComponentUpdate(y,u.__s,v)||t.__v===n.__v){u.props=y,u.state=u.__s,t.__v!==n.__v&&(u.__d=!1),u.__v=t,t.__e=n.__e,t.__k=n.__k,u.__h.length&&a.push(u),F(t,l,e);break e}null!=u.componentWillUpdate&&u.componentWillUpdate(y,u.__s,v),null!=u.componentDidUpdate&&u.__h.push((function(){u.componentDidUpdate(f,d,h)}))}u.context=v,u.props=y,u.state=u.__s,(c=b.__r)&&c(t),u.__d=!1,u.__v=t,u.__P=e,c=u.render(u.props,u.state,u.context),u.state=u.__s,null!=u.getChildContext&&(o=C(C({},o),u.getChildContext())),p||null==u.getSnapshotBeforeUpdate||(h=u.getSnapshotBeforeUpdate(f,d)),g=null!=c&&c.type==E&&null==c.key?c.props.children:c,M(e,Array.isArray(g)?g:[g],t,n,o,r,i,a,l,s),u.base=t.__e,u.__h.length&&a.push(u),m&&(u.__E=u.__=null),u.__e=!1}else null==i&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=N(n.__e,t,n,o,r,i,a,s);(c=b.diffed)&&c(t)}catch(e){t.__v=null,b.__e(e,t,n)}return t.__e}function B(e,t){b.__c&&b.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){b.__e(e,t.__v)}}))}function N(e,t,n,o,r,i,a,l){var s,c,u,p,f,d=n.props,h=t.props;if(r="svg"===t.type||r,null!=i)for(s=0;s<i.length;s++)if(null!=(c=i[s])&&((null===t.type?3===c.nodeType:c.localName===t.type)||e==c)){e=c,i[s]=null;break}if(null==e){if(null===t.type)return document.createTextNode(h);e=r?document.createElementNS("http://www.w3.org/2000/svg",t.type):document.createElement(t.type,h.is&&{is:h.is}),i=null,l=!1}if(null===t.type)d!==h&&e.data!=h&&(e.data=h);else{if(null!=i&&(i=w.slice.call(e.childNodes)),u=(d=n.props||_).dangerouslySetInnerHTML,p=h.dangerouslySetInnerHTML,!l){if(null!=i)for(d={},f=0;f<e.attributes.length;f++)d[e.attributes[f].name]=e.attributes[f].value;(p||u)&&(p&&u&&p.__html==u.__html||(e.innerHTML=p&&p.__html||""))}(function(e,t,n,o,r){var i;for(i in n)"children"===i||"key"===i||i in t||L(e,i,null,n[i],o);for(i in t)r&&"function"!=typeof t[i]||"children"===i||"key"===i||"value"===i||"checked"===i||n[i]===t[i]||L(e,i,t[i],n[i],o)})(e,h,d,r,l),p?t.__k=[]:(s=t.props.children,M(e,Array.isArray(s)?s:[s],t,n,o,"foreignObject"!==t.type&&r,i,a,_,l)),l||("value"in h&&void 0!==(s=h.value)&&s!==e.value&&L(e,"value",s,d.value,!1),"checked"in h&&void 0!==(s=h.checked)&&s!==e.checked&&L(e,"checked",s,d.checked,!1))}return e}function K(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){b.__e(e,n)}}function H(e,t,n){var o,r,i;if(b.unmount&&b.unmount(e),(o=e.ref)&&(o.current&&o.current!==e.__e||K(o,null,t)),n||"function"==typeof e.type||(n=null!=(r=e.__e)),e.__e=e.__d=void 0,null!=(o=e.__c)){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(e){b.__e(e,t)}o.base=o.__P=null}if(o=e.__k)for(i=0;i<o.length;i++)o[i]&&H(o[i],t,n);null!=r&&O(r)}function q(e,t,n){return this.constructor(e,n)}function Y(e,t,n){var o,r,i;b.__&&b.__(e,t),r=(o=n===g)?null:n&&n.__k||t.__k,e=S(E,null,[e]),i=[],U(t,(o?t:n||t).__k=e,r||_,_,void 0!==t.ownerSVGElement,n&&!o?[n]:r?null:t.childNodes.length?w.slice.call(t.childNodes):null,i,n||_,o),B(i,e)}function Z(e){return(Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Q(e){return function(e){if(Array.isArray(e))return J(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return J(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return J(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function W(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function G(e,t){return(G=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function X(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=ee(e);if(t){var r=ee(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return $(this,n)}}function $(e,t){return!t||"object"!==Z(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ee(e){return(ee=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}b={__e:function(e,t){for(var n,o;t=t.__;)if((n=t.__c)&&!n.__)try{if(n.constructor&&null!=n.constructor.getDerivedStateFromError&&(o=!0,n.setState(n.constructor.getDerivedStateFromError(e))),null!=n.componentDidCatch&&(o=!0,n.componentDidCatch(e)),o)return I(n.__E=n)}catch(t){e=t}throw e}},A.prototype.setState=function(e,t){var n;n=this.__s!==this.state?this.__s:this.__s=C({},this.state),"function"==typeof e&&(e=e(n,this.props)),e&&C(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),I(this))},A.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),I(this))},A.prototype.render=E,y=[],x="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,D.__r=0,g=_;var te=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&G(e,t)}(i,e);var t,n,o,r=X(i);function i(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),r.call(this,e)}return t=i,(n=[{key:"iconClick",value:function(e,t,n,o){this.props.ck(e,t,n,!0),o.stopPropagation()}},{key:"scrollFunc",value:function(e){if(0==e.wheelDeltaX){for(var t=this.labelRef.getElementsByClassName("xm-label-block"),n=10,o=0;o<t.length;o++)n+=t[o].getBoundingClientRect().width+5;var r=this.labelRef.getBoundingClientRect().width,i=n>r?n-r:r,a=this.labelRef.scrollLeft+e.deltaY;a<0&&(a=0),a>i&&(a=i),this.labelRef.scrollLeft=a}}},{key:"blur",value:function(){var e=this.base.querySelector(".label-search-input");e&&e.blur()}},{key:"componentDidMount",value:function(){this.labelRef.addEventListener&&this.labelRef.addEventListener("DOMMouseScroll",this.scrollFunc.bind(this),!1),this.labelRef.attachEvent&&this.labelRef.attachEvent("onmousewheel",this.scrollFunc.bind(this)),this.labelRef.onmousewheel=this.scrollFunc.bind(this)}},{key:"render",value:function(e){var t=this,n=e.data,o=e.prop,r=e.theme,i=e.model,a=e.sels,l=e.autoRow,s=e.tree,c=o.name,u=o.disabled,f=i.label,d=f.type,m=f[d],b=a;s.show&&s.strict&&s.simple&&h(n,a,b=[],o);var y="",x=!0,v=b.map((function(e){return e[c]})).join(",");if("text"===d)y=b.map((function(e){return"".concat(m.left).concat(e[c]).concat(m.right)})).join(m.separator);else if("block"===d){x=!1;var g=Q(b),_={backgroundColor:r.color},w=m.showCount<=0?g.length:m.showCount;y=g.splice(0,w).map((function(e){var n={width:m.showIcon?"calc(100% - 20px)":"100%"};return S("div",{class:["xm-label-block",e[u]?"disabled":""].join(" "),style:_},m.template&&p(m.template)?S("span",{style:n,dangerouslySetInnerHTML:{__html:m.template(e,g)}}):S("span",{style:n},e[c]),m.showIcon&&S("i",{class:"xm-iconfont xm-icon-close",onClick:t.iconClick.bind(t,e,!0,e[u])}))})),g.length&&y.push(S("div",{class:"xm-label-block",style:_},"+ ",g.length))}else if("search"==d){x=!1;var k="";b.length&&(k=b[0][c]),y=S("input",{class:"label-search-input",type:"text",placeholder:e.searchTips,style:{width:"100%",border:"none"},value:k,onInput:function(e){t.props.onReset(e,"labelSearch")},onCompositionstart:function(e){t.props.onReset(e,"labelSearch")},compositionupdate:function(e){t.props.onReset(e,"labelSearch")},compositionend:function(e){t.props.onReset(e,"labelSearch")},onClick:function(e){e.stopPropagation()}})}else y=b.length&&m&&m.template?m.template(n,b):b.map((function(e){return e[c]})).join(",");return S("div",{class:["xm-label",l?"auto-row":"single-row"].join(" ")},S("div",{class:"scroll",ref:function(e){return t.labelRef=e}},x?S("div",{class:"label-content",dangerouslySetInnerHTML:{__html:y}}):S("div",{class:"label-content",title:v},y)))}}])&&W(t.prototype,n),o&&W(t,o),i}(A);function ne(e){return(ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(n),!0).forEach((function(t){ie(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ae(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function le(e,t){return(le=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function se(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=ue(e);if(t){var r=ue(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return ce(this,n)}}function ce(e,t){return!t||"object"!==ne(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ue(e){return(ue=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var pe={},fe=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&le(e,t)}(i,e);var t,n,o,r=se(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=r.call(this,e)).setState({filterValue:"",remote:!0,loading:!1,pageIndex:1,totalSize:0,val:pe}),t.searchCid=0,t.inputOver=!0,t.__value="",t.tempData=[],t.size=0,t}return t=i,(n=[{key:"optionClick",value:function(e,t,n,o){this.props.ck(e,t,n),this.focus(),this.blockClick(o)}},{key:"groupClick",value:function(e,t){var n=this.props.prop,o=n.click,r=n.children,i=n.disabled,a=e[o],l=e[r].filter((function(e){return!e[i]}));"SELECT"===a?this.props.onReset(l,"append"):"CLEAR"===a?this.props.onReset(l,"delete"):"AUTO"===a?this.props.onReset(l,"auto"):p(a)&&a(e),this.focus(),this.blockClick(t)}},{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"pagePrevClick",value:function(){arguments.length>0&&void 0!==arguments[0]||this.size;var e=this.state.pageIndex;e<=1||(this.changePageIndex(e-1),this.props.pageRemote&&this.postData(e-1,!0))}},{key:"pageNextClick",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.size,t=this.state.pageIndex;t>=e||(this.changePageIndex(t+1),this.props.pageRemote&&this.postData(t+1,!0))}},{key:"changePageIndex",value:function(e){this.setState({pageIndex:e})}},{key:"labelSearch",value:function(e){"input"==e.type?this.searchInput(e):this.handleComposition(e)}},{key:"searchInput",value:function(e){var t=this,n=e.target.value;n!==this.__value&&(this.searchCid&&clearTimeout(this.searchCid),this.inputOver&&(this.__value=n,this.searchCid=setTimeout((function(){t.callback=!0,t.setState({filterValue:t.__value,remote:!0,pageIndex:1})}),this.props.delay)))}},{key:"focus",value:function(){this.searchInputRef&&this.searchInputRef.focus()}},{key:"blur",value:function(){this.searchInputRef&&this.searchInputRef.blur()}},{key:"handleComposition",value:function(e){var t=e.type;"compositionstart"===t?(this.inputOver=!1,this.searchCid&&clearTimeout(this.searchCid)):"compositionend"===t&&(this.inputOver=!0,this.searchInput(e))}},{key:"postData",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.pageIndex,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(this.state.remote||n)&&(this.callback=!1,this.setState({loading:!0,remote:!1}),this.blur(),this.props.remoteMethod(this.state.filterValue,(function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;setTimeout((function(){e.focus(),e.callback=!0,e.setState({loading:!1,totalSize:n}),e.props.onReset(t,"data")}),10)}),this.props.show,t))}},{key:"keydown",value:function(e,t){var n=this,o=t.keyCode;if("div"===e&&(27===o||9===o?this.props.onReset(!1,"close"):37===o?this.pagePrevClick():39===o&&this.pageNextClick()),this.props.enableKeyboard){var r=this.props.prop,i=r.value,a=r.optgroup,l=r.disabled,s=this.tempData.filter((function(e){return!e[a]&&!e[l]})),c=s.length-1;if(-1===c)return;var u=s.findIndex((function(e){return e[i]===n.state.val}));if(38===o){u<=0?u=c:u>0&&(u-=1);var p=s[u][i];this.setState({val:p});var f=this.base.querySelector('.xm-option[value="'.concat(p,'"]'));f&&f.scrollIntoView(!1)}else if(40===o){-1===u||u===c?u=0:u<c&&(u+=1);var d=s[u][i];this.setState({val:d});var h=this.base.querySelector('.xm-option[value="'.concat(d,'"]'));h&&h.scrollIntoView(!1)}else if(13===o&&this.state.val!=pe){var m=s[u];this.optionClick(m,-1!=this.props.sels.findIndex((function(e){return e[i]===n.state.val})),m[l],t)}}}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.props.show!=e.show&&(e.show?setTimeout((function(){"search"===e.model.label.type||(e.filterable?t.focus():t.base.focus())}),0):(this.setState({filterValue:"",val:pe}),this.__value="",this.searchInputRef&&(this.searchInputRef.value=""),this.props.onReset("","labelSearchBlur"))),this.props.__update!=e.__update&&this.setState({remote:!0})}},{key:"render",value:function(e){var t,n=this,o=e.data,r=e.flatData,i=e.prop,a=e.template,l=e.theme,s=e.radio,c=e.sels,u=e.empty,h=e.filterable,m=e.filterMethod,b=e.remoteSearch,y=(e.remoteMethod,e.delay,e.searchTips),x=e.create,v=e.pageRemote,g=e.max,_=e.enableKeyboard,w=i.name,k=i.value,C=i.disabled,O=i.children,j=i.optgroup,E=f([],r);if((v||h&&b)&&this.postData(),h&&!b&&!v){E=E.filter((function(e,t){return e[j]?(delete e.__del,!0):m(n.state.filterValue,e,t,i)}));for(var A=0;A<E.length-1;A++){var R=E[A],P=E[A+1];R[j]&&P[j]&&(E[A].__del=!0)}E.length&&E[E.length-1][j]&&(E[E.length-1].__del=!0),E=E.filter((function(e){return!e.__del})),t=this.state.filterValue&&p(x)}var I=S("div",{class:h&&"search"!=e.model.label.type?"xm-search":"xm-search dis"},S("i",{class:"xm-iconfont xm-icon-sousuo"}),S("input",{class:"xm-input xm-search-input",placeholder:y})),D={};E.filter((function(e){return e[j]})).forEach((function(e,t){D[t]=e,e[O].forEach((function(e){return e.__group__index=t}))})),E=E.filter((function(e){return!e[j]}));var M="";if(e.paging){var T=v?this.state.totalSize:Math.floor((E.length-1)/e.pageSize)+1;T<=0&&(T=1);var z=this.state.pageIndex;if(z>T&&(z=T),T>0&&z<=0&&(z=1),!v){var L=(z-1)*e.pageSize,V=L+e.pageSize;E=E.slice(L,V)}var F={cursor:"no-drop",color:"#d2d2d2"},U={},B={};z<=1&&(U=F),z==T&&(B=F),this.state.pageIndex!==z&&this.changePageIndex(z),this.size=T,M=S("div",{class:"xm-paging"},S("span",{style:U,onClick:this.pagePrevClick.bind(this,T)},e.languageProp.paging.prev),S("span",null,this.state.pageIndex," / ",T),S("span",{style:B,onClick:this.pageNextClick.bind(this,T)},e.languageProp.paging.next))}else e.showCount>0&&(E=E.slice(0,e.showCount));var N,K=[],H={__tmp:!0};H[j]=!0,E.forEach((function(e){var t=D[e.__group__index];delete e.__group__index,N&&!t&&(t=H),t!=N&&(N=t,t&&K.push(N)),K.push(e)})),E=K,t&&(t=x(this.state.filterValue,f([],E)))&&E.splice(0,0,re(re({},t),{},{__node:{}}));var q=f([],E);this.tempData=q;var Y=S("div",{class:"xm-toolbar"},e.toolbar.list.map((function(t){var o,r=e.languageProp.toolbar[t];o="ALL"===t?{icon:"xm-iconfont xm-icon-quanxuan",name:r,method:function(e){var t=i.optgroup,o=i.disabled,r=e.filter((function(e){return!e[t]})).filter((function(e){return!e[o]})),a=c.filter((function(e){return e[i.disabled]})),l=[];l=s?a.length?a:r.slice(0,1):g>0?a.length>=g?a:d(r.slice(0,g-a.length),a,i):d(r,c,i),n.props.onReset(l,"sels")}}:"CLEAR"===t?{icon:"xm-iconfont xm-icon-qingkong",name:r,method:function(e){n.props.onReset(c.filter((function(e){return e[i.disabled]})),"sels")}}:"REVERSE"===t?{icon:"xm-iconfont xm-icon-fanxuan",name:r,method:function(e){var t=i.optgroup,o=i.disabled,r=e.filter((function(e){return!e[t]})).filter((function(e){return!e[o]})),a=[];c.forEach((function(e){var t=r.findIndex((function(t){return t[k]===e[k]}));-1==t?a.push(e):r.splice(t,1)}));var l=a.filter((function(e){return e[i.disabled]})),u=[];u=s?l.length?l:r.slice(0,1):g>0?l.length>=g?l:d(r.slice(0,g-l.length),l,i):d(r,a,i),n.props.onReset(u,"sels")}}:t;var a=function(e){"mouseenter"===e.type&&(e.target.style.color=l.color),"mouseleave"===e.type&&(e.target.style.color="")};return S("div",{class:"toolbar-tag",style:{},onClick:function(){p(o.method)&&o.method(q),n.focus()},onMouseEnter:a,onMouseLeave:a},e.toolbar.showIcon&&S("i",{class:o.icon}),S("span",null,o.name))})).filter((function(e){return e}))),Z="hidden"!=e.model.icon;return(E=E.map((function(t){return t[j]?t.__tmp?S("div",{class:"item--divided"}):S("div",{class:"xm-group"},S("div",{class:"xm-group-item",onClick:n.groupClick.bind(n,t)},t[w])):function(t){var r=!!c.find((function(e){return e[k]==t[k]})),i=r?{color:l.color,border:"none"}:{borderColor:l.color},u={};_&&t[k]===n.state.val&&(u.backgroundColor=l.hover),!Z&&r&&(u.backgroundColor=l.color,t[C]&&(u.backgroundColor="#C2C2C2"));var p,f,d=["xm-option",t[C]?" disabled":"",r?" selected":"",Z?"show-icon":"hide-icon"].join(" "),h=["xm-option-icon",(p=e.iconfont.select,f=e.iconfont.unselect,(p?!r&&f?f+" xm-custom-icon":p:0)||"xm-iconfont "+(s?"xm-icon-danx":"xm-icon-duox"))].join(" "),m=function(e){"mouseenter"===e.type?t[C]||(_?n.setState({val:t[k]}):e.target.style.backgroundColor=l.hover):"mouseleave"===e.type&&(t[C]||_||(e.target.style.backgroundColor=""))};return S("div",{class:d,style:u,value:t[k],onClick:n.optionClick.bind(n,t,r,t[C]),onMouseEnter:m,onMouseLeave:m},Z&&S("i",{class:h,style:i}),S("div",{class:"xm-option-content",dangerouslySetInnerHTML:{__html:a({data:o,item:t,arr:c,name:t[w],value:t[k]})}}))}(t)}))).length||(!e.pageEmptyShow&&(M=""),E.push(S("div",{class:"xm-select-empty"},u))),S("div",{onClick:this.blockClick,tabindex:"1",style:"outline: none;"},S("div",null,e.toolbar.show&&Y,I,S("div",{class:"scroll-body",style:{maxHeight:e.height}},E),e.paging&&M),this.state.loading&&S("div",{class:"loading"},S("span",{class:"loader"})))}},{key:"componentDidMount",value:function(){var e=this.base.querySelector(".xm-search-input");e&&(e.addEventListener("compositionstart",this.handleComposition.bind(this)),e.addEventListener("compositionupdate",this.handleComposition.bind(this)),e.addEventListener("compositionend",this.handleComposition.bind(this)),e.addEventListener("input",this.searchInput.bind(this)),this.searchInputRef=e),this.base.addEventListener("keydown",this.keydown.bind(this,"div"))}},{key:"componentDidUpdate",value:function(){if(this.callback){this.callback=!1;var e=this.props.filterDone;p(e)&&e(this.state.filterValue,this.tempData||[])}}}])&&ae(t.prototype,n),o&&ae(t,o),i}(A);function de(e){return(de="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function he(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function me(e,t){return(me=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function be(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=xe(e);if(t){var r=xe(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return ye(this,n)}}function ye(e,t){return!t||"object"!==de(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function xe(e){return(xe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ve=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&me(e,t)}(i,e);var t,n,o,r=be(i);function i(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),r.call(this,e)}return t=i,(n=[{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"shouldComponentUpdate",value:function(){return!this.prepare}},{key:"render",value:function(e){return this.prepare=!0,S("div",{onClick:this.blockClick,class:"xm-body-custom"},S("div",{class:"scroll-body",style:{maxHeight:e.height}},S("div",{style:"margin: 5px 0",dangerouslySetInnerHTML:{__html:e.content}})))}}])&&he(t.prototype,n),o&&he(t,o),i}(A);function ge(e){return(ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function we(e,t){return(we=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ke(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=Oe(e);if(t){var r=Oe(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return Ce(this,n)}}function Ce(e,t){return!t||"object"!==ge(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Oe(e){return(Oe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Se={},je=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&we(e,t)}(i,e);var t,n,o,r=ke(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=r.call(this,e)).state={expandedKeys:[],filterValue:"",remote:!0,loading:!1,val:Se},t.searchCid=0,t.inputOver=!0,t.__value="",t.tempData=[],t}return t=i,(n=[{key:"init",value:function(e){var t=e.tree,n=e.dataObj,o=e.flatData,r=e.prop,i=r.value,a=r.optgroup,l=[];!0===t.expandedKeys?l=o.filter((function(e){return!0===e[a]})).map((function(e){return e[i]})):!1===t.expandedKeys||t.expandedKeys.forEach((function(e){l.push(e);for(var t=n[e],o=function(){var e=t[i];-1===l.findIndex((function(t){return t===e}))&&l.push(e),t=t.__node.parent};t;)o()})),this.setState({expandedKeys:l})}},{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"optionClick",value:function(e,t,n,o,r){var i=this;if("line"===o){if(!0===e.__node.loading)return;var a=this.props,l=a.tree,s=a.prop,c=a.sels,u=l.clickExpand,f=l.clickCheck,d=r.target&&p(r.target.getAttribute)&&"expand"===r.target.getAttribute("type");if(u||d){if(!l.lazy&&!e[s.optgroup])return void this.props.ck(e,t,n);var h=e[this.props.prop.value],m=this.state.expandedKeys,b=m.findIndex((function(e){return e===h}));-1===b?m.push(h):m.splice(b,1),this.setState({expandedKeys:m});var y=e[s.children];l.lazy&&y&&0===y.length&&!1!==e.__node.loading&&(e.__node.loading=!0,l.load(e,(function(t){e.__node.loading=!1,e[s.children]=i.handlerData(t,s.children),e[s.selected]=-1!=c.findIndex((function(t){return t[s.value]===e[s.value]})),i.props.onReset(c,"treeData")})))}else f&&(o="checkbox")}"checkbox"===o&&this.props.ck(e,t,n),this.blockClick(r)}},{key:"handlerData",value:function(e,t){var n=this;return e.map((function(e){return e.__node={},e[t]&&(e[t]=n.handlerData(e[t],t)),e}))}},{key:"searchInput",value:function(e){var t=this,n=e.target.value;n!==this.__value&&(clearTimeout(this.searchCid),this.inputOver&&(this.__value=n,this.searchCid=setTimeout((function(){t.callback=!0,t.setState({filterValue:t.__value,remote:!0})}),this.props.delay)))}},{key:"focus",value:function(){this.searchInputRef&&this.searchInputRef.focus()}},{key:"blur",value:function(){this.searchInputRef&&this.searchInputRef.blur()}},{key:"handleComposition",value:function(e){var t=e.type;"compositionstart"===t?(this.inputOver=!1,clearTimeout(this.searchCid)):"compositionend"===t&&(this.inputOver=!0,this.searchInput(e))}},{key:"filterData",value:function(e,t,n){var o=this,r=this.props,i=r.prop,a=r.filterMethod,l=r.tree,s=i.children,c=i.optgroup,u=(i.name,i.value);return e.forEach((function(e,r){var p,f=!!t&&!a(t,e,r,i);if(l.strict?p=!1:f=p=!1!==n&&f,e[c]){var d=o.filterData(e[s],t,p),h=!!t&&0===d.filter((function(e){return!e.__node.hidn})).length;if(!(f=(l.strict||p)&&h)){var m=o.state.expandedKeys;t&&-1===m.findIndex((function(t){return t===e[u]}))&&(m.push(e[u]),o.setState({expandedKeys:m}))}}e.__node.hidn=f})),e}},{key:"postData",value:function(){var e=this;this.state.remote&&(this.callback=!1,this.setState({loading:!0,remote:!1}),this.blur(),this.props.remoteMethod(this.state.filterValue,(function(t,n){e.focus(),e.callback=!0,e.setState({loading:!1,totalSize:n}),e.props.onReset(t,"data")}),this.props.show,1))}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.props.show!=e.show&&(e.show?setTimeout((function(){return t.focus()}),0):(this.setState({filterValue:"",val:Se}),this.__value="",this.searchInputRef&&(this.searchInputRef.value="")))}},{key:"componentWillMount",value:function(){this.init(this.props)}},{key:"render",value:function(e,t){var n=this,o=(t.expandedKeys,e.prop),r=e.empty,i=e.sels,a=e.theme,l=e.radio,s=e.template,c=e.data,u=e.tree,h=e.filterable,m=e.remoteSearch,b=e.searchTips,y=e.iconfont,x=e.enableKeyboard,v=o.name,g=o.value,_=o.disabled,w=o.children,k=o.optgroup,C="hidden"!=e.model.icon,O=function(e,t,o){var r=!!i.find((function(t){return t[g]==e[g]})),p=e[_],f=!0===e.__node.half;u.strict&&(r=r||f||e.__node.selected,p=p||e.__node.disabled);var d=r?{color:a.color,border:"none"}:{borderColor:a.color},h={paddingLeft:t+"px"};x&&e[g]===n.state.val&&(h.backgroundColor=a.hover),!C&&r&&(h.backgroundColor=a.color,p&&(h.backgroundColor="#C2C2C2"));var m=["xm-option",p?" disabled":"",r?" selected":"",C?"show-icon":"hide-icon"].join(" "),b=0!==o&&"hidden"===y.parent?"xm-option-icon-hidden":["xm-option-icon",(f?y.half?y.half+" xm-custom-icon":0:0!==o&&y.parent?y.parent+" xm-custom-icon":r?y.select?y.select:0:y.unselect?y.unselect+" xm-custom-icon":0)||"xm-iconfont "+(l?"xm-icon-danx":u.strict&&f?"xm-icon-banxuan":"xm-icon-duox")].join(" "),k=["xm-tree-icon",o?"expand":"",e[w]&&(e[w].length>0||u.lazy&&!1!==e.__node.loading)?"xm-visible":"xm-hidden"].join(" "),O=[];u.showFolderIcon&&(O.push(S("i",{class:k,type:"expand"})),u.showLine&&(o&&O.push(S("i",{class:"left-line",style:{left:t-u.indent+3+"px"}})),O.push(S("i",{class:"top-line",style:{left:t-u.indent+3+"px",width:u.indent+(0===o?10:-2)+"px"}}))));var j=function(t){"mouseenter"===t.type?e[_]||(x?n.setState({val:e[g]}):t.target.style.backgroundColor=a.hover):"mouseleave"===t.type&&(e[_]||x||(t.target.style.backgroundColor=""))};return S("div",{class:m,style:h,value:e[g],onClick:n.optionClick.bind(n,e,r,e[_],"line"),onMouseEnter:j,onMouseLeave:j},O,e.__node.loading&&S("span",{class:"loader"}),C&&S("i",{class:b,style:d,onClick:n.optionClick.bind(n,e,r,e[_],"checkbox")}),S("div",{class:"xm-option-content",dangerouslySetInnerHTML:{__html:s({data:c,item:e,arr:i,name:e[v],value:e[g]})}}))};h&&(m?this.postData():this.filterData(c,this.state.filterValue));var j=f([],c),E=f([],i);this.tempData=j;var A=c.map((function(e){return function e(t,o){if(!t.__node.hidn){var r=t[w];if(o+=u.indent,r){var i=-1!==n.state.expandedKeys.findIndex((function(e){return t[g]===e}));return 0===r.length&&(i=!1),S("div",{class:"xm-tree"},u.showFolderIcon&&u.showLine&&i&&r.length>0&&S("i",{class:"left-line left-line-group",style:{left:o+3+"px"}}),O(t,o,0===r.length&&(!u.lazy||u.lazy&&!1===t.__node.loading)?0:i),i&&S("div",{class:"xm-tree-box"},r.map((function(t){return e(t,o)}))))}return O(t,o,0)}}(e,10-u.indent)})).filter((function(e){return e}));function R(e,t){t.forEach((function(t){t[k]?(u.strict||"hidden"===y.parent||e.push(t),R(e,t[w])):e.push(t)}))}var P=S("div",{class:"xm-toolbar"},e.toolbar.list.map((function(t){var r,s=e.languageProp.toolbar[t];r="ALL"===t?{icon:"xm-iconfont xm-icon-quanxuan",name:s,method:function(e){var t=[];R(t,e),t=t.filter((function(e){return!e[_]&&!e.__node.hidn})),n.props.onReset(l?t.slice(0,1):d(t,i,o),"treeData")}}:"CLEAR"===t?{icon:"xm-iconfont xm-icon-qingkong",name:s,method:function(e){n.props.onReset(i.filter((function(e){return e[o.disabled]})),"treeData")}}:"REVERSE"===t?{icon:"xm-iconfont xm-icon-fanxuan",name:s,method:function(e){var t=[];R(t,e),t=t.filter((function(e){return!e[_]&&!e.__node.hidn}));var r=[];i.forEach((function(e){var n=t.findIndex((function(t){return t[g]===e[g]}));-1==n?r.push(e):t.splice(n,1)})),n.props.onReset(l?r.slice(0,1):d(t,r,o),"treeData")}}:t;var c=function(e){"mouseenter"===e.type&&(e.target.style.color=a.color),"mouseleave"===e.type&&(e.target.style.color="")};return S("div",{class:"toolbar-tag",onClick:function(){p(r.method)&&r.method(j,E)},onMouseEnter:c,onMouseLeave:c},e.toolbar.showIcon&&S("i",{class:r.icon}),S("span",null,r.name))})).filter((function(e){return e}))),I=S("div",{class:h?"xm-search":"xm-search dis"},S("i",{class:"xm-iconfont xm-icon-sousuo"}),S("input",{class:"xm-input xm-search-input",placeholder:b}));return A.length||A.push(S("div",{class:"xm-select-empty"},r)),S("div",{onClick:this.blockClick,class:"xm-body-tree"},e.toolbar.show&&P,I,S("div",{class:"scroll-body",style:{maxHeight:e.height}},A),this.state.loading&&S("div",{class:"loading"},S("span",{class:"loader"})))}},{key:"componentDidMount",value:function(){var e=this.base.querySelector(".xm-search-input");e&&(e.addEventListener("compositionstart",this.handleComposition.bind(this)),e.addEventListener("compositionupdate",this.handleComposition.bind(this)),e.addEventListener("compositionend",this.handleComposition.bind(this)),e.addEventListener("input",this.searchInput.bind(this)),this.searchInputRef=e)}},{key:"componentDidUpdate",value:function(){if(this.callback){this.callback=!1;var e=this.props.filterDone;p(e)&&e(this.state.filterValue,this.tempData||[])}}}])&&_e(t.prototype,n),o&&_e(t,o),i}(A);function Ee(e){return(Ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ae(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Re(e,t){return(Re=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Pe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=De(e);if(t){var r=De(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return Ie(this,n)}}function Ie(e,t){return!t||"object"!==Ee(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function De(e){return(De=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Me=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Re(e,t)}(i,e);var t,n,o,r=Pe(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=r.call(this,e)).state={expand:[]},t}return t=i,(n=[{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"optionClick",value:function(e,t,n,o,r,i){if("line"===o){if(n)return;if(!0===e.__node.loading)return;var a=this.props,l=a.cascader,s=a.prop;if(a.sels,!l.lazy&&!e[s.optgroup])return void this.props.ck(e,t,n);var c=this.state.expand.slice(0,r+1);c[r]=e[this.props.prop.value],this.setState({expand:c})}else"checkbox"===o&&this.props.ck(e,t,n);this.blockClick(i)}},{key:"componentWillReceiveProps",value:function(e){}},{key:"componentWillMount",value:function(){}},{key:"render",value:function(e,t){var n=this,o=e.prop,r=e.empty,i=e.sels,a=e.theme,l=e.radio,s=e.template,c=e.data,u=e.cascader,p=o.name,f=o.value,d=o.disabled,h=o.children,m="hidden"!=e.model.icon,b=[],y=function t(o,r,y){var x=o[h];r=r+u.indent+6;var v=x&&n.state.expand[y]===o[f];return v&&b.push(S("div",{class:"xm-cascader-box",index:y%4,style:{left:r+"px",width:u.indent+"px"}},S("div",{class:"xm-cascader-scroll"},x.map((function(e){return t(e,r,y+1)}))))),function(t,o,r,b){var y=!!i.find((function(e){return e[f]==t[f]})),x=t[d],v=!0===t.__node.half;u.strict&&(y=y||v||t.__node.selected,x=x||t.__node.disabled);var g=y?{color:a.color,border:"none"}:{borderColor:a.color},_=t[h]&&t[h].length>0,w={backgroundColor:"transparent"},k=["xm-option",x?" disabled":"",y?" selected":"",m?"show-icon":"hide-icon"].join(" "),C=_&&"hidden"===e.iconfont.parent?"xm-option-icon-hidden":["xm-option-icon",(v?e.iconfont.half?e.iconfont.half+" xm-custom-icon":0:_&&e.iconfont.parent?e.iconfont.parent+" xm-custom-icon":y?e.iconfont.select?e.iconfont.select:0:e.iconfont.unselect?e.iconfont.unselect+" xm-custom-icon":0)||"xm-iconfont "+(l?"xm-icon-danx":u.strict&&v?"xm-icon-banxuan":"xm-icon-duox")].join(" ");t[f]===n.state.val&&(w.backgroundColor=a.hover);var O={},j={};b&&(O.color=a.color,O.fontWeight=700,j.color=a.color);var E=function(e){"mouseenter"===e.type?t[d]||n.setState({val:t[f]}):"mouseleave"===e.type&&n.setState({val:""})};return S("div",{class:k,style:w,value:t[f],onClick:n.optionClick.bind(n,t,y,x,"line",r),onMouseEnter:E,onMouseLeave:E},m&&S("i",{class:C,style:g,onClick:n.optionClick.bind(n,t,y,x,"checkbox",r)}),S("div",{class:"xm-option-content",style:O,dangerouslySetInnerHTML:{__html:s({data:c,item:t,arr:i,name:t[p],value:t[f]})}}),t[h]&&S("div",{class:"xm-right-arrow",style:j}))}(o,0,y,v)},x=c.map((function(e){return y(e,2,0)})).concat(b).filter((function(e){return e}));return x.length||x.push(S("div",{class:"xm-select-empty"},r)),S("div",{onClick:this.blockClick,class:"xm-body-cascader",style:{width:u.indent+"px",maxHeight:e.height}},x)}},{key:"componentDidMount",value:function(){this.props.onReset("cascader","class")}}])&&Ae(t.prototype,n),o&&Ae(t,o),i}(A);function Te(){return(Te=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function ze(e){return function(e){if(Array.isArray(e))return Le(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Le(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Le(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function Ve(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Fe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ve(Object(n),!0).forEach((function(t){Ue(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ve(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Be(e){return(Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ne(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Ke(e,t){return(Ke=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function He(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=Ze(e);if(t){var r=Ze(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return qe(this,n)}}function qe(e,t){return!t||"object"!==Be(t)&&"function"!=typeof t?Ye(e):t}function Ye(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ze(e){return(Ze=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Qe=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ke(e,t)}(i,e);var t,n,o,r=He(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),t=r.call(this,e),st[e.el]=Ye(t),t.state=t.initState(),t.bodyView=null,t}return t=i,(n=[{key:"initState",value:function(){return{data:[],dataObj:{},flatData:[],sels:[],show:!1,tmpColor:"",bodyClass:"",time:0}}},{key:"init",value:function(e,t){var n,o=e.data,r=e.prop,i=e.initValue,a=e.radio,l=e.tree,s=e.cascader;if(t){var c={},u=[];this.load(o,c,u,null,0,i?i.map((function(e){return"object"===Be(e)?e[r.value]:e})):null),n=this.exchangeValue(i||Object.keys(c).filter((function(e){return!0===c[e][r.selected]})),c),a&&n.length>1&&(n=n.slice(0,1),(l.show&&l.strict||s.show&&s.strict)&&this.clearAndReset(o,n,!1)),this.setState({sels:n,dataObj:c,flatData:u})}return this.setState({data:o}),n}},{key:"upDate",value:function(e,t){var n=this.state.dataObj,o=this.props,r=o.prop,i=o.tree,a=o.cascader,l=r.value,s=r.disabled,c=r.children;e.map((function(e){return n["object"===Be(e)?e[l]:e]})).filter((function(e){return e})).forEach((function(e){if(e[s]=!t,i.show&&i.strict||a.show&&a.strict){if(t)for(var n=e;n;)n[s]=!1,n=n.__node.parent;!function e(n){n[s]=!t;var o=n[c];o&&u(o)&&o.forEach((function(t){return e(t)}))}(e)}})),this.setState({dataObj:n})}},{key:"exchangeValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.dataObj,o=this.props,r=o.prop,i=o.tree,a=o.cascader,l=(o.data,r.children),s=r.value,c=e.map((function(e){return"object"===Be(e)?Fe(Fe({},e),{},{__node:{}}):n[e]})).filter((function(e){return e})),p=ze(c);if(i.show&&i.strict||a.show&&a.strict){var f=function e(t,n){var o=n[l];o&&u(o)&&o.forEach((function(n){-1===c.findIndex((function(e){return e[s]===n[s]}))&&t.push(n),e(t,n)}))},d={};d[l]=c,f(p,d),p=p.filter((function(e){return!0!==e[t.props.prop.optgroup]}))}return p}},{key:"value",value:function(e,t,n,o){!1!==t&&!0!==t&&(t=this.state.show);var r=this.props,i=r.prop,a=r.tree,l=r.cascader,s=this.exchangeValue(e);if(!this.checkMax(s,s)){if(a.show&&a.strict||l.show&&l.strict){var c=this.state.data;this.clearAndReset(c,s,!1),s=this.init({data:c,prop:i},!0)}this.resetSelectValue(s,o||s,!0,n),this.setState({show:t})}}},{key:"clearAndReset",value:function(e,t,n){var o=this,r=this.props.prop,i=r.selected,a=r.disabled,l=r.children,s=r.value;e.forEach((function(e){e[i]=-1!=t.findIndex((function(t){return t[s]===e[s]}))||n;var r=e[l];if(r&&u(r)){o.clearAndReset(r,t,e[i]);var c=r.length,p=r.filter((function(e){return!0===e[i]||!0===e.__node.selected})).length;e.__node.selected=p===c,e.__node.half=p>0&&p<c||r.filter((function(e){return!0===e.__node.half})).length>0,e.__node.disabled=r.filter((function(e){return!0===e[a]||!0===e.__node.disabled})).length===c}}))}},{key:"load",value:function(e,t,n,o){var r=this,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5?arguments[5]:void 0,l=this.props,s=l.prop,c=l.tree,p=l.cascader,f=s.children,d=s.optgroup,h=s.value,m=s.selected,b=s.disabled;e.forEach((function(e){e.__node={parent:o,level:i,loading:e.__node&&e.__node.loading},a&&(delete e[m],a.find((function(t){return t===e[h]}))&&(e[m]=!0)),t[e[h]]=e,n.push(e);var l=e[f];if(l&&u(l)){var s=l.length;if(s>0){r.load(l,t,n,e,i+1,a),e[d]=!0,(c.show&&c.strict||p.show&&p.strict)&&(!0===e[m]&&(delete e[m],l.forEach((function(e){return e[m]=!0}))),!0===e[b]&&(delete e[b],l.forEach((function(e){return e[b]=!0}))));var y=l.filter((function(e){return!0===e[m]||!0===e.__node.selected})).length;e.__node.selected=y===s,e.__node.half=y>0&&y<s||l.filter((function(e){return!0===e.__node.half})).length>0,e.__node.disabled=l.filter((function(e){return!0===e[b]||!0===e.__node.disabled})).length===s}}}))}},{key:"resetSelectValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=this.props.on;if(p(r)&&this.prepare&&o){var i=r({arr:e,change:t,isAdd:n});if(u(i))return this.value(i,null,!1)}this.setState({sels:e})}},{key:"updateBorderColor",value:function(e){this.setState({tmpColor:e})}},{key:"treeHandler",value:function(e,t,n,o,r){var i=this,a=this.props.prop,l=a.value,s=(a.selected,a.disabled),c=a.children,u=a.optgroup,p=t[c];if(p.filter((function(e){return!(e[s]||e.__node.disabled)})).forEach((function(t){if(t[u])i.treeHandler(e,t,n,o,r);else{var a=e.findIndex((function(e){return e[l]==t[l]}));"del"===o?-1!=a&&(e.splice(a,1),n.push(t)):"half"!==o&&"add"!==o||-1==a&&(e.push(t),n.push(t))}})),r){var f=p.length,d=p.filter((function(t){return-1!==e.findIndex((function(e){return e[l]===t[l]}))||!0===t.__node.selected})).length;t.__node.selected=d===f,t.__node.half=d>0&&d<f}}},{key:"checkMax",value:function(e,t){var n,o=this.props,r=o.max,i=o.maxMethod,a=o.theme,l=(n=r,n-=0,isNaN(n)&&(n=0),n);if(l>0&&t.length>=l)return this.updateBorderColor(a.maxColor),i&&p(i)&&i(t,e),!0}},{key:"itemClick",value:function(e,t,n,o){var r=this.props,i=(r.theme,r.prop),a=r.radio,l=r.repeat,s=r.clickClose,c=(r.max,r.maxMethod,r.tree),u=r.data,p=ze(this.state.sels),f=i.value,d=(i.selected,i.disabled,i.children),h=i.optgroup;if(!n){if(e[h]&&c.strict){e[d];var m,b=[],y=!0;if(e.__node.selected?(m="del",y=!1):e.__node.half?(m="half",this.treeHandler(p,e,b,m),0===b.length&&(m="del",y=!1)):m="add","half"!=m&&this.treeHandler(p,e,b,m),this.checkMax(b,b))return;p=ze(this.state.sels),b=[],this.treeHandler(p,e,b,m,!0),this.resetSelectValue(p,b,y),this.setState({data:this.state.data})}else if(!t||l&&!o){if(this.checkMax(e,p))return;p=a?[e]:[].concat(ze(p),[e]),this.clearAndReset(u,p,t),this.resetSelectValue(p,[e],!t)}else{var x=p.findIndex((function(t){return t[f]==e[f]}));-1!=x&&(p.splice(x,1),this.resetSelectValue(p,[e],!t))}var v=e.__node.parent;if(v){for(;v;){var g=v[d],_=g.length,w=g.filter((function(e){return-1!==p.findIndex((function(t){return t[f]===e[f]}))||!0===e.__node.selected})).length;v.__node.selected=w===_,v.__node.half=w>0&&w<_||g.filter((function(e){return!0===e.__node.half})).length>0,v=v.__node.parent}this.setState({data:this.state.data})}s&&!o&&this.onClick()}}},{key:"onClick",value:function(e){var t=this;if("relative"!==this.props.model.type)if(this.props.disabled)!1!==this.state.show&&this.setState({show:!1});else{var n=!this.state.show;if(n){if(this.props.show&&0==this.props.show())return;Object.keys(at).filter((function(e){return e!=t.props.el})).forEach((function(e){return at[e].closed()}))}else{if(this.props.hide&&0==this.props.hide())return;this.bodyView.scroll&&this.bodyView.scroll(0,0)}this.setState({show:n}),e&&e.stopPropagation()}}},{key:"onReset",value:function(e,t){var n=this;if("data"===t){var o=e.filter((function(e){return!0===e[n.props.prop.selected]}));this.resetSelectValue(d(o,this.state.sels,this.props.prop),o,!0);var r=[];this.load(e,{},r),this.setState({data:e,flatData:r})}else"sels"===t?this.resetSelectValue(e,e,!0):"append"===t?this.append(e):"delete"===t?this.del(e):"auto"===t?this.auto(e):"treeData"===t?this.value(e,null,!0):"close"===t?this.onClick():"class"===t?this.setState({bodyClass:e}):"labelSearchBlur"===t?this.labelRef.blur(e):"labelSearch"===t&&this.generalRef.labelSearch(e)}},{key:"append",value:function(e){var t=this.exchangeValue(e);this.value(d(t,this.state.sels,this.props.prop),this.props.show,!0,t)}},{key:"del",value:function(e){var t=this.props.prop.value,n=this.state.sels,o=this.exchangeValue(e);o.forEach((function(e){var o=n.findIndex((function(n){return n[t]===e[t]}));-1!=o&&n.splice(o,1)})),this.value(n,this.props.show,!0,o)}},{key:"auto",value:function(e){var t=this,n=this.props.prop.value;e.filter((function(e){return-1!=t.state.sels.findIndex((function(t){return t[n]===e[n]}))})).length==e.length?this.del(e):this.append(e)}},{key:"changeExpandedKeys",value:function(e){var t=this.props,n=t.tree,o=t.prop,r=this.state,i=r.dataObj,a=r.flatData;n.show&&this.treeRef.init({dataObj:i,flatData:a,prop:o,tree:{expandedKeys:e}})}},{key:"calcPosition",value:function(){if(this.state.show&&"fixed"===this.props.model.type){var e=this.base.getBoundingClientRect();return Date.now()-this.state.time>10&&this.setState({time:Date.now()}),{position:"fixed",left:e.x,top:e.y+e.height+4,width:e.width}}return{}}},{key:"componentWillReceiveProps",value:function(e){this.init(e,e.updateData)}},{key:"componentWillMount",value:function(){this.init(this.props,!0)}},{key:"render",value:function(e,t){var n=this,o=e.theme,r=e.prop,i=(e.radio,e.repeat,e.clickClose,e.on,e.max,e.maxMethod,e.content),a=e.disabled,l=e.tree,s={borderColor:o.color},c=t.data,u=t.dataObj,p=t.flatData,f=t.sels,d=t.show,h=t.tmpColor,m=t.bodyClass;a&&(d=!1);var b={style:Fe(Fe({},e.style),d?s:{}),onClick:this.onClick.bind(this),ua:-1!=navigator.userAgent.indexOf("Mac OS")?"mac":"win",size:e.size,tabindex:1};h&&(b.style.borderColor=h,setTimeout((function(){b.style.borderColor="",n.updateBorderColor("")}),300)),r.value;var y=Fe(Fe({},e),{},{data:c,sels:f,ck:this.itemClick.bind(this),title:f.map((function(e){return e[r.name]})).join(","),onReset:this.onReset.bind(this)}),x=Fe(Fe({},e),{},{data:c,dataObj:u,flatData:p,sels:f,ck:this.itemClick.bind(this),show:d,onReset:this.onReset.bind(this)}),v=i?S(ve,x):l.show?S(je,Te({},x,{ref:function(e){return n.treeRef=e}})):e.cascader.show?S(Me,x):S(fe,Te({},x,{ref:function(e){return n.generalRef=e}})),g=this.calcPosition();return S("xm-select",b,S("input",{class:"xm-select-default","lay-verify":e.layVerify,"lay-verType":e.layVerType,"lay-reqText":e.layReqText,name:e.name,value:f.map((function(e){return e[r.value]})).join(",")}),S("i",{class:d?"xm-icon xm-icon-expand":"xm-icon"}),0===f.length&&S("div",{class:"xm-tips"},e.tips),S(te,Te({},y,{ref:function(e){return n.labelRef=e}})),S("div",{class:["xm-body",m,e.model.type,d?"":"dis"].join(" "),style:g,ref:function(e){return n.bodyView=e}},v),a&&S("div",{class:"xm-select-disabled"}))}},{key:"componentDidMount",value:function(){var e=this;this.prepare=!0,this.base.addEventListener("keydown",(function(t){13===t.keyCode&&e.onClick()})),this.input=this.base.querySelector(".xm-select-default");var t=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;t&&new t((function(t){t.forEach((function(t){"attributes"==t.type&&"class"===t.attributeName&&-1!==e.input.className.indexOf("layui-form-danger")&&(e.input.className="xm-select-default",e.base.style.borderColor=e.props.theme.maxColor)}))})).observe(this.input,{attributes:!0});for(var n=this.base;n;){if("FORM"===n.tagName){var o=n.querySelector('button[type="reset"]');o&&o.addEventListener("click",(function(t){e.init(e.props,!0)}));break}n=n.parentElement}}},{key:"componentDidUpdate",value:function(){var e=this.props,t=e.direction,n=e.model;if("relative"!==n.type&&"fixed"!==n.type){var o=this.base.getBoundingClientRect();if("auto"===t){this.bodyView.style.display="block",this.bodyView.style.visibility="hidden";var r=this.bodyView.getBoundingClientRect().height;this.bodyView.style.display="",this.bodyView.style.visibility="";var i=o.y||o.top||0,a=document.documentElement.clientHeight-i-o.height-20;t=a>r||i<a?"down":"up"}"down"==t?(this.bodyView.style.top=o.height+4+"px",this.bodyView.style.bottom="auto"):(this.bodyView.style.top="auto",this.bodyView.style.bottom=o.height+4+"px")}}}])&&Ne(t.prototype,n),o&&Ne(t,o),i}(A),Je={tips:"璇烽�夋嫨",empty:"鏆傛棤鏁版嵁",searchTips:"璇烽�夋嫨",toolbar:{ALL:"鍏ㄩ��",CLEAR:"娓呯┖",REVERSE:"鍙嶉��",SEARCH:"鎼滅储"},paging:{prev:"涓婁竴椤�",next:"涓嬩竴椤�"}},We={zn:Je,en:{tips:"please selected",empty:"no data",searchTips:"please search",toolbar:{ALL:"select all",CLEAR:"clear",REVERSE:"invert select",SEARCH:"search"},paging:{prev:"prev",next:"next"}}};function Ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ge(Object(n),!0).forEach((function(t){$e(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ge(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function et(){return(et=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function tt(e){return(tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nt(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}var ot=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.init(t)}var t,n,o;return t=e,(n=[{key:"init",value:function(e){this.options=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"zn",t=We[e]||Je;return{language:e,languageProp:t,data:[],content:"",name:"select",layVerify:"",layVerType:"",layReqText:"",size:"medium",disabled:!1,initValue:null,create:null,tips:t.tips,empty:t.empty,delay:500,searchTips:t.searchTips,filterable:!1,filterMethod:function(e,t,n,o){return!e||-1!=t[o.name].indexOf(e)},remoteSearch:!1,remoteMethod:function(e,t){t([])},direction:"auto",style:{},height:"200px",autoRow:!1,paging:!1,pageSize:10,pageEmptyShow:!0,pageRemote:!1,radio:!1,repeat:!1,clickClose:!1,max:0,maxMethod:function(e,t){},showCount:0,enableKeyboard:!0,toolbar:{show:!1,showIcon:!0,list:["ALL","CLEAR"]},tree:{show:!1,showFolderIcon:!0,showLine:!0,indent:20,expandedKeys:[],strict:!0,lazy:!1,load:null,simple:!1,nodeType:"__node_type",clickExpand:!0,clickCheck:!0},cascader:{show:!1,indent:100,strict:!0},prop:{name:"name",value:"value",selected:"selected",disabled:"disabled",children:"children",optgroup:"optgroup",click:"click"},theme:{color:"#009688",maxColor:"#e54d42",hover:"#f2f2f2"},model:{label:{type:"block",text:{left:"",right:"",separator:", "},block:{showCount:0,showIcon:!0,template:null},count:{template:function(e,t){return"宸查�変腑 ".concat(t.length," 椤�, 鍏� ").concat(e.length," 椤�")}}},icon:"show",type:"absolute"},iconfont:{select:"",unselect:"",half:"",parent:""},show:function(){},hide:function(){},template:function(e){e.item,e.sels;var t=e.name;return e.value,t},on:function(e){e.arr,e.item,e.selected}}}(e.language),this.update(e)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=!!e.data;this.options=f(this.options,e),this.options.__render_success=!1;var n=this.options.dom;if(n){var o=this.options.data||[];if("function"==typeof o&&(o=o(),this.options.data=o),u(o))return Y(S(Qe,et({},this.options,{__update:Date.now(),updateData:t})),n),this.options.__render_success=!0,this;c("data鏁版嵁蹇呴』涓烘暟缁勭被鍨�, 涓嶈兘鏄�".concat("undefined"==typeof data?"undefined":tt(data),"绫诲瀷"))}else c("娌℃湁鎵惧埌娓叉煋瀵硅薄: ".concat(e.el,", 璇锋鏌�"))}},{key:"reset",value:function(){var e=this.options.el;return this.init(lt[e]),st[e].init(this.options,!0),this}},{key:"opened",value:function(){var e=st[this.options.el];return!e.state.show&&e.onClick(),this}},{key:"closed",value:function(){var e=st[this.options.el];return e.state.show&&e.onClick(),this}},{key:"getValue",value:function(e){var t=this,n=this.options,o=n.tree,r=n.prop,i=n.data,a=st[this.options.el].state.sels,l=a;o.show&&o.strict&&o.simple&&h(i,a,l=[],r);var s=m(l,r.children,["__node"]);return"name"===e?s.map((function(e){return e[t.options.prop.name]})):"nameStr"===e?s.map((function(e){return e[t.options.prop.name]})).join(","):"value"===e?s.map((function(e){return e[t.options.prop.value]})):"valueStr"===e?s.map((function(e){return e[t.options.prop.value]})).join(","):s}},{key:"setValue",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(u(e))return st[this.options.el].value(this.options.radio?e.slice(0,1):e,t,n),this;c("璇蜂紶鍏ユ暟缁勭粨鏋�...")}},{key:"append",value:function(e){if(u(e))return st[this.options.el].append(e),this;c("璇蜂紶鍏ユ暟缁勭粨鏋�...")}},{key:"delete",value:function(e){if(u(e))return st[this.options.el].del(e),this;c("璇蜂紶鍏ユ暟缁勭粨鏋�...")}},{key:"warning",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e||this.options.theme.maxColor;return!0===t?st[this.options.el].base.style.borderColor=n:st[this.options.el].updateBorderColor(n),this}},{key:"getTreeValue",value:function(e,t){var n=this.options,o=n.tree,r=n.cascader,i=n.prop,a=i.value;if(!o.show&&!r.show)return this.getValue(e);for(var l=st[this.options.el].state.sels,s=[],c=o.nodeType,u=function(e,t){s.find((function(t){return t[a]===e[a]}))||((e=Xe({},e))[c]=t,s.push(e))},p=0;p<l.length;p++){var f=Xe({},l[p]);for(u(f,"leaf");f=f.__node.parent;){var d=f.__node,h=d.half,b=d.selected;!e&&b?u(f,"parent"):t&&h&&!b&&u(f,"half")}}return m(s,i.children,["__node"])}},{key:"changeExpandedKeys",value:function(e){return st[this.options.el].changeExpandedKeys(e),this}},{key:"enable",value:function(e){if(u(e)){if(0!==e.length)return st[this.options.el].upDate(e,!0),this}else c("璇蜂紶鍏ユ暟缁勭粨鏋�...")}},{key:"disable",value:function(e){if(u(e)){if(0!==e.length)return st[this.options.el].upDate(e,!1),this}else c("璇蜂紶鍏ユ暟缁勭粨鏋�...")}},{key:"scroll",value:function(e){var t=this.options.dom.querySelector('.xm-option[value="'.concat(e,'"]'));return t&&t.scrollIntoView(!1),this}},{key:"calcPosition",value:function(){return st[this.options.el].calcPosition(),this}}])&&nt(t.prototype,n),o&&nt(t,o),e}();function rt(e){return function(e){if(Array.isArray(e))return it(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return it(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return it(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function it(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}var at={},lt={},st={};t.c={name:o.a,version:o.b,doc:o.c,render:function(e){var t=e.el;if(e.dom=s(t),t.nodeType){var n="DOM_RENDER_"+Date.now()+"_"+Math.random();t.setAttribute(o.a,n),t="[".concat(o.a,"='").concat(n,"']"),e.el=t}lt[t]=e;var r=new ot(e);return r&&r.options.__render_success&&(at[t]=r),r},get:function(e,t){var n;switch(Object.prototype.toString.call(e)){case"[object String]":e&&(n=function(t){return t===e});break;case"[object RegExp]":n=function(t){return e.test(t)};break;case"[object Function]":n=e}var o=Object.keys(at),r=(n?o.filter(n):o).map((function(e){return at[e]})).filter((function(e){return s(e.options.el)}));return t?r[0]:r},batch:function(e,t){var n=Array.prototype.slice.call(arguments);return n.splice(0,2),this.get(e).map((function(e){return e[t].apply(e,rt(n))}))},arr2tree:function(e,t,n,o,r){return e.forEach((function(i){if(i[t]!=r){var a=e.find((function(e){return e[n]===i[t]}));a&&(a[o]||(a[o]=[]),a[o].push(i))}})),e.filter((function(e){return e[t]==r}))}}}}); \ No newline at end of file diff --git a/src/main/webapp/views/admin/apiLog/apiLog.html b/src/main/webapp/views/admin/apiLog/apiLog.html new file mode 100644 index 0000000..691e5ae --- /dev/null +++ b/src/main/webapp/views/admin/apiLog/apiLog.html @@ -0,0 +1,187 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="namespace" placeholder="鍚嶇О绌洪棿" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="apiLog" lay-filter="apiLog"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> +<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>--> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> +<!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>--> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/html" id="resTpl"> + <span name="settle" + {{# if( d.result === 1){ }} + class="layui-badge layui-badge-green" >{{d.result$}}</span> + {{# }else { }} + class="layui-badge layui-badge-red" >{{d.result$}}</span> + {{# } }} +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/apiLog/apiLog.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label">鏃ュ織缂栧彿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="uuid" placeholder="璇疯緭鍏ユ棩蹇楃紪鍙�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍚嶇О绌洪棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="namespace" placeholder="璇疯緭鍏ュ悕绉扮┖闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鎺ュ彛鍦板潃: </label> + <div class="layui-input-block"> + <input class="layui-input" name="url" placeholder="璇疯緭鍏ユ帴鍙e湴鍧�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">骞冲彴瀵嗛挜: </label> + <div class="layui-input-block"> + <input class="layui-input" name="appkey" placeholder="璇疯緭鍏ュ钩鍙板瘑閽�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鏃堕棿鎴�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="timestamp" placeholder="璇疯緭鍏ユ椂闂存埑"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">瀹㈡埛绔疘P: </label> + <div class="layui-input-block"> + <input class="layui-input" name="clientIp" placeholder="璇疯緭鍏ュ鎴风IP"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">璇锋眰鍐呭: </label> + <div class="layui-input-block"> + <input class="layui-input" name="request" placeholder="璇疯緭鍏ヨ姹傚唴瀹�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍝嶅簲鍐呭: </label> + <div class="layui-input-block"> + <input class="layui-input" name="response" placeholder="璇疯緭鍏ュ搷搴斿唴瀹�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">寮傚父鍐呭: </label> + <div class="layui-input-block"> + <input class="layui-input" name="err" placeholder="璇疯緭鍏ュ紓甯稿唴瀹�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">缁撴灉: </label> + <div class="layui-input-block"> + <select name="result"> + <option value="">璇烽�夋嫨缁撴灉</option> + <option value="1">鎴愬姛</option> + <option value="0">澶辫触</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐘舵��: </label> + <div class="layui-input-block"> + <select name="status"> + <option value="">璇烽�夋嫨鐘舵��</option> + <option value="1">姝e父</option> + <option value="0">绂佺敤</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">娣诲姞鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="createTime" id="createTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">淇敼鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">澶囨敞: </label> + <div class="layui-input-block"> + <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/admin/basLift/basLift.html b/src/main/webapp/views/admin/basLift/basLift.html new file mode 100644 index 0000000..2d2dd95 --- /dev/null +++ b/src/main/webapp/views/admin/basLift/basLift.html @@ -0,0 +1,260 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="basLift" lay-filter="basLift"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basLift/basLift.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">鎻愬崌鏈哄彿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="liftNo" placeholder="璇疯緭鍏ユ彁鍗囨満鍙�" lay-vertype="tips" lay-verify="required"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">褰撳墠浠诲姟鐘舵��: </label> + <div class="layui-input-block"> + <input class="layui-input" name="status" placeholder="璇疯緭鍏ュ綋鍓嶄换鍔$姸鎬�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">浠诲姟鍙�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="wrkNo" placeholder="璇疯緭鍏ヤ换鍔″彿"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">淇敼鏃堕棿: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">淇敼浜哄憳: </label>--> +<!-- <div class="layui-input-block cool-auto-complete">--> +<!-- <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none">--> +<!-- <input id="updateBy$" name="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>--> +<!-- <div class="cool-auto-complete-window">--> +<!-- <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">--> +<!-- <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">--> +<!-- </select>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-form-item"> + <label class="layui-form-label">澶囨敞: </label> + <div class="layui-input-block"> + <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">浣滀笟鏍囪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="pakMk" placeholder="璇疯緭鍏ヤ綔涓氭爣璁�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鎻愬崌鏈洪攣瀹�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="liftLock" placeholder="璇疯緭鍏ユ彁鍗囨満閿佸畾"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">浣嶇疆鍒拌揪鍙嶉: </label> + <div class="layui-input-block"> + <input class="layui-input" name="positionArrivalFeedback" placeholder="璇疯緭鍏ヤ綅缃埌杈惧弽棣�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍑嗗灏辩华: </label> + <div class="layui-input-block"> + <input class="layui-input" name="ready" placeholder="璇疯緭鍏ュ噯澶囧氨缁�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">杩愯涓�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="running" placeholder="璇疯緭鍏ヨ繍琛屼腑"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鑱旀満/鍗曟満: </label> + <div class="layui-input-block"> + <input class="layui-input" name="mode" placeholder="璇疯緭鍏ヨ仈鏈�/鍗曟満"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">杈撻�佺嚎鍓嶇鍏夌數鏈夎揣: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="lineFrontHasStock" placeholder="璇疯緭鍏ヨ緭閫佺嚎鍓嶇鍏夌數鏈夎揣">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">杈撻�佺嚎姝h浆鍙嶉: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="forwardRotationFeedback" placeholder="璇疯緭鍏ヨ緭閫佺嚎姝h浆鍙嶉">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">杈撻�佺嚎鍙嶈浆鍙嶉: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="reverseFeedback" placeholder="璇疯緭鍏ヨ緭閫佺嚎鍙嶈浆鍙嶉">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">杈撻�佺嚎鐢垫満杩囪浇: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="motorOverload" placeholder="璇疯緭鍏ヨ緭閫佺嚎鐢垫満杩囪浇">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">杈撻�佺嚎鏈鍏夌數鏈夎揣: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="lineEndHasStock" placeholder="璇疯緭鍏ヨ緭閫佺嚎鏈鍏夌數鏈夎揣">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">杩涜緭閫佺嚎鍗℃墭鐩樻姤璀�: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="inConveyLineCardTrayAlarm" placeholder="璇疯緭鍏ヨ繘杈撻�佺嚎鍗℃墭鐩樻姤璀�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">鍑鸿緭閫佺嚎鍗℃墭鐩樻姤璀�: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="outConveyLineCardTrayAlarm" placeholder="璇疯緭鍏ュ嚭杈撻�佺嚎鍗℃墭鐩樻姤璀�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">骞冲彴浣嶇疆鍋忓樊鎶ヨ: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="platPositionDeviationAlarm" placeholder="璇疯緭鍏ュ钩鍙颁綅缃亸宸姤璀�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">骞冲彴鎵煩鍋忓樊鎶ヨ: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="platTorqueDeviationAlarm" placeholder="璇疯緭鍏ュ钩鍙版壄鐭╁亸宸姤璀�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">骞冲彴鍥涘悜杞︽娴�: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="platShuttleCheck" placeholder="璇疯緭鍏ュ钩鍙板洓鍚戣溅妫�娴�">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-form-item"> + <label class="layui-form-label">鏈氨缁姸鎬�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="notReady" placeholder="璇疯緭鍏ユ湭灏辩华鐘舵��"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">浼烘湇1閿欒: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="servoError1" placeholder="璇疯緭鍏ヤ己鏈�1閿欒">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">浼烘湇2閿欒: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="servoError2" placeholder="璇疯緭鍏ヤ己鏈�2閿欒">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">浼烘湇3閿欒: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="servoError3" placeholder="璇疯緭鍏ヤ己鏈�3閿欒">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">浼烘湇4閿欒: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="servoError4" placeholder="璇疯緭鍏ヤ己鏈�4閿欒">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">鎻愬崌鏈哄疄闄呴�熷害鍙嶉: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="liftActualSpeed" placeholder="璇疯緭鍏ユ彁鍗囨満瀹為檯閫熷害鍙嶉">--> +<!-- </div>--> +<!-- </div>--> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/admin/basLiftErr/basLiftErr.html b/src/main/webapp/views/admin/basLiftErr/basLiftErr.html new file mode 100644 index 0000000..c565951 --- /dev/null +++ b/src/main/webapp/views/admin/basLiftErr/basLiftErr.html @@ -0,0 +1,134 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="errorCode" placeholder="寮傚父鐮�" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="basLiftErr" lay-filter="basLiftErr"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basLiftErr/basLiftErr.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">寮傚父鐮�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="errorCode" placeholder="璇疯緭鍏ュ紓甯哥爜" lay-vertype="tips" lay-verify="required"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">寮傚父: </label> + <div class="layui-input-block"> + <input class="layui-input" name="errName" placeholder="璇疯緭鍏ュ紓甯�"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">淇敼浜哄憳: </label>--> +<!-- <div class="layui-input-block cool-auto-complete">--> +<!-- <input class="layui-input" name="modiUser" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none">--> +<!-- <input id="modiUser$" name="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>--> +<!-- <div class="cool-auto-complete-window">--> +<!-- <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">--> +<!-- <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">--> +<!-- </select>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">淇敼鏃堕棿: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="modiTime" id="modiTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">娣诲姞浜哄憳: </label>--> +<!-- <div class="layui-input-block cool-auto-complete">--> +<!-- <input class="layui-input" name="appeUser" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none">--> +<!-- <input id="appeUser$" name="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()>--> +<!-- <div class="cool-auto-complete-window">--> +<!-- <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">--> +<!-- <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">--> +<!-- </select>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">娣诲姞鏃堕棿: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="appeTime" id="appeTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�">--> +<!-- </div>--> +<!-- </div>--> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/admin/basLiftErrLog/basLiftErrLog.html b/src/main/webapp/views/admin/basLiftErrLog/basLiftErrLog.html new file mode 100644 index 0000000..7886300 --- /dev/null +++ b/src/main/webapp/views/admin/basLiftErrLog/basLiftErrLog.html @@ -0,0 +1,240 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="basLiftErrLog" lay-filter="basLiftErrLog"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> +<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>--> +<!-- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>--> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basLiftErrLog/basLiftErrLog.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label">缂栧彿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="uuid" placeholder="璇疯緭鍏ョ紪鍙�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">宸ヤ綔鍙�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="wrkNo" placeholder="璇疯緭鍏ュ伐浣滃彿"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍙戠敓鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="startTime" id="startTime$" placeholder="璇疯緭鍏ュ彂鐢熸椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">缁撴潫鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="endTime" id="endTime$" placeholder="璇疯緭鍏ョ粨鏉熸椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">宸ヤ綔鐘舵��: </label> + <div class="layui-input-block cool-auto-complete"> + <input class="layui-input" name="wrkSts" placeholder="璇疯緭鍏ュ伐浣滅姸鎬�" style="display: none"> + <input id="wrkSts$" name="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ュ伐浣滅姸鎬�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basWrkStatusQueryBywrkSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basWrkStatusQueryBywrkStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍏ュ嚭搴撶被鍨�: </label> + <div class="layui-input-block cool-auto-complete"> + <input class="layui-input" name="ioType" placeholder="璇疯緭鍏ュ叆鍑哄簱绫诲瀷" style="display: none"> + <input id="ioType$" name="ioType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ュ叆鍑哄簱绫诲瀷" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basWrkIotypeQueryByioType" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basWrkIotypeQueryByioTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鎻愬崌鏈�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="liftNo" placeholder="璇疯緭鍏ユ彁鍗囨満"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">plc: </label> + <div class="layui-input-block"> + <input class="layui-input" name="plcNo" placeholder="璇疯緭鍏lc"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐩爣搴撲綅: </label> + <div class="layui-input-block"> + <input class="layui-input" name="locNo" placeholder="璇疯緭鍏ョ洰鏍囧簱浣�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐩爣绔�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="staNo" placeholder="璇疯緭鍏ョ洰鏍囩珯"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">婧愮珯: </label> + <div class="layui-input-block"> + <input class="layui-input" name="sourceStaNo" placeholder="璇疯緭鍏ユ簮绔�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">婧愬簱浣�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="sourceLocNo" placeholder="璇疯緭鍏ユ簮搴撲綅"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鏉$爜: </label> + <div class="layui-input-block"> + <input class="layui-input" name="barcode" placeholder="璇疯緭鍏ユ潯鐮�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">寮傚父鐮�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="errCode" placeholder="璇疯緭鍏ュ紓甯哥爜"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">寮傚父: </label> + <div class="layui-input-block"> + <input class="layui-input" name="error" placeholder="璇疯緭鍏ュ紓甯�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">寮傚父鎯呭喌: </label> + <div class="layui-input-block"> + <select name="status"> + <option value="">璇烽�夋嫨寮傚父鎯呭喌</option> + <option value="1">鏈鐞�</option> + <option value="2">宸蹭慨澶�</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">娣诲姞鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="createTime" id="createTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">娣诲姞浜哄憳: </label> + <div class="layui-input-block cool-auto-complete"> + <input class="layui-input" name="createBy" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none"> + <input id="createBy$" name="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">淇敼鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">淇敼浜哄憳: </label> + <div class="layui-input-block cool-auto-complete"> + <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none"> + <input id="updateBy$" name="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">澶囨敞: </label> + <div class="layui-input-block"> + <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/admin/basLiftOpt/basLiftOpt.html b/src/main/webapp/views/admin/basLiftOpt/basLiftOpt.html new file mode 100644 index 0000000..5656634 --- /dev/null +++ b/src/main/webapp/views/admin/basLiftOpt/basLiftOpt.html @@ -0,0 +1,134 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="basLiftOpt" lay-filter="basLiftOpt"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> +<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>--> +<!-- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>--> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basLiftOpt/basLiftOpt.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label">浠诲姟鍙�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="wrkNo" placeholder="璇疯緭鍏ヤ换鍔″彿"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鎻愬崌鏈哄彿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="liftNo" placeholder="璇疯緭鍏ユ彁鍗囨満鍙�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">涓嬪彂鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="sendTime" id="sendTime$" placeholder="璇疯緭鍏ヤ笅鍙戞椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">淇敼鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">淇敼浜哄憳: </label> + <div class="layui-input-block cool-auto-complete"> + <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none"> + <input id="updateBy$" name="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">澶囨敞: </label> + <div class="layui-input-block"> + <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍛戒护: </label> + <div class="layui-input-block"> + <input class="layui-input" name="command" placeholder="璇疯緭鍏ュ懡浠�"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/admin/basLocSts/basLocSts.html b/src/main/webapp/views/admin/basLocSts/basLocSts.html new file mode 100644 index 0000000..2dd1d01 --- /dev/null +++ b/src/main/webapp/views/admin/basLocSts/basLocSts.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="loc_sts" placeholder="搴撲綅鐘舵�佷唬鍙�" autocomplete="off"> + </div> + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<table class="layui-hide" id="basLocSts" lay-filter="basLocSts"></table> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basLocSts/basLocSts.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/basLocSts/basLocSts_detail.html b/src/main/webapp/views/admin/basLocSts/basLocSts_detail.html new file mode 100644 index 0000000..c069875 --- /dev/null +++ b/src/main/webapp/views/admin/basLocSts/basLocSts_detail.html @@ -0,0 +1,88 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form" style="text-align: center;"> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label" style="font-size: x-small"><span class="not-null">*</span>搴撲綅鐘舵�佷唬鍙凤細</label> + <div class="layui-input-inline"> + <input id="locSts" class="layui-input" type="text" onkeyup="check(this.id, 'basLocSts')" lay-verify="required"> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label" style="font-size: x-small">搴撲綅鐘舵�佹弿杩帮細</label> + <div class="layui-input-inline"> + <input id="locDesc" class="layui-input" type="text"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">淇敼浜哄憳锛�</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="modiUser" class="layui-input" type="text" style="display: none"> + <input id="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">淇敼鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="modiTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">鍒� 寤� 鑰咃細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="appeUser" class="layui-input" type="text" style="display: none"> + <input id="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">娣诲姞鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="appeTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basLocSts/basLocSts.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/basPlcerror/basPlcerror.html b/src/main/webapp/views/admin/basPlcerror/basPlcerror.html new file mode 100644 index 0000000..7a66bc2 --- /dev/null +++ b/src/main/webapp/views/admin/basPlcerror/basPlcerror.html @@ -0,0 +1,56 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="error_code" placeholder="寮傚父缂栧彿" autocomplete="off"> + </div> + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<div class="layui-form"> + <table class="layui-hide" id="basPlcerror" lay-filter="basPlcerror"></table> +</div> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basPlcerror/basPlcerror.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/basPlcerror/basPlcerror_detail.html b/src/main/webapp/views/admin/basPlcerror/basPlcerror_detail.html new file mode 100644 index 0000000..beb3368 --- /dev/null +++ b/src/main/webapp/views/admin/basPlcerror/basPlcerror_detail.html @@ -0,0 +1,96 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form" style="text-align: center"> + <!-- + <div class="layui-inline" style="display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="缂栧彿"> + </div> + </div> + --> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>寮傚父缂栧彿锛�</label> + <div class="layui-input-inline"> + <input id="errorCode" class="layui-input" type="text" onkeyup="check(this.id, 'basPlcerror')" lay-verify="required|number" > + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label">寮傚父鎻忚堪锛�</label> + <div class="layui-input-inline"> + <input id="errorDesc" class="layui-input" type="text"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">淇敼鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="modiTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">淇敼浜哄憳锛�</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="modiUser" class="layui-input" type="text" lay-verify="number" style="display: none"> + <input id="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">娣诲姞鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="appeTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">鍒� 寤� 鑰咃細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="appeUser" class="layui-input" type="text" lay-verify="number" style="display: none"> + <input id="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basPlcerror/basPlcerror.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/basShuttle/basShuttle.html b/src/main/webapp/views/admin/basShuttle/basShuttle.html new file mode 100644 index 0000000..b613769 --- /dev/null +++ b/src/main/webapp/views/admin/basShuttle/basShuttle.html @@ -0,0 +1,148 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="shuttle_no" placeholder="鍥涘悜绌挎杞﹀彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="basShuttle" lay-filter="basShuttle"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basShuttle/basShuttle.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">鍥涘悜绌挎杞﹀彿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="shuttleNo" placeholder="璇疯緭鍏ュ洓鍚戠┛姊溅鍙�" lay-vertype="tips" lay-verify="required"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐘舵��: </label> + <div class="layui-input-block"> + <select name="status"> + <option value="">璇烽�夋嫨鐘舵��</option> + <option value="1">姝e父</option> + <option value="0">绂佺敤</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">浣滀笟鎬�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="shuttleStatus" placeholder="璇疯緭鍏ヤ綔涓氭��"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">浠诲姟鍙�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="wrkNo" placeholder="璇疯緭鍏ヤ换鍔″彿"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鏆傚瓨搴撲綅: </label> + <div class="layui-input-block"> + <input class="layui-input" name="idleLoc" placeholder="璇疯緭鍏ユ殏瀛樺簱浣�"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">鑷姩鍏呯數: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="autoCharge" placeholder="璇疯緭鍏ヨ嚜鍔ㄥ厖鐢�">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-form-item"> + <label class="layui-form-label">鐢甸噺绾�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="chargeLine" placeholder="璇疯緭鍏ョ數閲忕嚎"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">澶囨敞: </label> + <div class="layui-input-block"> + <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鎻愬崌鏈哄彿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="liftNo" placeholder="璇疯緭鍏ユ彁鍗囨満鍙�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鏍囪: </label> + <div class="layui-input-block"> + <select name="pakMk"> + <option value="1">Y</option> + <option value="0">N</option> + </select> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/admin/basShuttleErr/basShuttleErr.html b/src/main/webapp/views/admin/basShuttleErr/basShuttleErr.html new file mode 100644 index 0000000..938325b --- /dev/null +++ b/src/main/webapp/views/admin/basShuttleErr/basShuttleErr.html @@ -0,0 +1,134 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="error_code" placeholder="寮傚父鐮�" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="basShuttleErr" lay-filter="basShuttleErr"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basShuttleErr/basShuttleErr.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">寮傚父鐮�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="errorCode" placeholder="璇疯緭鍏ュ紓甯哥爜" lay-vertype="tips" lay-verify="required"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">寮傚父: </label> + <div class="layui-input-block"> + <input class="layui-input" name="errName" placeholder="璇疯緭鍏ュ紓甯�"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">淇敼浜哄憳: </label>--> +<!-- <div class="layui-input-block cool-auto-complete">--> +<!-- <input class="layui-input" name="modiUser" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none">--> +<!-- <input id="modiUser$" name="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>--> +<!-- <div class="cool-auto-complete-window">--> +<!-- <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">--> +<!-- <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">--> +<!-- </select>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">淇敼鏃堕棿: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="modiTime" id="modiTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">娣诲姞浜哄憳: </label>--> +<!-- <div class="layui-input-block cool-auto-complete">--> +<!-- <input class="layui-input" name="appeUser" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none">--> +<!-- <input id="appeUser$" name="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()>--> +<!-- <div class="cool-auto-complete-window">--> +<!-- <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">--> +<!-- <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">--> +<!-- </select>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">娣诲姞鏃堕棿: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="appeTime" id="appeTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�">--> +<!-- </div>--> +<!-- </div>--> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/admin/basShuttleErrLog/basShuttleErrLog.html b/src/main/webapp/views/admin/basShuttleErrLog/basShuttleErrLog.html new file mode 100644 index 0000000..798b641 --- /dev/null +++ b/src/main/webapp/views/admin/basShuttleErrLog/basShuttleErrLog.html @@ -0,0 +1,240 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="basShuttleErrLog" lay-filter="basShuttleErrLog"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> +<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>--> +<!-- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>--> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> +<!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>--> +<!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>--> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basShuttleErrLog/basShuttleErrLog.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label">缂栧彿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="uuid" placeholder="璇疯緭鍏ョ紪鍙�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">宸ヤ綔鍙�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="wrkNo" placeholder="璇疯緭鍏ュ伐浣滃彿"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍙戠敓鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="startTime" id="startTime$" placeholder="璇疯緭鍏ュ彂鐢熸椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">缁撴潫鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="endTime" id="endTime$" placeholder="璇疯緭鍏ョ粨鏉熸椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">宸ヤ綔鐘舵��: </label> + <div class="layui-input-block cool-auto-complete"> + <input class="layui-input" name="wrkSts" placeholder="璇疯緭鍏ュ伐浣滅姸鎬�" style="display: none"> + <input id="wrkSts$" name="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ュ伐浣滅姸鎬�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basWrkStatusQueryBywrkSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basWrkStatusQueryBywrkStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍏ュ嚭搴撶被鍨�: </label> + <div class="layui-input-block cool-auto-complete"> + <input class="layui-input" name="ioType" placeholder="璇疯緭鍏ュ叆鍑哄簱绫诲瀷" style="display: none"> + <input id="ioType$" name="ioType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ュ叆鍑哄簱绫诲瀷" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basWrkIotypeQueryByioType" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basWrkIotypeQueryByioTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">绌挎杞�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="steNo" placeholder="璇疯緭鍏ョ┛姊溅"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">plc: </label> + <div class="layui-input-block"> + <input class="layui-input" name="plcNo" placeholder="璇疯緭鍏lc"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐩爣搴撲綅: </label> + <div class="layui-input-block"> + <input class="layui-input" name="locNo" placeholder="璇疯緭鍏ョ洰鏍囧簱浣�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐩爣绔�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="staNo" placeholder="璇疯緭鍏ョ洰鏍囩珯"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">婧愮珯: </label> + <div class="layui-input-block"> + <input class="layui-input" name="sourceStaNo" placeholder="璇疯緭鍏ユ簮绔�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">婧愬簱浣�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="sourceLocNo" placeholder="璇疯緭鍏ユ簮搴撲綅"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鏉$爜: </label> + <div class="layui-input-block"> + <input class="layui-input" name="barcode" placeholder="璇疯緭鍏ユ潯鐮�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">寮傚父鐮�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="errCode" placeholder="璇疯緭鍏ュ紓甯哥爜"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">寮傚父: </label> + <div class="layui-input-block"> + <input class="layui-input" name="error" placeholder="璇疯緭鍏ュ紓甯�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">寮傚父鎯呭喌: </label> + <div class="layui-input-block"> + <select name="status"> + <option value="">璇烽�夋嫨寮傚父鎯呭喌</option> + <option value="1">鏈鐞�</option> + <option value="2">宸蹭慨澶�</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">娣诲姞鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="createTime" id="createTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">娣诲姞浜哄憳: </label> + <div class="layui-input-block cool-auto-complete"> + <input class="layui-input" name="createBy" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none"> + <input id="createBy$" name="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">淇敼鏃堕棿: </label> + <div class="layui-input-block"> + <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">淇敼浜哄憳: </label> + <div class="layui-input-block cool-auto-complete"> + <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none"> + <input id="updateBy$" name="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">澶囨敞: </label> + <div class="layui-input-block"> + <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/admin/basShuttleErrLog/basShuttleOpt.html b/src/main/webapp/views/admin/basShuttleErrLog/basShuttleOpt.html new file mode 100644 index 0000000..ae87226 --- /dev/null +++ b/src/main/webapp/views/admin/basShuttleErrLog/basShuttleOpt.html @@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="wrk_no" placeholder="宸ヤ綔鍙�" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="send_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="basShuttleOpt" lay-filter="basShuttleOpt"></table> + </div> + </div> +</div> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basShuttleErrLog/basShuttleOpt.js" charset="utf-8"></script> +</body> +</html> + diff --git a/src/main/webapp/views/admin/basWrkIotype/basWrkIotype.html b/src/main/webapp/views/admin/basWrkIotype/basWrkIotype.html new file mode 100644 index 0000000..94d99a8 --- /dev/null +++ b/src/main/webapp/views/admin/basWrkIotype/basWrkIotype.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="io_type" placeholder="鍏ュ嚭绫诲瀷浠e彿" autocomplete="off"> + </div> + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<table class="layui-hide" id="basWrkIotype" lay-filter="basWrkIotype"></table> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basWrkIotype/basWrkIotype.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/basWrkIotype/basWrkIotype_detail.html b/src/main/webapp/views/admin/basWrkIotype/basWrkIotype_detail.html new file mode 100644 index 0000000..e9bb624 --- /dev/null +++ b/src/main/webapp/views/admin/basWrkIotype/basWrkIotype_detail.html @@ -0,0 +1,94 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form" style="text-align: center"> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label" style="font-size: x-small"><span class="not-null">*</span>鍏ュ嚭绫诲瀷浠e彿锛�</label> + <div class="layui-input-inline"> + <input id="ioType" class="layui-input" type="text" onkeyup="check(this.id, 'basWrkIotype')" lay-verify="required|number"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label"><span class="not-null">*</span>涓汇��銆�瑕侊細</label> + <div class="layui-input-inline"> + <input id="ioPri" class="layui-input" type="text" > + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label" style="font-size: x-small">鍏ュ嚭绫诲瀷鎻忚堪锛�</label> + <div class="layui-input-inline"> + <input id="ioDesc" class="layui-input" type="text"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">淇敼浜哄憳锛�</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="modiUser" class="layui-input" type="text" style="display: none"> + <input id="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">淇敼鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="modiTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">鍒� 寤� 鑰咃細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="appeUser" class="layui-input" type="text" style="display: none"> + <input id="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">娣诲姞鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="appeTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basWrkIotype/basWrkIotype.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/basWrkStatus/basWrkStatus.html b/src/main/webapp/views/admin/basWrkStatus/basWrkStatus.html new file mode 100644 index 0000000..a598d16 --- /dev/null +++ b/src/main/webapp/views/admin/basWrkStatus/basWrkStatus.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="wrk_sts" placeholder="浠e彿" autocomplete="off"> + </div> + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<table class="layui-hide" id="basWrkStatus" lay-filter="basWrkStatus"></table> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basWrkStatus/basWrkStatus.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/basWrkStatus/basWrkStatus_detail.html b/src/main/webapp/views/admin/basWrkStatus/basWrkStatus_detail.html new file mode 100644 index 0000000..ed48b5d --- /dev/null +++ b/src/main/webapp/views/admin/basWrkStatus/basWrkStatus_detail.html @@ -0,0 +1,96 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form" style="text-align: center"> + <!-- + <div class="layui-inline" style="display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="缂栧彿"> + </div> + </div> + --> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>浠c��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="wrkSts" class="layui-input" type="text" onkeyup="check(this.id, 'basWrkStatus')" lay-verify="required|number"> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>鐘舵�佹弿杩帮細</label> + <div class="layui-input-inline"> + <input id="wrkDesc" class="layui-input" type="text" lay-verify="required"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">淇敼浜哄憳锛�</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="modiUser" class="layui-input" type="text" style="display: none"> + <input id="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">淇敼鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="modiTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">鍒� 寤� 鑰咃細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="appeUser" class="layui-input" type="text" style="display: none"> + <input id="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label">娣诲姞鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="appeTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/basWrkStatus/basWrkStatus.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/config/config.html b/src/main/webapp/views/admin/config/config.html new file mode 100644 index 0000000..a829c6e --- /dev/null +++ b/src/main/webapp/views/admin/config/config.html @@ -0,0 +1,55 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<table class="layui-hide" id="config" lay-filter="config"></table> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/config/config.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/config/config_detail.html b/src/main/webapp/views/admin/config/config_detail.html new file mode 100644 index 0000000..1b30cb8 --- /dev/null +++ b/src/main/webapp/views/admin/config/config_detail.html @@ -0,0 +1,83 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form"> + <div class="layui-inline" style="display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="缂栧彿"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鍚嶃��銆�绉帮細</label> + <div class="layui-input-inline"> + <input id="name" class="layui-input" type="text" placeholder="鍚嶇О" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鐮侊細</label> + <div class="layui-input-inline"> + <input id="code" class="layui-input" type="text" placeholder="缂栫爜" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:97%;"> + <label class="layui-form-label"><span class="not-null">*</span>瀵� 搴� 鍊硷細</label> + <div class="layui-input-inline"> + <input id="value" class="layui-input" type="text" placeholder="瀵瑰簲鍊�" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>绫汇��銆�鍨嬶細</label> + <div class="layui-input-inline"> + <select id="type" lay-verify="required"> + <option value="" style="display: none"></option> + <option value="1">String</option> + <option value="2">JSON</option> + </select> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label> + <div class="layui-input-inline"> + <select id="status" lay-verify="required"> + <option value="" style="display: none"></option> + <option value="1">姝e父</option> + <option value="0">绂佺敤</option> + </select> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/config/config.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/detail.html b/src/main/webapp/views/admin/detail.html new file mode 100644 index 0000000..0bb264b --- /dev/null +++ b/src/main/webapp/views/admin/detail.html @@ -0,0 +1,172 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <script type="text/javascript" src="../../static/js/common.js"></script> + <style> + body { + background-color: #fff; + } + #container { + padding: 15px; + margin-top: 15px + } + .layui-card-body { + padding: 20px 15px 5px 15px; + } + .layui-form-item { + margin-bottom: 18px; + } + .layui-form-label { + color: #999!important;; + width: 60px; + } + .layui-input-block { + margin-left: 90px; + } + #update-password { + padding: 0 20px 0 15px; + } + .layui-btn .layui-icon { + margin-right: 0; + } + </style> +</head> +<body id="body"> +<div id="container"> + <fieldset class="layui-elem-field"> + <legend>璁剧疆鎴戠殑璧勬枡</legend> + <div class="layui-card-body"> + <div id="person-detail" class="layui-form"> + <div class="layui-form-item" style="display: none"> + <label class="layui-form-label">缂栧彿</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">瑙掕壊</label> + <div class="layui-input-inline"> + <input id="roleName" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off" disabled="disabled"> + </div> + <div class="layui-form-mid layui-word-aux">褰撳墠瑙掕壊涓嶅彲鏇存敼涓哄叾瀹冭鑹�</div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍚嶇О</label> + <div class="layui-input-inline"> + <input id="username" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">璐﹀彿</label> + <div class="layui-input-inline"> + <input id="mobile" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + <div class="layui-form-mid layui-word-aux">閲嶈锛佷竴鑸敤浜庡悗鍙扮櫥鍏�</div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">瀵嗙爜</label> + <div class="layui-input-inline"> + <input id="password" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <button id="update-password" class="layui-btn layui-btn-primary"> + <i class="layui-icon"></i> + 淇敼瀵嗙爜 + </button> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">娉ㄥ唽鏃堕棿</label> + <div class="layui-input-inline"> + <input id="createTime$" class="layui-input" type="text" placeholder="璇疯緭鍏�" autocomplete="off" disabled="disabled"> + </div> + <div class="layui-form-mid layui-word-aux">涓嶅彲淇敼</div> + </div> + <div class="layui-form-item"> + <div class="layui-input-block"> + <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">纭淇敼</button> + </div> + </div> + </div> + </div> + </fieldset> +</div> +</body> +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script src="../../static/layui/layui.js"></script> +<script> + layui.use(['form'], function(){ + var form = layui.form, + layer = layui.layer, + $ = layui.jquery; + + // 鍒濆鍖栬〃鍗曟暟鎹� + $.ajax({ + url: baseUrl+"/user/detail/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'POST', + success: function (res) { + if (res.code === 200){ + var user = res.data; + for (var val in user) { + $('#person-detail').find(":input[id='" + val + "']").val(user[val]); + } + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg); + } + } + }); + + // 淇敼瀵嗙爜 + $(document).on('click','#update-password', function () { + layer.open({ + type: 2, + title: '淇敼瀵嗙爜', + maxmin: true, + area: ['350px', '310px'], + shadeClose: false, + content: 'password.html', + success: function(layero, index){ + layer.iframeAuto(index); + } + }) + }); + + + // 淇濆瓨淇敼 + form.on('submit(save)', function (data) { + var user = { + id: $('#id').val(), + username: $('#username').val(), + mobile: $("#mobile").val(), + }; + layer.confirm('纭畾淇敼璧勬枡鍚楋紵', function(){ + $.ajax({ + url: baseUrl+"/user/update/auth", + headers: {'token': localStorage.getItem('token')}, + data: user, + method: 'POST', + success: function (res) { + if (res.code === 200){ + layer.msg(res.msg); + localStorage.setItem("username", user.username); + parent.$('#person-username').text(localStorage.getItem('username')); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg); + } + } + }); + }); + return false; + }); + }); +</script> +</html> \ No newline at end of file diff --git a/src/main/webapp/views/admin/index.html b/src/main/webapp/views/admin/index.html new file mode 100644 index 0000000..e9d4c80 --- /dev/null +++ b/src/main/webapp/views/admin/index.html @@ -0,0 +1,199 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>娴欐睙涓壃 - 鑷姩鍖栫珛浣撲粨搴� - AS / RS</title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/loader.css" media="all"> + <style> + .layui-logo img { + width: 25px; + } + .layui-logo cite { + font-size: 18px; + font-weight: 400; + /*margin-left: 5px;*/ + } + </style> +</head> +<body class="layui-layout-body"> +<div class="layui-layout layui-layout-admin"> + <!-- 澶撮儴 --> + <div class="layui-header"> + <div class="layui-logo"> + <img src="../../static/images/zy-logo-dark.png" style="display: inline-block; width: 60%;height: auto"> + <!-- <span style="margin-top: 0; letter-spacing: 10px">涓壃绔嬪簱</span>--> + <!-- <img src="../static/image/logo.svg"/>--> + <!-- <cite>涓壃 - Zoneyung</cite>--> + </div> + + <ul class="layui-nav layui-layout-left"> + <li class="layui-nav-item" lay-unselect> + <a ew-event="flexible" title="渚ц竟浼哥缉"><i class="layui-icon layui-icon-shrink-right"></i></a> + </li> + <li class="layui-nav-item" lay-unselect> + <a ew-event="refresh" title="鍒锋柊"><i class="layui-icon layui-icon-refresh-3"></i></a> + </li> + </ul> + <ul class="layui-nav layui-layout-right"> +<!-- <li class="layui-nav-item" lay-unselect>--> +<!-- <a ew-event="note" title="渚跨"><i class="layui-icon layui-icon-note"></i></a>--> +<!-- </li>--> + <li class="layui-nav-item" lay-unselect id="licenseShow" style="display: none;user-select: none;"> + <div style="color: red;">璁稿彲璇佹湁鏁堟湡锛�<span id="licenseDays">29</span>澶�</div> + </li> + <li class="layui-nav-item layui-hide-xs" lay-unselect> + <a ew-event="fullScreen" title="鍏ㄥ睆"><i class="layui-icon layui-icon-screen-full"></i></a> + </li> + <li class="layui-nav-item" lay-unselect> + <a> + <cite id="username" style="margin-right: 5px">绠$悊鍛�</cite> + </a> + <dl class="layui-nav-child"> + <dd lay-unselect><a ew-href="detail.html?resourceId=8">鍩烘湰璧勬枡</a></dd> + <hr> + <dd lay-unselect><a id="logout">閫�鍑�</a></dd> + </dl> + </li> + <li class="layui-nav-item" lay-unselect> + <a ew-event="theme" title="涓婚"><i class="layui-icon layui-icon-more-vertical"></i></a> + </li> + </ul> + </div> + + <!-- 渚ц竟鏍� --> + <div class="layui-side"> + <div class="layui-side-scroll"> + <ul id="menu-main" class="layui-nav layui-nav-tree arrow2" lay-filter="admin-side-nav" lay-shrink="_all"> + </ul> + </div> + </div> + + <!-- 涓讳綋閮ㄥ垎 --> + <div class="layui-body"></div> + <!-- 搴曢儴 --> + <div class="layui-footer layui-text"> + copyright 漏 2023 娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙� all rights reserved. + <span class="pull-right">Version 1.0.0</span> + </div> + +</div> + +<!--鍒濆鍖栧姞杞藉眰--> +<div class="layuimini-loader"> + <div class="layuimini-loader-inner"></div> +</div> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> +<script type="text/javascript" src="../../static/js/common.js"></script> +<script> + console.log('%c 涓壃绔嬪簱骞冲彴 %c 1.0.0','background-color:rgb(53,73,94);color: #fff;border-radius:2px 0 0 2px;padding:2px 4px;','background-color:rgb(25,190,107);color: #fff;border-radius:0 2px 2px 0;padding:2px 4px;font: 9pt "Apercu Regular", Georgia, "Times New Roman", Times, serif;'); + $(function () { + if ("" === localStorage.getItem('token')) { + top.location.href = baseUrl + "/login"; + } + }); + + layui.config({ + base: baseUrl + "/static/layui/lay/modules/" + }).extend({ + notice: 'notice/notice', + }).use(['index', 'element', 'layer', 'admin', 'notice'], function () { + var $ = layui.jquery; + var index = layui.index; + var element = layui.element; + var layer = layui.layer; + var admin = layui.admin; + var notice = layui.notice; + + var easywebIframeMsg = localStorage.getItem("easyweb-iframe"); + if (!isEmpty(easywebIframeMsg)) { + var easywebIframeObj = JSON.parse(easywebIframeMsg); + if (easywebIframeObj.defaultTheme === undefined) { + admin.changeTheme("theme-colorful"); + } + } + + $.ajax({ + url: baseUrl + "/menu/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'POST', + // async: false, + success: function (res) { + // 鍏抽棴鍔犺浇鍔ㄧ敾 + $('.layuimini-loader').fadeOut(); + if (res.code === 200) { + var tpl = $('#menuTpl').html(); + var template = Handlebars.compile(tpl); + var html = template(res); + $("#menu-main").html(html); + element.init(); + } else if (res.code === 403) { + top.location.href = baseUrl + "/login"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }); + + $.ajax({ + url: baseUrl + "/license/getLicenseDays", + headers: {'token': localStorage.getItem('token')}, + method: 'POST', + success: function (res) { + if (res.code == 200) { + let days = res.data + if (days <= 30) { + $("#licenseShow").show() + $("#licenseDays").html(days) + } + }else { + top.location.href = baseUrl + "/login"; + } + } + }); + + // 榛樿鍔犺浇涓婚〉 + index.loadHome({ + menuPath: baseUrl+'/views/admin/wrkMast/wrkMast.html', + menuName: '<i class="layui-icon layui-icon-home"></i>' + }); + + $('#username').text(localStorage.getItem('username')); + + $(document).on('click','#logout', function () { + window.location.href = "login.html"; + localStorage.removeItem('token'); + localStorage.removeItem('username'); + admin.closeAllTabs(); + }); + + // 鏇挎崲閫�鍑烘寜閽彉閲� + var logout = document.getElementById('logout'); + var url = logout.getAttribute('href'); + logout.setAttribute('href', baseUrl + "/login"); + + }); +</script> +<script type="text/html" id="menuTpl"> + {{#each data}} + <li class="layui-nav-item"> + <a><i class="layui-icon {{this.menuIcon}}"></i> <cite>{{this.menu}}</cite></a> + <dl class="layui-nav-child"> + {{#each this.subMenu}} + <dd><a lay-href="{{this.code}}?resourceId={{this.id}}">{{this.name}}</a></dd> + {{/each}} + </dl> + </li> + {{/each}} +</script> +</body> +</html> + + diff --git a/src/main/webapp/views/admin/locMast/locMast.html b/src/main/webapp/views/admin/locMast/locMast.html new file mode 100644 index 0000000..f2151e7 --- /dev/null +++ b/src/main/webapp/views/admin/locMast/locMast.html @@ -0,0 +1,177 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> + <style> + #btn-init { + display: none; + } + .layui-layer-page .layui-layer-content { + position: relative; + overflow: visible !important; + } + + </style> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="loc_sts" placeholder="搴撲綅鐘舵��" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="row1" placeholder="鎺�" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="bay1" placeholder="鍒�" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="lev1" placeholder="灞�" autocomplete="off"> + </div> + </div> + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<div class="layui-form"> + <table class="layui-hide" id="locMast" lay-filter="locMast"></table> +</div> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary" id="btn-init" lay-event="init">鍒濆鍖�</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> +<!-- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>--> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/locMast/locMast.js" charset="utf-8"></script> +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +<!-- 閲嶇疆搴撲綅寮圭獥 --> +<div id="resetLocDiv" style="margin: 20px 0 10px 30px; display: none"> + <div class="layui-form layui-form-pane"> + <!-- 鎺� --> + <div class="layui-form-item"> + <div class="layui-inline"> + <label class="layui-form-label">璧锋鎺�</label> + <div class="layui-input-inline" style="width: 100px;"> + <input type="text" name="startRow" autocomplete="off" class="layui-input" lay-verify="required|number"> + </div> + <div class="layui-form-mid">-</div> + <div class="layui-input-inline" style="width: 100px;"> + <input type="text" name="endRow" autocomplete="off" class="layui-input" lay-verify="required|number"> + </div> + </div> + </div> + <!-- 鍒� --> + <div class="layui-form-item"> + <div class="layui-inline"> + <label class="layui-form-label">璧锋鍒�</label> + <div class="layui-input-inline" style="width: 100px;"> + <input type="text" name="startBay" autocomplete="off" class="layui-input" lay-verify="required|number"> + </div> + <div class="layui-form-mid">-</div> + <div class="layui-input-inline" style="width: 100px;"> + <input type="text" name="endBay" autocomplete="off" class="layui-input" lay-verify="required|number"> + </div> + </div> + </div> + <!-- 灞� --> + <div class="layui-form-item"> + <div class="layui-inline"> + <label class="layui-form-label">璧锋灞�</label> + <div class="layui-input-inline" style="width: 100px;"> + <input type="text" name="startLev" autocomplete="off" class="layui-input" lay-verify="required|number"> + </div> + <div class="layui-form-mid">-</div> + <div class="layui-input-inline" style="width: 100px;"> + <input type="text" name="endLev" autocomplete="off" class="layui-input" lay-verify="required|number"> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鍫嗗灈鏈烘暟閲�</label> + <div class="layui-input-inline"> + <input type="text" name="crnAmount" lay-verify="required|number" autocomplete="off" class="layui-input"> + </div> + </div> + <!-- 搴撲綅绫诲瀷 --> + <div class="layui-form-item"> + <label class="layui-form-label">楂樹綆绫诲瀷</label> + <div class="layui-input-inline"> + <select name="locType1"> + <option style="display: none"></option> + <option value="0">鏈煡</option> + <option value="1">浣庡簱浣�</option> + <option value="2">楂樺簱浣�</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">瀹界獎绫诲瀷</label> + <div class="layui-input-inline"> + <select name="locType2"> + <option style="display: none"></option> + <option value="0">鏈煡</option> + <option value="1">绐勫簱浣�</option> + <option value="2">瀹藉簱浣�</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">杞婚噸绫诲瀷</label> + <div class="layui-input-inline"> + <select name="locType3"> + <option style="display: none"></option> + <option value="0">鏈煡</option> + <option value="1">杞诲簱浣�</option> + <option value="2">閲嶅簱浣�</option> + </select> + </div> + </div> + <div id="prompt" style="text-indent: 10px;"> + <span class="not-null">鍒濆鍖栧簱浣嶅悗灏嗗垹闄ゅ簱瀛樻槑缁嗭紝璇疯皑鎱庢搷浣滐紒</span> + </div> + <!-- 鎸夐挳 --> + <div style="text-align: center; margin-top: 20px"> + <button class="layui-btn layui-btn-radius layui-btn-normal" id="initDo" lay-submit lay-filter="initDo">纭畾</button> + </div> + </div> +</div> +</body> +</html> + diff --git a/src/main/webapp/views/admin/locMast/locMast_detail.html b/src/main/webapp/views/admin/locMast/locMast_detail.html new file mode 100644 index 0000000..a4de168 --- /dev/null +++ b/src/main/webapp/views/admin/locMast/locMast_detail.html @@ -0,0 +1,88 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form" style="text-align: center"> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>搴� 浣� 鍙凤細</label> + <div class="layui-input-inline"> + <input id="locNo" class="layui-input" type="text" onkeyup="check(this.id, 'locMast')"> + </div> + </div> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label"><span class="not-null">*</span>锛�</label> + <div class="layui-input-inline"> + <input id="locType" class="layui-input" type="text" > + </div> + </div> + <div class="layui-inline" style="width:80%; display: none"> + <label class="layui-form-label">搴撲綅绫诲瀷锛�</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="whsType" class="layui-input" type="text" style="display: none"> + <input id="whsType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basWhsQueryBywhsType" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basWhsQueryBywhsTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>搴撲綅鐘舵�侊細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="locSts" class="layui-input" type="text" style="display: none"> + <input id="locSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basLocStsQueryBylocSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basLocStsQueryBylocStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label">鎺掞細</label> + <div class="layui-input-inline"> + <input id="row1" class="layui-input" type="text" autocomplete="off" disabled="disabled"> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label">鍒楋細</label> + <div class="layui-input-inline"> + <input id="bay1" class="layui-input" type="text" autocomplete="off" disabled="disabled"> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label">灞傦細</label> + <div class="layui-input-inline"> + <input id="lev1" class="layui-input" type="text" autocomplete="off" disabled="disabled"> + </div> + </div> + + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/locMast/locMast.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/operateLog/operateLog.html b/src/main/webapp/views/admin/operateLog/operateLog.html new file mode 100644 index 0000000..f77d75d --- /dev/null +++ b/src/main/webapp/views/admin/operateLog/operateLog.html @@ -0,0 +1,70 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline cool-auto-complete"> + <input id="userId" class="layui-input" name="user_id" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <input id="userUsername" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鐢ㄦ埛" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <!-- 鏃ユ湡鑼冨洿 --> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<table class="layui-hide" id="operateLog" lay-filter="operateLog"></table> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> +<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>--> +<!-- <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>--> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 10px">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/operateLog/operateLog.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/operateLog/operateLog_detail.html b/src/main/webapp/views/admin/operateLog/operateLog_detail.html new file mode 100644 index 0000000..2875cc2 --- /dev/null +++ b/src/main/webapp/views/admin/operateLog/operateLog_detail.html @@ -0,0 +1,87 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form"> + <div class="layui-inline" style="display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="缂栧彿"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>璁块棶鍦板潃锛�</label> + <div class="layui-input-inline"> + <input id="action" class="layui-input" type="text" placeholder="璁块棶鍦板潃" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鐢ㄣ��銆�鎴凤細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="userId" class="layui-input" type="text" placeholder="鐢ㄦ埛" lay-verify="required" style="display: none"> + <input id="userUsername" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鐢ㄦ埛" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>瀹㈡埛绔疘P锛�</label> + <div class="layui-input-inline"> + <input id="ip" class="layui-input" type="text" placeholder="瀹㈡埛绔疘P" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>璇锋眰鏁版嵁锛�</label> + <div class="layui-input-inline"> + <input id="request" class="layui-input" type="text" placeholder="璇锋眰鏁版嵁" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鍝嶅簲鏁版嵁锛�</label> + <div class="layui-input-inline"> + <input id="response" class="layui-input" type="text" placeholder="鍝嶅簲鏁版嵁" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>娣诲姞鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="createTime$" class="layui-input" type="text" placeholder="娣诲姞鏃堕棿" lay-verify="required" autocomplete="off"> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/operateLog/operateLog.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/password.html b/src/main/webapp/views/admin/password.html new file mode 100644 index 0000000..faf8b1a --- /dev/null +++ b/src/main/webapp/views/admin/password.html @@ -0,0 +1,146 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <style> + #password-div { + padding: 20px 20px 20px 13px; + } + .layui-form-item { + margin-bottom: 8px; + } + .layui-form-item .layui-input-inline { + margin: 0 0 10px 100px + } + .layui-form-label { + color: #999!important;; + padding: 9px 0; + } + #password-btn { + padding-top: 5px; + margin-left: 40px; + display: flex; + justify-content: center; + align-items: center; + } + #password-btn.layui-btn-container .layui-btn{ + margin-right: 30px; + } + </style> +</head> +<body id="body"> +<div id="password-div"> + <div class="layui-form" lay-filter=""> + <div class="layui-form-item"> + <label class="layui-form-label">褰撳墠瀵嗙爜</label> + <div class="layui-input-inline"> + <input id="oldPassword" type="password" class="layui-input" lay-verify="checkPwd" lay-vertype="tips" autocomplete="off"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鏂板瘑鐮�</label> + <div class="layui-input-inline"> + <input type="password" class="layui-input" id="password" lay-verify="newPwd" lay-vertype="tips" autocomplete="off"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">纭鏂板瘑鐮�</label> + <div class="layui-input-inline"> + <input type="password" class="layui-input" id="rePassword" lay-verify="rePwd" lay-vertype="tips" autocomplete="off"> + </div> + </div> + <hr class="layui-bg-gray"> + <div id="password-btn" class="layui-form-item layui-btn-container"> + <div id="password-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="savePwd">淇濆瓨</div> + <div id="password-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + </div> +</div> +</body> +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/js/tools/md5.js"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script src="../../static/layui/layui.js"></script> +<script> + layui.use(['form'], function() { + var form = layui.form, + layer = layui.layer, + $ = layui.jquery; + + form.verify({ + checkPwd: function(val) { + if (val === ""){ + // return "褰撳墠瀵嗙爜涓嶈兘涓虹┖"; + } + if (parent.$('#password').val() !== hex_md5(val)) { + return "瀵嗙爜涓嶅尮閰�"; + } + }, + newPwd: function (val) { + if (val === ""){ + return "鏂板瘑鐮佷笉鑳戒负绌�"; + } + if (val.length < 4) { + return "涓嶈兘灏戜簬4涓瓧绗�"; + } + if (parent.$('#password').val() === hex_md5(val)) { + return "涓庢棫瀵嗙爜涓嶈兘鐩稿悓"; + } + }, + rePwd: function (val) { + if ($('#password').val() !== val){ + return "瀵嗙爜涓嶄竴鑷�"; + } + } + }); + + form.on('submit(savePwd)', function (data) { + var user = { + id: parent.$('#id').val(), + password: hex_md5($('#password').val()), + }; + $.ajax({ + url: baseUrl+"/user/update/auth", + headers: {'token': localStorage.getItem('token')}, + data: user, + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.close(); + layer.confirm('瀵嗙爜淇敼鎴愬姛锛岃閲嶆柊鐧诲綍',{ + btn: ['纭畾'], + btn1: function(){ + localStorage.removeItem("token"); + top.location.href = baseUrl+"/"; + }, + cancel: function(){ + localStorage.removeItem("token"); + top.location.href = baseUrl+"/"; + }, + closeBtn: 0, + shadeClose: false, + }) + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg); + } + } + }); + return false; + }); + + + }); + + // 鍏抽棴鍔ㄤ綔 + $(document).on('click','#password-close', function () { + parent.layer.closeAll(); + }); +</script> +</html> \ No newline at end of file diff --git a/src/main/webapp/views/admin/permission/permission.html b/src/main/webapp/views/admin/permission/permission.html new file mode 100644 index 0000000..f55c0c0 --- /dev/null +++ b/src/main/webapp/views/admin/permission/permission.html @@ -0,0 +1,66 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline cool-auto-complete"> + <input id="resourceId" class="layui-input" name="resource_id" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鎵�灞炶彍鍗�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<table class="layui-hide" id="permission" lay-filter="permission"></table> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/permission/permission.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/permission/permission_detail.html b/src/main/webapp/views/admin/permission/permission_detail.html new file mode 100644 index 0000000..ebbedbf --- /dev/null +++ b/src/main/webapp/views/admin/permission/permission_detail.html @@ -0,0 +1,79 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form"> + <div class="layui-inline" style="display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="缂栧彿"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鏉冮檺鍚嶇О锛�</label> + <div class="layui-input-inline"> + <input id="name" class="layui-input" type="text" placeholder="鏉冮檺鍚嶇О" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鎺ュ彛鍦板潃锛�</label> + <div class="layui-input-inline"> + <input id="action" class="layui-input" type="text" placeholder="鎺ュ彛鍦板潃" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">鎵�灞炶彍鍗曪細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="resourceId" class="layui-input" type="text" placeholder="鎵�灞炶彍鍗�" style="display: none"> + <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鎵�灞炶彍鍗�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label> + <div class="layui-input-inline"> + <select id="status" lay-verify="required"> + <option value="" style="display: none"></option> + <option value="1">姝e父</option> + <option value="0">绂佺敤</option> + </select> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/permission/permission.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/resource/resource.html b/src/main/webapp/views/admin/resource/resource.html new file mode 100644 index 0000000..d414c44 --- /dev/null +++ b/src/main/webapp/views/admin/resource/resource.html @@ -0,0 +1,309 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> + <style> + #detail { + padding: 25px 30px 0 0; + } + .ew-tree-table-box { + height: 100%; + } + </style> +</head> +<body> + + +<!-- 姝f枃寮�濮� --> +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <!-- 鏁版嵁琛ㄦ牸 --> + <table id="resource"></table> + </div> + </div> +</div> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-del" lay-event="del">鍒犻櫎</a> +</script> + +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form" style="margin: 0"> + <input name="id" type="hidden"> + <input name="uuid" type="hidden"> + <input name="level" type="hidden"> + <div class="layui-row"> + + <div class="layui-col-md6"> + + <div class="layui-form-item"> + <label class="layui-form-label">涓婄骇鑿滃崟</label> + <div class="layui-input-block"> + <div id="resourceParentSel" class="ew-xmselect-tree"></div> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">鑿滃崟缂栫爜</label> + <div class="layui-input-block"> + <input name="code" placeholder="璇疯緭鍏ヨ彍鍗曠紪鐮�" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">绫诲瀷</label> + <div class="layui-input-block"> + <select name="level" lay-vertype="tips" lay-verify="required" required=""> + <option value="">璇烽�夋嫨绫诲瀷</option> + <option value="1">涓�绾ц彍鍗�</option> + <option value="2">浜岀骇鑿滃崟</option> + <option value="3">鎸夐挳</option> + </select> + </div> + </div> + + </div> + + <div class="layui-col-md6"> + + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">鑿滃崟鍚嶇О</label> + <div class="layui-input-block"> + <input name="name" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label">鎺掑簭</label> + <div class="layui-input-block"> + <input name="sort" placeholder="璇疯緭鍏ユ帓搴�" class="layui-input" lay-verify="number"> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">鐘舵��</label> + <div class="layui-input-block"> + <select name="status" lay-vertype="tips" lay-verify="required" required=""> + <option value="">璇烽�夋嫨鐘舵��</option> + <option value="1">姝e父</option> + <option value="0">绂佺敤</option> + </select> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +<script type="text/html" id="typeTpl"> + {{# if( d.level === 1 ){ }} + <span name="level" class="layui-badge layui-badge-green">鑿滃崟</span> + {{# } else if(d.level === 2){ }} + <span name="level" class="layui-badge layui-badge-green">鑿滃崟</span> + {{# } else if(d.level === 3){ }} + <span name="level" class="layui-badge layui-badge-gray">鎸夐挳</span> + {{# } }} +</script> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> + +<script> + layui.config({ + base: baseUrl + "/static/layui/lay/modules/" + }).use(['form','treeTable', 'admin', 'xmSelect'], function() { + var $ = layui.jquery; + var layer = layui.layer; + var form = layui.form; + var admin = layui.admin; + var treeTable = layui.treeTable; + var xmSelect = layui.xmSelect; + var tbDataList = []; + + var insTb = treeTable.render({ + elem: '#resource', + url: baseUrl+'/resource/tree/auth', + headers: {token: localStorage.getItem('token')}, + height: 'full-200', + toolbar: ['<p>', + '<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon"></i>娣诲姞</button> ', + '<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon"></i>鍒犻櫎</button>', + '</p>'].join(''), + tree: { + iconIndex: 2, // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪 + isPidData: true, // 鏄惁鏄痠d銆乸id褰㈠紡鏁版嵁 + idName: 'id', // id瀛楁鍚嶇О + pidName: 'resourceId' // pid瀛楁鍚嶇О + }, + cols: [[ + {type: 'checkbox', fixed: 'left'} + ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80, hide: true} + ,{field: 'name', align: 'left',title: '鑿滃崟鍚嶇О'} + ,{field: 'code', align: 'center',title: '鑿滃崟缂栫爜'} + // ,{field: 'resourceName', align: 'center',title: '鐖剁骇鑿滃崟'} + // ,{field: 'level$', align: 'center',title: '鑿滃崟绛夌骇'} + ,{field: 'type', align: 'center',title: '绫诲瀷', templet: '#typeTpl', width: 120} + ,{field: 'sort', align: 'center',title: '鎺掑簭'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + done: function (data) { + $('.ew-tree-table-box').css('height', '100%'); + // insTb.expandAll(); + tbDataList = data; + limit(); + } + }); + + /* 琛ㄦ牸澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */ + treeTable.on('toolbar(resource)', function (obj) { + if (obj.event === 'add') { // 娣诲姞 + showEditModel(); + } else if (obj.event === 'del') { // 鍒犻櫎 + var checkRows = insTb.checkStatus(); + if (checkRows.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + var ids = checkRows.map(function (d) { + if (!d.LAY_INDETERMINATE) { + return d.id; + } else { + return null; + } + }); + doDel({ids: ids}); + } + }); + + /* 琛ㄦ牸鎿嶄綔鍒楃偣鍑讳簨浠� */ + treeTable.on('tool(resource)', function (obj) { + if (obj.event === 'edit') { // 淇敼 + showEditModel(obj.data); + } else if (obj.event === 'del') { // 鍒犻櫎 + doDel(obj); + } + }); + + /* 鏄剧ず琛ㄥ崟寮圭獥 */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '鏉冮檺', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + // 鍥炴樉琛ㄥ崟鏁版嵁 + form.val('detail', mData); + // 琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(editSubmit)', function (data) { + data.field.resourceId = insXmSel.getValue('valueStr'); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/resource/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + insTb.refresh(); + setTimeout(function () { + insTb.expand(data.field.resourceId); + }, 200) + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + + // 娓叉煋涓嬫媺鏍� + var insXmSel = xmSelect.render({ + el: '#resourceParentSel', + height: '250px', + data: insTb.options.data, + initValue: mData&&mData.resourceId!=null ? [mData.resourceId] : [], + model: {label: {type: 'text'}}, + prop: { + name: 'name', + value: 'id' + }, + radio: true, + clickClose: true, + tree: { + show: true, + indent: 15, + strict: false, + expandedKeys: false + } + }); + // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯 + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function doDel(obj) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + var ids; + if (obj.data) { + ids = []; + ids[0] = obj.data.id; + } else { + ids = obj.ids; + } + $.ajax({ + url: baseUrl+"/resource/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + insTb.refresh(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + }); +</script> +</body> +</html> + diff --git a/src/main/webapp/views/admin/role/role.html b/src/main/webapp/views/admin/role/role.html new file mode 100644 index 0000000..279392a --- /dev/null +++ b/src/main/webapp/views/admin/role/role.html @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline" > + <div class="layui-input-inline cool-auto-complete"> + <input id="leader" name="leader" class="layui-input" type="text" style="display: none"> + <input id="leader$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="涓婄骇" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="roleQueryByleader" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="roleQueryByleaderSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<table class="layui-hide" id="role" lay-filter="role"></table> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="power">鏉冮檺</a> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/role/role.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/role/role_detail.html b/src/main/webapp/views/admin/role/role_detail.html new file mode 100644 index 0000000..f2d638d --- /dev/null +++ b/src/main/webapp/views/admin/role/role_detail.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form"> + <div class="layui-inline" style="display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="缂栧彿"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鐮侊細</label> + <div class="layui-input-inline"> + <input id="code" class="layui-input" type="text" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鍚嶃��銆�绉帮細</label> + <div class="layui-input-inline"> + <input id="name" class="layui-input" type="text" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">涓娿��銆�绾э細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="leader" class="layui-input" type="text" style="display: none"> + <input id="leader$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="roleQueryByleader" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="roleQueryByleaderSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="display: none; width:31%;"> + <label class="layui-form-label">瑙掕壊绛夌骇锛�</label> + <div class="layui-input-inline"> + <select id="level"> + <option value="" style="display: none"></option> + <option value="1">涓�绾�</option> + <option value="2">浜岀骇</option> + <option value="3">涓夌骇</option> + <option value="4">鍥涚骇</option> + <option value="5">浜旂骇</option> + </select> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/role/role.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/role/role_power_detail.html b/src/main/webapp/views/admin/role/role_power_detail.html new file mode 100644 index 0000000..95dec56 --- /dev/null +++ b/src/main/webapp/views/admin/role/role_power_detail.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>鏉冮檺绠$悊</title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<style> + #power { + margin-left: 20px; + } + .layui-tree.layui-form.layui-tree-line { + margin-left: 30px + } +</style> +<body> + +<!-- 鏉冮檺鏍戝舰鍥� --> + <form id="power" class="layui-form"> + <div id="power-tree"></div> + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js"></script> +<script type="text/javascript" src="../../../static/js/role/rolePower.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/tpl/alarm-detl.html b/src/main/webapp/views/admin/tpl/alarm-detl.html new file mode 100644 index 0000000..1539922 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/alarm-detl.html @@ -0,0 +1,52 @@ +<style> + pre { + font-family: 'DejaVu Sans Mono','Courier New',monospace; + padding: 15px 10px; + line-height: 17px; + margin: 5px; + word-wrap: break-word; + border: solid 1px #9e9e9e; + border-radius: 3px; + color: #729fcf; + } + .string { color: #4e9a06; } + .number { color: #ad7fa8; } + .boolean { color: #c4a000; } + .null { color: #babdb6; } + .key { color: #204a87; } +</style> + +<div style="padding: 25px 25px 15px 25px;" id="callbackDialog"> + <fieldset class="layui-elem-field layui-field-title"> + <legend>鍩虹淇℃伅</legend> + </fieldset> + <div class="layui-text" style="margin-bottom: 5px;"> + 浜嬩欢缂栧彿锛歿{d.request}}<br /> + 璁惧缂栧彿锛歿{d.response.sensorId$}}<br /> + 璁惧绫诲瀷锛歿{d.response.sensorType$}}<br /> + </div> + <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;"> + <legend>鎶ヨ淇℃伅</legend> + </fieldset> + <div class="layui-text" style="margin-bottom: 5px;"> + 鍙戦�佹椂闂达細{{d.response.createTime$}}<br /> + 鏁呴殰鎻忚堪锛歿{d.response.desc}}<br /> + </div> + <div class="text-center" style="padding-top: 15px;text-align: right"> + <button class="layui-btn layui-btn-normal" ew-event="closeDialog">鍏抽棴</button> + </div> +</div> + +<!-- js閮ㄥ垎 --> +<script> + layui.config({ + base: baseUrl + "/static/layui/lay/modules/" + }).use(['layer', 'admin'], function () { + var $ = layui.jquery; + var layer = layui.layer; + var admin = layui.admin; + + var layerData = admin.getLayerData('#callbackDialog'); + }); + +</script> diff --git a/src/main/webapp/views/admin/tpl/theme/img/ic_loading.gif b/src/main/webapp/views/admin/tpl/theme/img/ic_loading.gif new file mode 100644 index 0000000..071ecd6 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/ic_loading.gif Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/icon_date.png b/src/main/webapp/views/admin/tpl/theme/img/icon_date.png new file mode 100644 index 0000000..5a50673 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/icon_date.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/icon_search.png b/src/main/webapp/views/admin/tpl/theme/img/icon_search.png new file mode 100644 index 0000000..7db69d2 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/icon_search.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-admin.png b/src/main/webapp/views/admin/tpl/theme/img/theme-admin.png new file mode 100644 index 0000000..6b4696f --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-admin.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-blue.png b/src/main/webapp/views/admin/tpl/theme/img/theme-blue.png new file mode 100644 index 0000000..33c9d24 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-blue.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-colorful.png b/src/main/webapp/views/admin/tpl/theme/img/theme-colorful.png new file mode 100644 index 0000000..2cbeba0 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-colorful.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-cyan.png b/src/main/webapp/views/admin/tpl/theme/img/theme-cyan.png new file mode 100644 index 0000000..368c04f --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-cyan.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-green.png b/src/main/webapp/views/admin/tpl/theme/img/theme-green.png new file mode 100644 index 0000000..f7a5ca5 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-green.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-my.png b/src/main/webapp/views/admin/tpl/theme/img/theme-my.png new file mode 100644 index 0000000..9fd7419 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-my.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-pink.png b/src/main/webapp/views/admin/tpl/theme/img/theme-pink.png new file mode 100644 index 0000000..6088b1e --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-pink.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-purple.png b/src/main/webapp/views/admin/tpl/theme/img/theme-purple.png new file mode 100644 index 0000000..072f439 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-purple.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-red.png b/src/main/webapp/views/admin/tpl/theme/img/theme-red.png new file mode 100644 index 0000000..db9922e --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-red.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/theme/img/theme-white.png b/src/main/webapp/views/admin/tpl/theme/img/theme-white.png new file mode 100644 index 0000000..4b4cb1f --- /dev/null +++ b/src/main/webapp/views/admin/tpl/theme/img/theme-white.png Binary files differ diff --git a/src/main/webapp/views/admin/tpl/tpl-note.html b/src/main/webapp/views/admin/tpl/tpl-note.html new file mode 100644 index 0000000..5910e86 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/tpl-note.html @@ -0,0 +1,206 @@ +<div class="layui-card-header">鏈湴渚跨</div> +<div class="note-wrapper"></div> +<div class="note-empty"> + <i class="layui-icon layui-icon-face-surprised"></i> + <p>娌℃湁渚跨</p> +</div> +<div class="btn-circle" id="noteAddBtn" title="娣诲姞渚跨" style="position: absolute;"> + <i class="layui-icon layui-icon-add-1"></i> +</div> + +<script> + layui.use(['layer', 'form', 'util', 'admin'], function () { + var $ = layui.jquery; + var layer = layui.layer; + var util = layui.util; + var admin = layui.admin; + var dataList = []; // 渚跨鍒楄〃 + var $noteWrapper = $('.note-wrapper'); + + /* 娓叉煋鍒楄〃 */ + function renderList() { + $noteWrapper.empty(); + dataList = layui.data(admin.setter.tableName).notes; + if (dataList === undefined) dataList = []; + for (var i = 0; i < dataList.length; i++) { + var item = dataList[i]; + $noteWrapper.prepend([ + '<div class="note-item" data-id="', item.id, '">', + ' <div class="note-item-content">', util.escape(item.content), '</div>', + ' <div class="note-item-time">', item.time, '</div>', + ' <i class="layui-icon layui-icon-close-fill note-item-del"></i>', + '</div>' + ].join('')); + } + $('.note-empty').css('display', dataList.length === 0 ? 'block' : 'none'); + // 鐐瑰嚮淇敼 + $('.note-item').click(function () { + var index = parseInt($(this).attr('data-id')); + showNote(dataList[index]); + }); + // 鐐瑰嚮鍒犻櫎 + $('.note-item-del').click(function (e) { + var id = parseInt($(this).parent().attr('data-id')); + layer.confirm('纭鍒犻櫎鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1, + shadeClose: true + }, function (index) { + layer.close(index); + dataList.splice(id, 1); + for (var i = 0; i < dataList.length; i++) dataList[i].id = i; + putDataList(); + renderList(); + }); + e.stopPropagation(); + }); + } + + renderList(); + + /* 娣诲姞 */ + $('#noteAddBtn').click(function () { + showNote(); + }); + + // 鏄剧ず缂栬緫寮圭獥 + function showNote(data) { + var id = data ? data.id : undefined, content = data ? data.content : ''; + admin.open({ + id: 'layer-note-edit', + title: '渚跨', + type: 1, + area: 'auto', + offset: '50px', + shadeClose: true, + content: '<textarea id="noteEditText" placeholder="璇疯緭鍏ュ唴瀹�" style="width: 280px;height: 150px;border: none;color: #666666;word-wrap: break-word;padding: 10px 20px;resize: vertical;">' + content + '</textarea>', + success: function () { + $('#noteEditText').change(function () { + content = $(this).val(); + }); + }, + end: function () { + if (id !== undefined) { + if (!content) { + dataList.splice(id, 1); + for (var i = 0; i < dataList.length; i++) dataList[i].id = i; + } else if (content !== dataList[id].content) { + dataList[id].content = content; + dataList[id].time = util.toDateString(new Date(), 'yyyy-MM-dd HH:mm'); + } + } else if (content) { + dataList.push({ + id: dataList.length, content: content, + time: util.toDateString(new Date(), 'yyyy-MM-dd HH:mm') + }); + } + putDataList(); + renderList(); + } + }); + } + + /* 鏇存柊鏈湴缂撳瓨 */ + function putDataList() { + layui.data(admin.setter.tableName, {key: 'notes', value: dataList}); + } + + }); +</script> + +<style> + .note-wrapper { + padding: 15px 0 15px 15px; + background-color: #fbfbfb; + position: absolute; + top: 43px; + left: 0; + right: 0; + bottom: 0; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + } + + .note-wrapper .note-item { + display: inline-block; + width: 110px; + padding: 12px; + cursor: pointer; + position: relative; + border-radius: 8px; + margin: 0 15px 15px 0; + border: 1px solid #eeeeee; + background-color: #ffffff; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; + } + + .note-wrapper .note-item:hover { + box-shadow: 0 0 8px rgba(0, 0, 0, .05); + -webkit-transform: scale(1.02); + -moz-transform: scale(1.02); + -ms-transform: scale(1.02); + -o-transform: scale(1.02); + transform: scale(1.02); + } + + .note-wrapper .note-item .note-item-content { + color: #666; + height: 80px; + font-size: 14px; + overflow: hidden; + word-break: break-all; + } + + .note-wrapper .note-item .note-item-time { + color: #999; + font-size: 12px; + margin-top: 8px; + } + + .note-wrapper .note-item .note-item-del { + position: absolute; + top: 2px; + right: 2px; + color: #FF5722; + font-size: 24px; + height: 24px; + width: 24px; + background-color: #fff; + border-radius: 50%; + visibility: hidden; + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; + opacity: 0; + } + + .note-wrapper .note-item:hover .note-item-del { + visibility: visible; + opacity: 1; + } + + .note-empty { + color: #999; + padding: 80px 0; + text-align: center; + display: none; + position: relative; + z-index: 1 + } + + .note-empty .layui-icon { + font-size: 60px; + margin-bottom: 10px; + display: inline-block; + } +</style> \ No newline at end of file diff --git a/src/main/webapp/views/admin/tpl/tpl-theme.html b/src/main/webapp/views/admin/tpl/tpl-theme.html new file mode 100644 index 0000000..7a1add0 --- /dev/null +++ b/src/main/webapp/views/admin/tpl/tpl-theme.html @@ -0,0 +1,229 @@ +<div class="layui-card-header">涓婚璁剧疆</div> +<div class="more-theme-list"> + <div class="more-theme-item" data-theme="theme-normal"> + <img src="tpl/theme/img/theme-admin.png"/> + </div> + <div class="more-theme-item" data-theme="theme-cyan"> + <img src="tpl/theme/img/theme-cyan.png"/> + </div> + <div class="more-theme-item" data-theme="theme-white"> + <img src="tpl/theme/img/theme-white.png"/> + </div> + <div class="more-theme-item" data-theme="theme-pink"> + <img src="tpl/theme/img/theme-pink.png"/> + </div> + <div class="more-theme-item active" data-theme="theme-colorful"> + <img src="tpl/theme/img/theme-colorful.png"/> + </div> + <div class="more-theme-item" data-theme="theme-blue"> + <img src="tpl/theme/img/theme-blue.png"/> + </div> + <div class="more-theme-item" data-theme="theme-green"> + <img src="tpl/theme/img/theme-green.png"/> + </div> + <div class="more-theme-item" data-theme="theme-purple"> + <img src="tpl/theme/img/theme-purple.png"/> + </div> +<!-- <div class="more-theme-item" data-theme="theme-red">--> +<!-- <img src="tpl/theme/img/theme-red.png"/>--> +<!-- </div>--> + <div class="more-theme-item" data-theme="theme-my"> + <img src="tpl/theme/img/theme-my.png"/> + </div> +</div> +<!-- 瀵艰埅 --> +<div class="more-menu-list"> +<!-- <a class="more-menu-item" href="https://easyweb.vip/doc/" target="_blank">--> +<!-- <i class="layui-icon layui-icon-read" style="font-size: 19px;"></i> 寮�鍙戞枃妗�--> +<!-- </a>--> +<!-- <a class="more-menu-item" href="https://demo.easyweb.vip/spa" target="_blank">--> +<!-- <i class="layui-icon layui-icon-tabs" style="font-size: 16px;"></i> spa鐗堟湰--> +<!-- </a>--> +<!-- <a class="more-menu-item" href="https://demo.easyweb.vip/theme" target="_blank">--> +<!-- <i class="layui-icon layui-icon-theme"></i> 涓婚鐢熸垚鍣�--> +<!-- </a>--> +</div> +<!-- 鎺у埗寮�鍏� --> +<div class="layui-form" style="margin: 25px 0;" lay-filter="more-set-form"> + <div class="layui-form-item"> + <label class="set-item-label">椤� 鑴氾細</label> + <div class="set-item-ctrl"> + <input id="setFooter" lay-filter="setFooter" type="checkbox" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴"> + </div> + <label class="set-item-label"> Tab 璁板繂锛�</label> + <div class="set-item-ctrl"> + <input id="setTab" lay-filter="setTab" type="checkbox" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴"> + </div> + </div> + <div class="layui-form-item"> + <label class="set-item-label">澶氭爣绛撅細</label> + <div class="set-item-ctrl"> + <input id="setMoreTab" lay-filter="setMoreTab" type="checkbox" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴"> + </div> + <label class="set-item-label">鍒囨崲鍒锋柊锛�</label> + <div class="set-item-ctrl"> + <input id="setRefresh" lay-filter="setRefresh" type="checkbox" lay-skin="switch" lay-text="寮�鍚瘄鍏抽棴"> + </div> + </div> + <div class="layui-form-item"> + <label class="set-item-label">瀵艰埅绠ご锛�</label> + <div class="set-item-ctrl"> + <input lay-filter="navArrow" type="radio" value="" title="榛樿" name="navArrow"> + <input lay-filter="navArrow" type="radio" value="arrow2" title="绠ご" name="navArrow"> + <input lay-filter="navArrow" type="radio" value="arrow3" title="鍔犲彿" name="navArrow"> + </div> + </div> +</div> + +<script> + layui.use(['form', 'admin'], function () { + var $ = layui.jquery; + var form = layui.form; + var admin = layui.admin; + var setter = admin.setter; + var $body = $('body'); + + // 鍒囨崲涓婚 + var $themItem = $('.more-theme-item'); + $themItem.click(function () { + $themItem.removeClass('active'); + $(this).addClass('active'); + admin.changeTheme($(this).data('theme')); + }); + var theme = $body.data('theme'); + if (theme) { + $themItem.removeClass('active'); + $themItem.filter('[data-theme="' + theme + '"]').addClass('active'); + } + + // 鍏抽棴/寮�鍚〉鑴� + form.on('switch(setFooter)', function (data) { + var checked = data.elem.checked; + admin.putSetting('closeFooter', !checked); + checked ? $body.removeClass('close-footer') : $body.addClass('close-footer'); + }); + $('#setFooter').prop('checked', !$body.hasClass('close-footer')); + + // 鍏抽棴/寮�鍚疶ab璁板繂鍔熻兘 + form.on('switch(setTab)', function (data) { + layui.index.setTabCache(data.elem.checked); + }); + $('#setTab').prop('checked', setter.cacheTab); + + // 鍏抽棴/寮�鍚鏍囩 + form.on('switch(setMoreTab)', function (data) { + var checked = data.elem.checked; + admin.putSetting('pageTabs', checked); + admin.putTempData('indexTabs', undefined); + location.reload(); + }); + $('#setMoreTab').prop('checked', setter.pageTabs); + + // 鍒囨崲Tab鑷姩鍒锋柊 + var $mainTab = $('.layui-body>.layui-tab[lay-filter="admin-pagetabs"]'); + form.on('switch(setRefresh)', function (data) { + var checked = data.elem.checked; + admin.putSetting('tabAutoRefresh', checked); + checked ? $mainTab.attr('lay-autoRefresh', 'true') : $mainTab.removeAttr('lay-autoRefresh'); + }); + $('#setRefresh').prop('checked', setter.tabAutoRefresh === true); + + // 瀵艰埅灏忎笁瑙� + var $leftNav = $('.layui-layout-admin>.layui-side>.layui-side-scroll>.layui-nav'); + form.on('radio(navArrow)', function (data) { + $leftNav.removeClass('arrow2 arrow3'); + data.value && $leftNav.addClass(data.value); + admin.putSetting('navArrow', data.value); + }); + var navArrow = $leftNav.hasClass('arrow2') ? 'arrow2' : $leftNav.hasClass('arrow3') ? 'arrow3' : ''; + $('[name="navArrow"][value="' + navArrow + '"]').prop('checked', true); + + form.render('radio', 'more-set-form'); + form.render('checkbox', 'more-set-form'); + }); +</script> + +<style> + /* theme */ + .more-theme-list { + padding-left: 15px; + padding-top: 20px; + margin-bottom: 10px; + } + + .more-theme-item { + padding: 4px; + margin: 0 6px 15px 0; + display: inline-block; + border: 1px solid transparent; + } + + .more-theme-item img { + width: 80px; + height: 50px; + background: #f5f7f9; + box-sizing: border-box; + border: 1px solid #f5f7f9; + cursor: pointer; + } + + .more-theme-item:hover, .more-theme-item.active { + border-color: #5FB878; + } + + .more-menu-item { + color: #595959; + height: 50px; + line-height: 50px; + font-size: 16px; + padding: 0 25px; + border-bottom: 1px solid #e8e8e8; + font-style: normal; + display: block; + } + + /* menu */ + .more-menu-item:first-child { + border-top: 1px solid #e8e8e8; + } + + .more-menu-item:hover { + color: #595959; + background: #f6f6f6; + } + + .more-menu-item .layui-icon { + font-size: 18px; + padding-right: 10px; + } + + .more-menu-item:after { + color: #8c8c8c; + right: 16px; + content: "\e602"; + position: absolute; + font-family: layui-icon !important; + } + + .more-menu-item.no-icon:after { + display: none; + } + + /* setting from */ + .set-item-label { + height: 38px; + line-height: 38px; + padding-left: 20px; + display: inline-block; + } + + .set-item-ctrl { + height: 38px; + line-height: 38px; + display: inline-block; + } + + .set-item-ctrl > * { + margin: 0 !important; + } +</style> diff --git a/src/main/webapp/views/admin/user/user.html b/src/main/webapp/views/admin/user/user.html new file mode 100644 index 0000000..e317d2b --- /dev/null +++ b/src/main/webapp/views/admin/user/user.html @@ -0,0 +1,177 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/originTable.css" media="all"> + <style> + body { + color: #595959; + background-color: #f5f7f9; + } + + .admin-form { + padding: 25px 30px 0 0 !important; + margin: 0 !important; + } + </style> +</head> +<body> +<!-- 姝f枃寮�濮� --> +<div class="layui-fluid" style="padding-bottom: 0;"> + <div class="layui-row layui-col-space15"> + <div class="layui-col-md12"> + <div class="layui-card"> + <div class="layui-card-body" style="padding: 10px;"> + <form class="layui-form toolbar"> + <div class="layui-form-item"> + <div class="layui-inline"> + <label class="layui-form-label">鐢ㄦ埛鍚�:</label> + <div class="layui-input-inline"> + <input name="username" class="layui-input" placeholder="杈撳叆鐢ㄦ埛鍚�"/> + </div> + </div> + <div class="layui-inline"> + <label class="layui-form-label">鎵嬫満鍙�:</label> + <div class="layui-input-inline"> + <input name="mobile" class="layui-input" placeholder="杈撳叆鎵嬫満鍙�"/> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="userTbSearch" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + </div> + </div> + </form> + <table id="userTable" lay-filter="userTable"></table> + </div> + </div> + </div> + </div> +</div> + +<script type="text/html" id="hostTpl"> + <span name="hostName" class="layui-badge layui-badge-gray">{{d.hostName}}</span> +</script> + +<script type="text/html" id="statusTpl"> + <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="姝e父|绂佺敤" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> + <a class="layui-btn layui-btn-xs btn-edit layui-btn-warm" lay-event="resetPwd">閲嶇疆瀵嗙爜</a> +</script> + +<script type="text/html" id="userToolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm layui-btn-normal" id="btn-add" lay-event="add"><i class="layui-icon"></i>鏂板</button> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="del"><i class="layui-icon"></i>鍒犻櫎</button> + </div> +</script> + +<!-- 閲嶇疆瀵嗙爜 --> +<script type="text/html" id="resetpwd-window"> + <form class="layui-form model-form"> + <input type="hidden" id="resetUserId" name="resetUserId"> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">鏂板瘑鐮�:</label> + <div class="layui-input-block"> + <input id="resetPassword" name="resetPassword" placeholder="璇疯緭鍏ユ柊瀵嗙爜" class="layui-input" lay-verify="required" autocomplete="off"> + </div> + </div> + <div class="layui-form-item text-right"> + <button class="layui-btn layui-btn-normal" id="savePwd" lay-filter="savePwd" lay-submit="">纭畾</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> + +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form"> + <input name="id" type="hidden"> + <input name="status" type="hidden"> + <div class="layui-row"> + + <div class="layui-col-md6"> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">鐧诲綍璐︽埛</label> + <div class="layui-input-block"> + <input name="username" placeholder="璇疯緭鍏ョ櫥褰曡处鎴�" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label">瑙掕壊锛�</label> + <div class="layui-input-block cool-auto-complete"> + <input name="roleId" class="layui-input" style="display: none"> + <input id="roleName" name="roleName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇烽�夋嫨瑙掕壊" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="roleQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="roleQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + </div> + + <div class="layui-col-md6"> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">鎵嬫満鍙�</label> + <div class="layui-input-block"> + <input name="mobile" placeholder="璇疯緭鍏ユ墜鏈哄彿" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">閭</label> + <div class="layui-input-block"> + <input name="email" placeholder="璇疯緭鍏ラ偖绠�" class="layui-input"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/js/handlebars/handlebars-v4.5.3.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/tools/md5.js"></script> +<script type="text/javascript" src="../../../static/js/user/user.js" charset="utf-8"></script> + +<!-- 椤圭洰缂栬緫绐楀彛 --> +<script type="text/html" id="hostEditDialog"> + <form id="hostEditForm" lay-filter="hostEditForm" class="layui-form model-form"> + <input name="id" type="hidden"/> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">椤圭洰鍚嶇О:</label> + <div class="layui-input-block"> + <input name="name" placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" class="layui-input" + lay-verType="tips" lay-verify="required" required/> + </div> + </div> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="hostEditSubmit" lay-submit>淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</body> +</html> + diff --git a/src/main/webapp/views/admin/user/user_detail.html b/src/main/webapp/views/admin/user/user_detail.html new file mode 100644 index 0000000..e5213f4 --- /dev/null +++ b/src/main/webapp/views/admin/user/user_detail.html @@ -0,0 +1,87 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form" style="text-align: center"> + <div class="layui-inline" style="display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="缂栧彿"> + </div> + </div> +<!-- <div class="layui-inline" style="width:31%;display: none">--> +<!-- <label class="layui-form-label"><span class="not-null">*</span>鎺堟潈鍟嗘埛锛�</label>--> +<!-- <div class="layui-input-inline cool-auto-complete">--> +<!-- <input id="hostId" class="layui-input" type="text" placeholder="鎺堟潈鍟嗘埛" lay-verify="required" style="display: none">--> +<!-- <input id="hostName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鎺堟潈鍟嗘埛" onfocus=this.blur()>--> +<!-- <div class="cool-auto-complete-window">--> +<!-- <input class="cool-auto-complete-window-input" data-key="hostQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">--> +<!-- <select class="cool-auto-complete-window-select" data-key="hostQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">--> +<!-- </select>--> +<!-- </div>--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>甯愩��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="mobile" class="layui-input" type="text" placeholder="璐﹀彿" lay-verify="required" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>鍚嶃��銆�绉帮細</label> + <div class="layui-input-inline"> + <input id="username" class="layui-input" type="text" placeholder="鍚嶇О" lay-verify="required" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label">瀵嗐��銆�鐮侊細</label> + <div class="layui-input-inline"> + <input id="password" class="layui-input" type="text" placeholder="瀵嗙爜" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:80%;"> + <label class="layui-form-label"><span class="not-null">*</span>瑙掋��銆�鑹诧細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="roleId" class="layui-input" type="text" placeholder="瑙掕壊" lay-verify="required" style="display: none"> + <input id="roleName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="瑙掕壊" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="roleQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="roleQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/tools/md5.js"></script> +<script type="text/javascript" src="../../static/js/user/user.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/userLogin/userLogin.html b/src/main/webapp/views/admin/userLogin/userLogin.html new file mode 100644 index 0000000..052eec9 --- /dev/null +++ b/src/main/webapp/views/admin/userLogin/userLogin.html @@ -0,0 +1,61 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline cool-auto-complete"> + <input id="userId" class="layui-input" name="user_id" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <input id="userUsername" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鐢ㄦ埛" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<table class="layui-hide" id="userLogin" lay-filter="userLogin"></table> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/userLogin/userLogin.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/userLogin/userLogin_detail.html b/src/main/webapp/views/admin/userLogin/userLogin_detail.html new file mode 100644 index 0000000..2d1b2cc --- /dev/null +++ b/src/main/webapp/views/admin/userLogin/userLogin_detail.html @@ -0,0 +1,69 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form"> + <div class="layui-inline" style="display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="缂栧彿"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鍛樸��銆�宸ワ細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="userId" class="layui-input" type="text" placeholder="鍛樺伐" lay-verify="required" style="display: none"> + <input id="userUsername" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鍛樺伐" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="userQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>鍑� 璇� 鍊硷細</label> + <div class="layui-input-inline"> + <input id="token" class="layui-input" type="text" placeholder="鍑瘉鍊�" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>娣诲姞鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="createTime$" class="layui-input" type="text" placeholder="娣诲姞鏃堕棿" lay-verify="required" > + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/userLogin/userLogin.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/admin/wrkLastno/wrkLastno.html b/src/main/webapp/views/admin/wrkLastno/wrkLastno.html new file mode 100644 index 0000000..d7eb4d2 --- /dev/null +++ b/src/main/webapp/views/admin/wrkLastno/wrkLastno.html @@ -0,0 +1,58 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <!--<div class="layui-inline">--> + <!--<label class="layui-form-label">缂栥��銆�鍙凤細</label>--> + <!--<div class="layui-input-inline">--> + <!--<input class="layui-input" type="text" name="id" placeholder="璇疯緭鍏�" autocomplete="off">--> + <!--</div>--> + <!--</div>--> + + <!--<!– 寰呮坊鍔� –>--> + <!--<div id="data-search-btn" class="layui-btn-container layui-form-item">--> + <!--<button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>--> + <!--<button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>--> + <!--</div>--> +</div> + +<!-- 琛ㄦ牸 --> +<div class="layui-form"> + <table class="layui-hide" id="wrkLastno" lay-filter="wrkLastno"></table> +</div> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <!--<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>--> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/wrkLastno/wrkLastno.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/wrkLastno/wrkLastno_detail.html b/src/main/webapp/views/admin/wrkLastno/wrkLastno_detail.html new file mode 100644 index 0000000..8387b4a --- /dev/null +++ b/src/main/webapp/views/admin/wrkLastno/wrkLastno_detail.html @@ -0,0 +1,78 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form"> + <!-- + <div class="layui-inline" style="display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" placeholder="缂栧彿"> + </div> + </div> + --> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>绫汇��銆�鍨嬶細</label> + <div class="layui-input-inline"> + <input id="wrkMk" class="layui-input" type="text" onkeyup="check(this.id, 'wrkLastno')"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>褰撳墠ID锛�</label> + <div class="layui-input-inline"> + <input id="wrkNo" class="layui-input" type="text" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>缁堟ID锛�</label> + <div class="layui-input-inline"> + <input id="eno" class="layui-input" type="text" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>璧峰ID锛�</label> + <div class="layui-input-inline"> + <input id="sno" class="layui-input" type="text" lay-verify="required" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">澶囥��銆�娉細</label> + <div class="layui-input-inline"> + <input id="memoM" class="layui-input" type="text"> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/wrkLastno/wrkLastno.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/task.html b/src/main/webapp/views/admin/wrkMast/wrkMast.html similarity index 95% rename from src/main/webapp/views/task.html rename to src/main/webapp/views/admin/wrkMast/wrkMast.html index d4b48bb..169f899 100644 --- a/src/main/webapp/views/task.html +++ b/src/main/webapp/views/admin/wrkMast/wrkMast.html @@ -4,12 +4,12 @@ <head> <meta charset="UTF-8"> <title>浠诲姟绠$悊</title> - <link rel="stylesheet" href="../static/vue/element/element.css"> - <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> - <script type="text/javascript" src="../static/layui/layui.js"></script> - <script type="text/javascript" src="../static/js/common.js"></script> - <script type="text/javascript" src="../static/vue/js/vue.min.js"></script> - <script type="text/javascript" src="../static/vue/element/element.js"></script> + <link rel="stylesheet" href="../../../static/vue/element/element.css"> + <script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> + <script type="text/javascript" src="../../../static/layui/layui.js"></script> + <script type="text/javascript" src="../../../static/js/common.js"></script> + <script type="text/javascript" src="../../../static/vue/js/vue.min.js"></script> + <script type="text/javascript" src="../../../static/vue/element/element.js"></script> <style> .el-table .success-row { background: #b6ff8e; diff --git a/src/main/webapp/views/admin/wrkMastLog/wrkDetlLog.html b/src/main/webapp/views/admin/wrkMastLog/wrkDetlLog.html new file mode 100644 index 0000000..240e970 --- /dev/null +++ b/src/main/webapp/views/admin/wrkMastLog/wrkDetlLog.html @@ -0,0 +1,99 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> + <style> + </style> +</head> +<body> +<div class="layui-inline" style="width:20%;margin-top: 20px"> + <label class="layui-form-label">宸� 浣� 鍙凤細</label> + <div class="layui-input-inline"> + <input id="wrkNo" class="layui-input" type="text" disabled="disabled"> + </div> +</div> +<div class="layui-inline" style="width:20%;margin-top: 20px"> + <label class="layui-form-label">宸ヤ綔鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="ioTime" class="layui-input" type="text" disabled="disabled"> + </div> +</div> + +<table class="layui-hide" id="wrkDetlLogByMast" lay-filter="wrkDetlLogByMast"></table> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/locMast/locMast.js" charset="utf-8"></script> +<script type="text/javascript"> + var pageCur; + function getCol() { + let cols = [ + {field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'} + ,{field: 'ioTime$', align: 'center',title: '宸ヤ綔鏃堕棿',width:160} + ]; + cols.push.apply(cols, detlCols); + return cols; + } + layui.use(['table','laydate', 'form'], function() { + table = layui.table; + var $ = layui.jquery; + var form = layui.form; + + $('#wrkNo').val(parent.wrkNo); + $('#ioTime').val(top.dateToStr(parent.ioTime, true)); + // 鏁版嵁娓叉煋 + tableIns1 = table.render({ + elem: '#wrkDetlLogByMast', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/wrkDetlLogByMast/list/auth', + where: {wrk_no: parent.wrkNo,ioTime: top.dateToStr(parent.ioTime, true)}, + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [getCol()], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCur=curr; + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); + } + }); + }); +</script> +</html> + diff --git a/src/main/webapp/views/admin/wrkMastLog/wrkMastLog.html b/src/main/webapp/views/admin/wrkMastLog/wrkMastLog.html new file mode 100644 index 0000000..a5b7f06 --- /dev/null +++ b/src/main/webapp/views/admin/wrkMastLog/wrkMastLog.html @@ -0,0 +1,98 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="wrk_no" placeholder="宸ヤ綔鍙�" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline cool-auto-complete"> + <input id="wrkSts" class="layui-input" name="wrk_sts" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <input id="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="宸ヤ綔鐘舵��" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basWrkStatusQueryBywrkSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basWrkStatusQueryBywrkStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline cool-auto-complete"> + <input id="ioType" class="layui-input" name="io_type" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <input id="ioType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鍏ュ嚭搴撶被鍨�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basWrkIotypeQueryByioType" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basWrkIotypeQueryByioTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline cool-auto-complete"> + <input id="crnNo" class="layui-input" name="crn_no" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <input id="crnNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鍫嗗灈鏈哄彿" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basCrnpQueryBycrnNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basCrnpQueryBycrnNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <!-- 鏃ユ湡鑼冨洿 --> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="io_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<div class="layui-form"> + <table class="layui-hide" id="wrkMastLog" lay-filter="wrkMastLog"></table> +</div> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 10px">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-xs btn-detlShow" lay-event="detlShow">鏄庣粏</a> +<!-- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>--> +</script> + +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/wrkMastLog/wrkMastLog.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + diff --git a/src/main/webapp/views/admin/wrkMastLog/wrkMastLog_detail.html b/src/main/webapp/views/admin/wrkMastLog/wrkMastLog_detail.html new file mode 100644 index 0000000..436ff77 --- /dev/null +++ b/src/main/webapp/views/admin/wrkMastLog/wrkMastLog_detail.html @@ -0,0 +1,196 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 璇︽儏 --> +<div id="data-detail" class="layer_self_wrap"> + <form id="detail" class="layui-form"> + <div class="layui-inline" style="width:31%;display: none"> + <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label> + <div class="layui-input-inline"> + <input id="id" class="layui-input" type="text" onkeyup="check(this.id, 'wrkMastLog')" lay-verify="number" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label"><span class="not-null">*</span>宸� 浣� 鍙凤細</label> + <div class="layui-input-inline"> + <input id="wrkNo" class="layui-input" type="text" onkeyup="check(this.id, 'wrkMastLog')" lay-verify="required|number" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">宸ヤ綔鐘舵�侊細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="wrkSts" class="layui-input" type="text" lay-verify="number" style="display: none"> + <input id="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basWrkStatusQueryBywrkSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basWrkStatusQueryBywrkStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">鍏ュ嚭搴撶被鍨嬶細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="ioType" class="layui-input" type="text" lay-verify="number" style="display: none"> + <input id="ioType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basWrkIotypeQueryByioType" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basWrkIotypeQueryByioTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">鍫嗗灈鏈哄彿锛�</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="crnNo" class="layui-input" type="text" lay-verify="number" style="display: none"> + <input id="crnNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basCrnpQueryBycrnNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basCrnpQueryBycrnNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">浼� 鍏� 绾э細</label> + <div class="layui-input-inline"> + <input id="ioPri" class="layui-input" type="text" lay-verify="number" > + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">鐩爣搴撲綅锛�</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="locNo" class="layui-input" type="text" style="display: none"> + <input id="locNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="locMastQueryBylocNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="locMastQueryBylocNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">鐩� 鏍� 绔欙細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="staNo" class="layui-input" type="text" lay-verify="number" style="display: none"> + <input id="staNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basDevpQueryBystaNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basDevpQueryBystaNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">婧愩��銆�绔欙細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="sourceStaNo" class="layui-input" type="text" lay-verify="number" style="display: none"> + <input id="sourceStaNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="basDevpQueryBysourceStaNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="basDevpQueryBysourceStaNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">婧� 搴� 浣嶏細</label> + <div class="layui-input-inline cool-auto-complete"> + <input id="sourceLocNo" class="layui-input" type="text" style="display: none"> + <input id="sourceLocNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="locMastQueryBysourceLocNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="locMastQueryBysourceLocNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">鎷c��銆�鏂欙細</label> + <div class="layui-input-inline"> + <input id="picking" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">閫�銆�銆�鍑猴細</label> + <div class="layui-input-inline"> + <input id="exitMk" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">绌恒��銆�鏉匡細</label> + <div class="layui-input-inline"> + <input id="emptyMk" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">宸ヤ綔鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="ioTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label" style="font-size: x-small">鍫嗗灈鏈哄惎鍔ㄦ椂闂达細</label> + <div class="layui-input-inline"> + <input id="crnStrTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label" style="font-size: x-small">鍫嗗灈鏈哄仠姝㈡椂闂达細</label> + <div class="layui-input-inline"> + <input id="crnEndTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">鎷f枡鏃堕棿锛�</label> + <div class="layui-input-inline"> + <input id="plcStrTime$" class="layui-input" type="text" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">鏉°��銆�鐮侊細</label> + <div class="layui-input-inline"> + <input id="barcode" class="layui-input" type="text"> + </div> + </div> + <div class="layui-inline" style="width:31%;"> + <label class="layui-form-label">婊°��銆�鏉匡細</label> + <div class="layui-input-inline"> + <input id="fullPlt" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> + </div> + </div> + + + <hr class="layui-bg-gray"> + + <div id="data-detail-btn" class="layui-btn-container layui-form-item"> + <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> + <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> + <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> + </div> + + <div id="prompt"> + 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> + </div> + </form> +</div> +</body> +<script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../../static/js/wrkMastLog/wrkMastLog.js" charset="utf-8"></script> +</html> + diff --git a/src/main/webapp/views/forklift.html b/src/main/webapp/views/forklift.html index 205a290..f19da2c 100644 --- a/src/main/webapp/views/forklift.html +++ b/src/main/webapp/views/forklift.html @@ -4,7 +4,7 @@ <meta charset="UTF-8"> <title>鎻愬崌鏈虹洃鎺х鐞�</title> <link rel="stylesheet" type="text/css" href="../static/css/normalize.css"> - <link rel="stylesheet" type="text/css" href="../static/css/common.css"> + <link rel="stylesheet" type="text/css" href="../static/css/common_wcs.css"> <link rel="stylesheet" type="text/css" href="../static/layui/css/layui.css"> <link rel="stylesheet" href="../static/css/lift.css"> <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html index 1f51411..4b32f17 100644 --- a/src/main/webapp/views/index.html +++ b/src/main/webapp/views/index.html @@ -21,9 +21,8 @@ <li><a id="console" onclick="nav(this.id)" class="nav-select" href="#">涓绘帶鍥�</a></li> <li><a id="pipeline" onclick="nav(this.id)" class="nav-unselect" href="#">杈撻�佽澶�</a></li> <li><a id="forklift" onclick="nav(this.id)" class="nav-unselect" href="#">鎻愬崌鏈�</a></li> -<!-- <li><a id="ste" onclick="nav(this.id)" class="nav-unselect" href="#">绌挎杞�</a></li>--> <li><a id="shuttle" onclick="nav(this.id)" class="nav-unselect" href="#">鍥涘悜绌挎杞�</a></li> - <li><a id="task" onclick="nav(this.id)" class="nav-unselect" href="#">浠诲姟绠$悊</a></li> + <li><a id="admin" onclick="nav(this.id)" class="nav-unselect" href="#">绠$悊鍚庡彴</a></li> </ul> </div> </div> @@ -37,6 +36,10 @@ <script> // 瀵艰埅鏍� function nav(id) { + if(id == 'admin') { + window.open('./admin/index.html') + return + } $('.nav-select').attr("class", "nav-unselect"); $('#'+id).attr("class", "nav-select"); $('#content').attr("src", id+".html"); diff --git a/src/main/webapp/views/led.html b/src/main/webapp/views/led.html deleted file mode 100644 index 85a8695..0000000 --- a/src/main/webapp/views/led.html +++ /dev/null @@ -1,10 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Title</title> -</head> -<body> -<h1>LED</h1> -</body> -</html> \ No newline at end of file diff --git a/src/main/webapp/views/lift.html b/src/main/webapp/views/lift.html index 93cc432..f8db854 100644 --- a/src/main/webapp/views/lift.html +++ b/src/main/webapp/views/lift.html @@ -4,7 +4,7 @@ <meta charset="UTF-8"> <title>鎻愬崌鏈虹洃鎺х鐞�</title> <link rel="stylesheet" type="text/css" href="../static/css/normalize.css"> - <link rel="stylesheet" type="text/css" href="../static/css/common.css"> + <link rel="stylesheet" type="text/css" href="../static/css/common_wcs.css"> <link rel="stylesheet" type="text/css" href="../static/layui/css/layui.css"> <link rel="stylesheet" href="../static/css/lift.css"> <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> diff --git a/src/main/webapp/views/pipeline.html b/src/main/webapp/views/pipeline.html index 009b117..34bc757 100644 --- a/src/main/webapp/views/pipeline.html +++ b/src/main/webapp/views/pipeline.html @@ -7,7 +7,7 @@ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> <link rel="stylesheet" type="text/css" href="../static/css/normalize.css"> - <link rel="stylesheet" type="text/css" href="../static/css/common.css"> + <link rel="stylesheet" type="text/css" href="../static/css/common_wcs.css"> <link rel="stylesheet" type="text/css" href="../static/css/pipeline.css"> <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../static/js/common.js"></script> diff --git a/src/main/webapp/views/shuttle.html b/src/main/webapp/views/shuttle.html index f5455f1..b559d4f 100644 --- a/src/main/webapp/views/shuttle.html +++ b/src/main/webapp/views/shuttle.html @@ -4,7 +4,7 @@ <meta charset="UTF-8"> <title>鍥涘悜绌挎杞︾洃鎺х鐞�</title> <link rel="stylesheet" type="text/css" href="../static/css/normalize.css"> - <link rel="stylesheet" type="text/css" href="../static/css/common.css"> + <link rel="stylesheet" type="text/css" href="../static/css/common_wcs.css"> <link rel="stylesheet" type="text/css" href="../static/layui/css/layui.css"> <link rel="stylesheet" href="../static/css/shuttle.css"> <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> diff --git a/src/main/webapp/views/shuttle2.html b/src/main/webapp/views/shuttle2.html index 40adc13..48a661a 100644 --- a/src/main/webapp/views/shuttle2.html +++ b/src/main/webapp/views/shuttle2.html @@ -4,7 +4,7 @@ <meta charset="UTF-8"> <title>鍥涘悜绌挎杞︾洃鎺х鐞�</title> <link rel="stylesheet" type="text/css" href="../static/css/normalize.css"> - <link rel="stylesheet" type="text/css" href="../static/css/common.css"> + <link rel="stylesheet" type="text/css" href="../static/css/common_wcs.css"> <link rel="stylesheet" type="text/css" href="../static/layui/css/layui.css"> <link rel="stylesheet" href="../static/css/shuttle.css"> <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> diff --git a/src/main/webapp/views/shuttle_zs.html b/src/main/webapp/views/shuttle_zs.html index c0621a7..4ce44b2 100644 --- a/src/main/webapp/views/shuttle_zs.html +++ b/src/main/webapp/views/shuttle_zs.html @@ -4,7 +4,7 @@ <meta charset="UTF-8"> <title>鍥涘悜绌挎杞︾洃鎺х鐞�</title> <link rel="stylesheet" type="text/css" href="../static/css/normalize.css"> - <link rel="stylesheet" type="text/css" href="../static/css/common.css"> + <link rel="stylesheet" type="text/css" href="../static/css/common_wcs.css"> <link rel="stylesheet" type="text/css" href="../static/layui/css/layui.css"> <link rel="stylesheet" href="../static/css/shuttle.css"> <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> -- Gitblit v1.9.1