From ddc442439432dc791975ef8accbb3a4a41762cf1 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 26 三月 2022 13:29:57 +0800
Subject: [PATCH] #杰克缝纫机立库 【订单出库】

---
 src/main/java/com/zy/asrs/controller/OrderController.java      |   13 
 src/main/webapp/static/layui/lay/modules/notice/6.wav          |    0 
 src/main/webapp/static/layui/lay/modules/notice/1.wav          |    0 
 src/main/webapp/static/layui/lay/modules/notice/notice.css     | 1929 +++++++++++++++++++++++
 src/main/webapp/static/layui/lay/modules/notice/notice.js      | 1241 +++++++++++++++
 src/main/webapp/static/layui/lay/modules/notice/3.wav          |    0 
 src/main/webapp/static/js/orderTable.js                        |  155 +
 /dev/null                                                      |   18 
 src/main/webapp/static/layui/lay/modules/notice/5.wav          |    0 
 src/main/webapp/static/js/order/out.js                         |  350 ++++
 src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js  |  250 +++
 src/main/webapp/static/layui/lay/modules/dropdown/dropdown.css |  618 +++++++
 src/main/webapp/views/order/out.html                           |  215 ++
 src/main/webapp/static/layui/lay/modules/notice/2.wav          |    0 
 src/main/webapp/static/css/originTable.css                     |   29 
 src/main/webapp/static/layui/lay/modules/notice/4.wav          |    0 
 16 files changed, 4,800 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 6a0f070..2978fb6 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -29,6 +29,19 @@
     @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
 
+    @RequestMapping(value = "/order/nav/list/auth")
+    @ManagerAuth
+    public R navList(@RequestParam(required = false) String orderNo){
+        EntityWrapper<Order> wrapper = new EntityWrapper<>();
+        if (!Cools.isEmpty(orderNo)) {
+            wrapper.like("order_no", orderNo);
+        }
+        wrapper.le("settle", 2).eq("doc_type", 1);
+        wrapper.orderBy("create_time", false);
+        List<Order> orders = orderService.selectList(wrapper);
+        return R.ok().add(orders);
+    }
+
     @RequestMapping(value = "/order/head/page/auth")
     @ManagerAuth
     public R head(@RequestParam(defaultValue = "1")Integer curr,
diff --git a/src/main/java/orderDetl.sql b/src/main/java/orderDetl.sql
deleted file mode 100644
index db54a6d..0000000
--- a/src/main/java/orderDetl.sql
+++ /dev/null
@@ -1,18 +0,0 @@
--- save orderDetl record
--- mysql
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl/orderDetl.html', 'orderDetl绠$悊', null , '2', null , '1');
-
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#view', '鏌ヨ', '', '3', '0', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#btn-add', '鏂板', '', '3', '1', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#btn-edit', '缂栬緫', '', '3', '2', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#btn-delete', '鍒犻櫎', '', '3', '3', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#btn-export', '瀵煎嚭', '', '3', '4', '1');
-
--- sqlserver
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl/orderDetl.html', N'orderDetl绠$悊', null, '2', null, '1');
-
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#view', N'鏌ヨ', '', '3', '0', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#btn-add', N'鏂板', '', '3', '1', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#btn-edit', N'缂栬緫', '', '3', '2', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#btn-export', N'瀵煎嚭', '', '3', '4', '1');
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/js/order/out.js b/src/main/webapp/static/js/order/out.js
new file mode 100644
index 0000000..6a2ff74
--- /dev/null
+++ b/src/main/webapp/static/js/order/out.js
@@ -0,0 +1,350 @@
+var pageCurr;
+var tableData;
+var insTb2;
+const sensorType = 5;
+layui.config({
+    base: baseUrl + "/static/layui/lay/modules/"
+}).extend({
+    notice: 'notice/notice',
+}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect'], 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;
+    var notice = layui.notice;
+    var treeTable = layui.treeTable;
+    var xmSelect = layui.xmSelect;
+
+    // 璁惧绫诲瀷鏁版嵁
+    var modelTb = treeTable.render({
+        elem: '#nothing',
+        url: baseUrl+'/sensorModel/list/auth',
+        headers: {token: localStorage.getItem('token')},
+        tree: {
+            iconIndex: 2,           // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪
+            isPidData: true,        // 鏄惁鏄痠d銆乸id褰㈠紡鏁版嵁
+            idName: 'id',           // id瀛楁鍚嶇О
+            pidName: 'parentId'     // pid瀛楁鍚嶇О
+        },
+        cols: [[
+            {type: 'checkbox'}
+            ,{type: 'numbers'}
+            ,{field: 'name', align: 'left',title: '鍚嶇О', minWidth: 150}
+        ]],
+        done: function (data) {
+            modelTb.expandAll();
+        }
+    });
+
+    insTb2 = table.render({
+        elem: '#sensorTable',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/sensor/list/auth?sensor_type='+sensorType,
+        page: true,
+        limit: 15,
+        limits: [15, 30, 50, 100, 200, 500],
+        toolbar: '#sensorToolbar',
+        height: 'full-100',
+        cols: [[
+            {type: 'checkbox'}
+            // ,{field: 'id', align: 'center',title: 'ID'}
+            ,{field: 'hostId$', align: 'center',title: '鎵�灞為」鐩�', templet: '#hostTpl', width: 130}
+            // ,{field: 'sensorType$', align: 'center',title: '璁惧绫诲瀷'}
+            ,{field: 'uuid', align: 'center',title: '璁惧缂栫爜', width: 160}
+            ,{field: 'location', align: 'center',title: '鍦扮悊浣嶇疆', width: 180, style: 'font-size: 13px', hide: false}
+            ,{field: 'sensorModel$', align: 'center',title: '璁惧鍨嬪彿', width: 130, hide: false}
+            // ,{field: 'ccid', align: 'center',title: 'CCID'}
+            ,{field: 'sim', align: 'center',title: 'sim鍗″彿',hide: true}
+            // ,{field: 'name', align: 'center',title: '璁惧鍚�'}
+            // ,{field: 'topic', align: 'center',title: '涓婚'}
+            // ,{field: 'ip', align: 'center',title: 'ip'}
+            // ,{field: 'port', align: 'center',title: '绔彛'}
+            // ,{field: 'data', align: 'center',title: '鎶ユ枃'}
+            // ,{field: 'lon', align: 'center',title: '缁忓害'}
+            // ,{field: 'lat', align: 'center',title: '绾害'}
+            ,{field: 'signal', align: 'center',title: '淇″彿鍊�'}
+            ,{field: 'battery', align: 'center',title: '鐢甸噺',hide: true}
+            // ,{field: 'charge$', align: 'center',title: '鍏呯數鐘舵��'}
+            // ,{field: 'tiltX', align: 'center',title: 'x杞村�炬枩'}
+            // ,{field: 'tiltY', align: 'center',title: 'y杞村�炬枩'}
+            // ,{field: 'tiltZ', align: 'center',title: 'z杞村�炬枩'}
+            // ,{field: 'tilt$', align: 'center',title: '鍊炬枩鐘舵��'}
+            ,{field: 'tempe', align: 'center',title: '娓╁害', hide: true}
+            ,{
+                field: 'online', title: '缃戠粶', templet: function (d) {
+                    var strs = [
+                        '<span class="text-success">鍦ㄧ嚎</span>',
+                        '<span class="text-danger">绂荤嚎</span>'
+                    ];
+                    return strs[d.online?0:1];
+                }, align: 'center', sort: true
+            }
+            ,{
+                field: 'error', title: '鐘舵��', templet: function (d) {
+                    var strs = [
+                        '<span class="layui-badge layui-badge-red">寮傚父</span>',
+                        '<span class="layui-badge layui-badge-green">姝e父</span>'
+                    ];
+                    return strs[d.error?0:1];
+                }, align: 'center', sort: false, minWidth: 70, hide: false
+            }
+            // ,{field: 'worn$', align: 'center',title: '鐮存崯鐘舵��'}
+            // ,{field: 'overflow$', align: 'center',title: '瀹氱偣姘翠綅'}
+            // ,{field: 'nsAngle', align: 'center',title: '鍗楀寳瑙掑害'}
+            // ,{field: 'waterGage', align: 'center',title: '绠¢亾姘村帇'}
+            // ,{field: 'harmGas', align: 'center',title: '鏈夊姘斾綋'}
+            // ,{field: 'lnGas', align: 'center',title: '鍙噧姘斾綋'}
+            // ,{field: 'hsGas', align: 'center',title: '纭寲姘㈡皵浣�'}
+            // ,{field: 'reserve0', align: 'center',title: '棰勭暀0'}
+            // ,{field: 'reserve1', align: 'center',title: '棰勭暀1'}
+            // ,{field: 'status$', align: 'center',title: '鐘舵��', templet: '#statusTpl', width: 120, unresize: true}
+            // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+            // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
+            ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿', minWidth: 170}
+            // ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
+            ,{field: 'addr', align: 'center',title: '璇︾粏鍦板潃', hide: true}
+            ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true}
+
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 160}
+        ]],
+        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.sensorTable;
+            pageCurr=curr;
+            limit();
+        }
+    });
+    /* 琛ㄦ牸2鎼滅储 */
+    form.on('submit(sensorTbSearch)', function (data) {
+        insTb2.reload({where: data.field, page: {curr: 1}});
+        return false;
+    });
+
+    /* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
+    table.on('toolbar(sensorTable)', function (obj) {
+        if (obj.event === 'add') { // 娣诲姞
+            showEditModel()
+        } else if (obj.event === 'del') { // 鍒犻櫎
+            var checkRows = table.checkStatus('sensorTable');
+            if (checkRows.data.length === 0) {
+                layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                return;
+            }
+            var ids = checkRows.data.map(function (d) {
+                return d.id;
+            });
+            doDelSensor({ids: ids});
+        }
+    });
+
+    /* 琛ㄦ牸2宸ュ叿鏉$偣鍑讳簨浠� */
+    table.on('tool(sensorTable)', function (obj) {
+        var data = obj.data;
+        switch (obj.event) {
+            case 'detl':
+                top.sensorByDetl = data.id;
+                break;
+            // 缂栬緫
+            case 'edit':
+                showEditModel(data);
+                break;
+            // 鍒犻櫎
+            case 'del':
+                var ids = [data.id];
+                doDelSensor({ids: ids});
+                break;
+            // 鍩虹偣瀹氫綅
+            case 'lbs':
+                notice.msg('璇锋眰涓�...', {icon: 4, position: "topCenter"});
+                var param = {
+                    uuid: data.uuid,
+                    event: obj.event
+                };
+                $.ajax({
+                    url: baseUrl+"/main/command/v1/auth",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: JSON.stringify(param),
+                    contentType:'application/json;charset=UTF-8',
+                    method: 'POST',
+                    success: function (res) {
+                        notice.destroy();
+                        if (res.code === 200){
+                            admin.open({
+                                title: '缁堢鍝嶅簲',
+                                url: 'callback.html',
+                                area: '360px',
+                                data: {
+                                    request: param,
+                                    response: res.data
+                                },
+                                tpl: true
+                            });
+                        } else if (res.code === 403){
+                            top.location.href = baseUrl+"/";
+                        }else {
+                            layer.msg(res.msg, {icon: 2});
+                        }
+                    }
+                })
+                break
+        }
+    });
+
+    // 璁惧鏄庣粏灞曞紑鍥炶皟
+    window.onSensorDetlDialog = function () {
+    };
+
+
+    /* 鏄剧ず琛ㄥ崟寮圭獥 */
+    function showEditModel(mData) {
+        admin.open({
+            type: 1,
+            area: '900px',
+            title: (mData ? '淇敼' : '娣诲姞') + '璁惧',
+            content: $('#editDialog').html(),
+            success: function (layero, dIndex) {
+                // 鍥炴樉琛ㄥ崟鏁版嵁
+                form.val('detail', mData);
+                // 鍦板浘瀹氫綅鍥炴樉
+                if (mData) {
+                    setTimeout(function () {
+                        $("#mapIframe")[0].contentWindow.position(mData.lon, mData.lat);
+                    }, 500)
+                }
+                // 琛ㄥ崟鎻愪氦浜嬩欢
+                form.on('submit(editSubmit)', function (data) {
+                    data.field.sensorModel = insXmSel.getValue('valueStr');
+                    if (isEmpty(data.field.hostId)) {
+                        layer.msg('璇烽�夋嫨鎵�灞為」鐩�', {icon: 2});
+                        return false;
+                    }
+                    data.field.lon = $("#mapIframe").contents().find("#lon").val();
+                    data.field.lat = $("#mapIframe").contents().find("#lat").val();
+                    data.field.city = $("#mapIframe").contents().find("#city").val();
+                    if (isEmpty(data.field.lon) || isEmpty(data.field.lat)) {
+                        layer.msg('璁惧涓嶅湪瀹氫綅', {icon: 2});
+                        return false;
+                    }
+                    var loadIndex = layer.load(2);
+                    $.ajax({
+                        url: baseUrl+"/sensor/"+(mData?'update':'add')+"/auth?sensorType="+sensorType,
+                        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;
+                });
+                // 娓叉煋涓嬫媺鏍�
+                var insXmSel = xmSelect.render({
+                    el: '#modelSel',
+                    height: '250px',
+                    data: modelTb.options.data,
+                    initValue: mData&&mData.sensorModel ? [mData.sensorModel] : [],
+                    model: {label: {type: 'text'}},
+                    prop: {
+                        name: 'name',
+                        value: 'id'
+                    },
+                    radio: true,
+                    clickClose: true,
+                    tree: {
+                        show: true,
+                        indent: 15,
+                        strict: false,
+                        expandedKeys: true
+                    }
+                });
+                // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                layui.form.render('select');
+            }
+        });
+    }
+
+
+    /* 鍒犻櫎璁㈠崟 */
+    function doDelSensor(obj) {
+        layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+            skin: 'layui-layer-admin',
+            shade: .1
+        }, function (i) {
+            layer.close(i);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl+"/sensor/delete/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {ids: obj.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('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+"/sensor/edit/auth", {id: data.id, status: data[this.name]}, function (res) {
+            layer.msg(res.msg, {icon: 1});
+        })
+    })
+
+});
+
+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/orderTable.js b/src/main/webapp/static/js/orderTable.js
new file mode 100644
index 0000000..3beb1ea
--- /dev/null
+++ b/src/main/webapp/static/js/orderTable.js
@@ -0,0 +1,155 @@
+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;
+
+    /****************************************** 宸﹁竟琛� *************************************************/
+
+    var insTb = table.render({
+        elem: '#originTable',
+        url: baseUrl + '/order/nav/list/auth',
+        height: 'full-100',
+        headers: {token: localStorage.getItem('token')},
+        request: {
+            pageName: 'curr',
+            pageSize: 'limit'
+        },
+        page: false,
+        parseData: function (res) {
+            return {
+                'code': res.code,
+                'msg': res.msg,
+                'data': res.data
+            }
+        },
+        response: {
+            statusCode: 200
+        },
+        // toolbar: ['<p>',
+        //     '<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon">&#xe654;</i>娣诲姞</button>&nbsp;',
+        //     '<button lay-event="edit" class="layui-btn layui-btn-sm layui-btn-warm icon-btn"><i class="layui-icon">&#xe642;</i>淇敼</button>&nbsp;',
+        //     '<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon">&#xe640;</i>鍒犻櫎</button>',
+        //     '</p>'].join(''),
+        defaultToolbar: [],
+        cols: [[
+            // {type: 'number', title: '#'},
+            {field: 'orderTime', title: '鏃ユ湡'},
+            {field: 'orderNo', title: '缂栧彿', align: 'center'}
+        ]],
+        done: function (res, curr, count) {
+            console.log(res)
+            $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
+        }
+    });
+
+    /* 琛ㄦ牸鎼滅储 */
+    form.on('submit(originTableSearch)', function (data) {
+        insTb.reload({where: data.field});
+        return false;
+    });
+
+    /* 琛ㄦ牸閲嶇疆 */
+    form.on('submit(originTbReset)', function (data) {
+        insTb.reload({where: null});
+        insTb2.reload({where: {host_id: null}, page: {curr: 1}});
+        return false;
+    });
+
+    /* 琛ㄦ牸澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
+    table.on('toolbar(originTable)', function (obj) {
+        if (obj.event === 'add') { // 娣诲姞
+            showEdit();
+        } else if (obj.event === 'edit') { // 淇敼
+            if (selObj == null) {
+                return;
+            }
+            showEdit(selObj.data);
+        } else if (obj.event === 'del') { // 鍒犻櫎
+            if (selObj == null) {
+                return;
+            }
+            doDel(selObj);
+        }
+    });
+
+    /* 鐩戝惉琛屽崟鍑讳簨浠� */
+    var selObj;
+    table.on('row(originTable)', function (obj) {
+        selObj = obj;
+        obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
+        insTb2.reload({where: {host_id: obj.data.id}, page: {curr: 1}});
+    });
+
+    /* 鏄剧ず琛ㄥ崟寮圭獥 */
+    function showEdit(mData) {
+        admin.open({
+            type: 1,
+            title: (mData ? '淇敼' : '娣诲姞') + '椤圭洰',
+            content: $('#hostEditDialog').html(),
+            success: function (layero, dIndex) {
+                // 鍥炴樉琛ㄥ崟鏁版嵁
+                form.val('hostEditForm', mData);
+                // 琛ㄥ崟鎻愪氦浜嬩欢
+                form.on('submit(hostEditSubmit)', function (data) {
+                    var loadIndex = layer.load(2);
+                    $.ajax({
+                        url: baseUrl+"/host/"+(mData?'update':'add')+"/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: data.field,
+                        method: 'POST',
+                        success: function (res) {
+                            layer.close(loadIndex);
+                            selObj = null;
+                            if (res.code === 200){
+                                layer.close(dIndex);
+                                layer.msg(res.msg, {icon: 1});
+                                insTb.reload();
+                            } else if (res.code === 403){
+                                top.location.href = baseUrl+"/";
+                            } else {
+                                layer.msg(res.msg, {icon: 2});
+                            }
+                        }
+                    })
+                    return false;
+                });
+            }
+        });
+    }
+
+    /* 鍒犻櫎 */
+    function doDel(obj) {
+        layer.confirm('纭畾瑕佸垹闄ゆ鍗曟嵁绫诲瀷鍚楋紵', {
+            skin: 'layui-layer-admin',
+            shade: .1
+        }, function (i) {
+            layer.close(i);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl+"/host/delete/one/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {param: JSON.stringify(obj.data)},
+                method: 'POST',
+                success: function (res) {
+                    selObj = null;
+                    layer.close(loadIndex);
+                    if (res.code === 200){
+                        layer.closeAll();
+                        insTb.reload();
+                        $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    } else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            })
+        });
+    }
+
+})
diff --git a/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.css b/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.css
new file mode 100644
index 0000000..67b169c
--- /dev/null
+++ b/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.css
@@ -0,0 +1,618 @@
+/** 涓嬫媺鑿滃崟妯″潡 date:2020-05-04   License By http://easyweb.vip */
+
+.dropdown-no-scroll {
+    overflow: hidden;
+}
+
+.dropdown-fix-parent {
+    z-index: auto !important;
+}
+
+/** 閬僵灞� */
+.dropdown-menu-shade {
+    position: fixed;
+    left: 0;
+    right: 0;
+    top: 0;
+    bottom: 0;
+    z-index: 9998;
+    background-color: rgba(0, 0, 0, .1);
+}
+
+.dropdown-menu-shade.no-shade {
+    background-color: transparent;
+}
+
+/** 澶滈棿涓婚 */
+
+.dropdown-menu-nav.dark, .dropdown-menu-nav.dark .dropdown-menu-nav-child {
+    background: #32363F;
+    border-color: #484e58;
+}
+
+.dropdown-menu-nav.dark > li > a, .dropdown-menu-nav.dark .dropdown-menu-nav-child > li > a {
+    color: #a1a8b8;
+}
+
+.dropdown-menu-nav.dark > li > a:hover, .dropdown-menu-nav.dark .dropdown-menu-nav-child > li > a:hover {
+    background-color: #272b34;
+}
+
+.dropdown-menu-nav.dark > li.disabled > a, .dropdown-menu-nav > li.disabled > a:hover,
+.dropdown-menu-nav.dark .dropdown-menu-nav-child > li.disabled > a, .dropdown-menu-nav .dropdown-menu-nav-child > li.disabled > a:hover {
+    color: #7a8191;
+}
+
+.dropdown-menu-nav.dark > hr, .dropdown-menu-nav.dark .dropdown-menu-nav-child > hr {
+    background-color: #484e58;
+}
+
+.dropdown-menu-nav.dark > li.title, .dropdown-menu-nav.dark .dropdown-menu-nav-child > li.title {
+    color: #868b9a;
+}
+
+.dropdown-menu-nav.dark .dropdown-anchor {
+    border-color: #484e58;
+}
+
+.dropdown-menu-nav.dark .dropdown-anchor::after {
+    border-color: #32363F;
+}
+
+/** 鐧借壊涓婚 */
+.dropdown-menu {
+    position: relative;
+    display: inline-block;
+    vertical-align: bottom;
+}
+
+.dropdown-menu-nav, .dropdown-menu-nav .dropdown-menu-nav-child {
+    position: absolute;
+    padding: 5px 0;
+    margin: 0;
+    overflow: visible;
+    min-width: 110px;
+    background: #fff;
+    border-radius: 2px;
+    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
+    border: 1px solid #e4e4e4;
+    line-height: initial;
+    text-align: left;
+    z-index: 9999;
+}
+
+.dropdown-menu .dropdown-menu-nav {
+    display: none;
+}
+
+.dropdown-menu.dropdown-open .dropdown-menu-nav {
+    display: block;
+}
+
+.dropdown-menu-nav.fixed {
+    position: fixed;
+}
+
+.dropdown-menu-nav > li, .dropdown-menu-nav-child > li {
+    padding: 0;
+    margin: 0;
+    line-height: 18px;
+    user-select: none;
+    list-style: none;
+    position: relative;
+}
+
+.dropdown-menu-nav > li > a, .dropdown-menu-nav-child > li > a {
+    display: block;
+    color: #555;
+    font-size: 14px;
+    padding: 10px 15px;
+    text-decoration: none;
+    white-space: nowrap;
+    cursor: pointer;
+    user-select: none;
+}
+
+.dropdown-menu-nav > li > a:hover, .dropdown-menu-nav-child > li > a:hover {
+    background-color: #eeeeee;
+}
+
+.dropdown-menu-nav > li .layui-icon, .dropdown-menu-nav-child > li .layui-icon {
+    font-size: 14px;
+    margin-right: 5px;
+}
+
+.dropdown-menu-nav > hr, .dropdown-menu-nav-child > hr {
+    height: 1px;
+    margin: 3px 0;
+    background-color: #e6e6e6;
+}
+
+/** 绂佺敤鏍峰紡 */
+.dropdown-menu-nav > li.disabled, .dropdown-menu-nav-child > li.disabled {
+    cursor: not-allowed;
+}
+
+.dropdown-menu-nav > li.disabled > a, .dropdown-menu-nav > li.disabled > a:hover,
+.dropdown-menu-nav-child > li.disabled > a, .dropdown-menu-nav-child > li.disabled > a:hover {
+    color: #999;
+    cursor: not-allowed;
+    pointer-events: none;
+    background-color: transparent;
+}
+
+/** 鏍囬鏍峰紡 */
+.dropdown-menu-nav > li.title, .dropdown-menu-nav-child > li.title {
+    color: #999;
+    font-size: 12px;
+    padding: 3px 15px;
+}
+
+/* nav瀛愯彍鍗� */
+.dropdown-menu-nav .dropdown-menu-nav-child {
+    left: 100%;
+    top: 0;
+    display: none;
+}
+
+.dropdown-menu-nav .show-left .dropdown-menu-nav-child {
+    left: auto;
+    right: 100%;
+}
+
+.dropdown-menu-nav > li.active > .dropdown-menu-nav-child, .dropdown-menu-nav-child > li.active > .dropdown-menu-nav-child {
+    display: block;
+}
+
+.dropdown-menu-nav > li.have-more:after, .dropdown-menu-nav-child > li.have-more:after {
+    content: "\e602";
+    font-family: layui-icon !important;
+    font-size: 14px;
+    font-style: normal;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    position: absolute;
+    right: 4px;
+    color: #666;
+    top: 50%;
+    margin-top: -8px;
+}
+
+/** 灏忕澶� */
+.dropdown-menu-nav .dropdown-anchor, .dropdown-menu-nav .dropdown-anchor:after {
+    border: 8px solid #e4e4e4;
+    position: absolute;
+    display: inline-block;
+}
+
+.dropdown-menu-nav .dropdown-anchor:after {
+    content: '';
+    border: 7px solid #fff;
+}
+
+/** 涓嬪乏浣嶇疆 */
+.dropdown-menu-nav.dropdown-bottom-left {
+    top: 100%;
+}
+
+.dropdown-menu-nav.dropdown-bottom-left {
+    margin-top: 8px;
+}
+
+.dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor, .dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor:after {
+    border-top-color: transparent;
+    border-right-color: transparent;
+    border-left-color: transparent;
+    top: -16px;
+}
+
+.dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor:after {
+    top: -6px;
+    left: -7px;
+}
+
+.dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor {
+    left: 12px;
+}
+
+/** 涓嬪彸浣嶇疆 */
+.dropdown-menu-nav.dropdown-bottom-right {
+    right: 0;
+}
+
+.dropdown-menu-nav.dropdown-bottom-right {
+    margin-top: 8px;
+}
+
+.dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor, .dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor:after {
+    border-top-color: transparent;
+    border-right-color: transparent;
+    border-left-color: transparent;
+    top: -16px;
+}
+
+.dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor:after {
+    top: -6px;
+    left: -7px;
+}
+
+.dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor {
+    right: 12px;
+}
+
+/** 涓嬩腑浣嶇疆 */
+.dropdown-menu-nav.dropdown-bottom-center {
+    left: 50%;
+    /*transform: translateX(-50%);*/
+}
+
+.dropdown-menu-nav.dropdown-bottom-center {
+    margin-top: 8px;
+}
+
+.dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor, .dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor:after {
+    border-top-color: transparent;
+    border-right-color: transparent;
+    border-left-color: transparent;
+    top: -16px;
+}
+
+.dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor:after {
+    top: -6px;
+    left: -7px;
+}
+
+.dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor {
+    left: calc(50% - 8px);
+}
+
+/** 涓婂乏浣嶇疆 */
+.dropdown-menu-nav.dropdown-top-left {
+    bottom: 100%;
+}
+
+.dropdown-menu-nav.dropdown-top-left {
+    margin-bottom: 8px;
+}
+
+.dropdown-menu-nav.dropdown-top-left .dropdown-anchor, .dropdown-menu-nav.dropdown-top-left .dropdown-anchor:after {
+    border-bottom-color: transparent;
+    border-right-color: transparent;
+    border-left-color: transparent;
+    bottom: -16px;
+}
+
+.dropdown-menu-nav.dropdown-top-left .dropdown-anchor:after {
+    top: -8px;
+    left: -7px;
+    bottom: auto;
+}
+
+.dropdown-menu-nav.dropdown-top-left .dropdown-anchor {
+    left: 12px;
+}
+
+/** 涓婂彸浣嶇疆 */
+.dropdown-menu-nav.dropdown-top-right {
+    bottom: 100%;
+    right: 0;
+}
+
+.dropdown-menu-nav.dropdown-top-right {
+    margin-bottom: 8px;
+}
+
+.dropdown-menu-nav.dropdown-top-right .dropdown-anchor, .dropdown-menu-nav.dropdown-top-right .dropdown-anchor:after {
+    border-bottom-color: transparent;
+    border-right-color: transparent;
+    border-left-color: transparent;
+    bottom: -16px;
+}
+
+.dropdown-menu-nav.dropdown-top-right .dropdown-anchor:after {
+    top: -8px;
+    left: -7px;
+    bottom: auto;
+}
+
+.dropdown-menu-nav.dropdown-top-right .dropdown-anchor {
+    right: 12px;
+}
+
+/** 涓婁腑浣嶇疆 */
+.dropdown-menu-nav.dropdown-top-center {
+    bottom: 100%;
+    left: 50%;
+    /*transform: translateX(-50%);*/
+}
+
+.dropdown-menu-nav.dropdown-top-center {
+    margin-bottom: 8px;
+}
+
+.dropdown-menu-nav.dropdown-top-center .dropdown-anchor, .dropdown-menu-nav.dropdown-top-center .dropdown-anchor:after {
+    border-bottom-color: transparent;
+    border-right-color: transparent;
+    border-left-color: transparent;
+    bottom: -16px;
+}
+
+.dropdown-menu-nav.dropdown-top-center .dropdown-anchor:after {
+    top: -8px;
+    left: -7px;
+    bottom: auto;
+}
+
+.dropdown-menu-nav.dropdown-top-center .dropdown-anchor {
+    left: calc(50% - 8px);
+}
+
+/** 宸︿笂浣嶇疆 */
+.dropdown-menu-nav.dropdown-left-top {
+    right: 100%;
+    bottom: 0;
+}
+
+.dropdown-menu-nav.dropdown-left-top {
+    margin-right: 8px;
+}
+
+.dropdown-menu-nav.dropdown-left-top .dropdown-anchor, .dropdown-menu-nav.dropdown-left-top .dropdown-anchor:after {
+    border-bottom-color: transparent;
+    border-right-color: transparent;
+    border-top-color: transparent;
+    right: -16px;
+}
+
+.dropdown-menu-nav.dropdown-left-top .dropdown-anchor:after {
+    top: -7px;
+    left: -8px;
+    right: auto;
+}
+
+.dropdown-menu-nav.dropdown-left-top .dropdown-anchor {
+    bottom: 12px;
+}
+
+/** 宸︿笅浣嶇疆 */
+.dropdown-menu-nav.dropdown-left-bottom {
+    right: 100%;
+    top: 0;
+}
+
+.dropdown-menu-nav.dropdown-left-bottom {
+    margin-right: 8px;
+}
+
+.dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor, .dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor:after {
+    border-bottom-color: transparent;
+    border-right-color: transparent;
+    border-top-color: transparent;
+    right: -16px;
+}
+
+.dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor:after {
+    top: -7px;
+    left: -8px;
+    right: auto;
+}
+
+.dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor {
+    top: 12px;
+}
+
+/** 宸︿腑浣嶇疆 */
+.dropdown-menu-nav.dropdown-left-center {
+    right: 100%;
+    top: 50%;
+    /*transform: translateY(-50%);*/
+}
+
+.dropdown-menu-nav.dropdown-left-center {
+    margin-right: 8px;
+}
+
+.dropdown-menu-nav.dropdown-left-center .dropdown-anchor, .dropdown-menu-nav.dropdown-left-center .dropdown-anchor:after {
+    border-bottom-color: transparent;
+    border-right-color: transparent;
+    border-top-color: transparent;
+    right: -16px;
+}
+
+.dropdown-menu-nav.dropdown-left-center .dropdown-anchor:after {
+    top: -7px;
+    left: -8px;
+    right: auto;
+}
+
+.dropdown-menu-nav.dropdown-left-center .dropdown-anchor {
+    top: calc(50% - 8px);
+}
+
+/** 鍙充笂浣嶇疆 */
+.dropdown-menu-nav.dropdown-right-top {
+    left: 100%;
+    bottom: 0;
+}
+
+.dropdown-menu-nav.dropdown-right-top {
+    margin-left: 8px;
+}
+
+.dropdown-menu-nav.dropdown-right-top .dropdown-anchor, .dropdown-menu-nav.dropdown-right-top .dropdown-anchor:after {
+    border-bottom-color: transparent;
+    border-left-color: transparent;
+    border-top-color: transparent;
+    left: -16px;
+}
+
+.dropdown-menu-nav.dropdown-right-top .dropdown-anchor:after {
+    top: -7px;
+    left: -6px;
+}
+
+.dropdown-menu-nav.dropdown-right-top .dropdown-anchor {
+    bottom: 12px;
+}
+
+/** 鍙充笅浣嶇疆 */
+.dropdown-menu-nav.dropdown-right-bottom {
+    left: 100%;
+    top: 0;
+}
+
+.dropdown-menu-nav.dropdown-right-bottom {
+    margin-left: 8px;
+}
+
+.dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor, .dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor:after {
+    border-bottom-color: transparent;
+    border-left-color: transparent;
+    border-top-color: transparent;
+    left: -16px;
+}
+
+.dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor:after {
+    top: -7px;
+    left: -6px;
+}
+
+.dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor {
+    top: 12px;
+}
+
+/** 鍙充腑浣嶇疆 */
+.dropdown-menu-nav.dropdown-right-center {
+    left: 100%;
+    top: 50%;
+    /*transform: translateY(-50%);*/
+}
+
+.dropdown-menu-nav.dropdown-right-center {
+    margin-left: 8px;
+}
+
+.dropdown-menu-nav.dropdown-right-center .dropdown-anchor, .dropdown-menu-nav.dropdown-right-center .dropdown-anchor:after {
+    border-bottom-color: transparent;
+    border-left-color: transparent;
+    border-top-color: transparent;
+    left: -16px;
+}
+
+.dropdown-menu-nav.dropdown-right-center .dropdown-anchor:after {
+    top: -7px;
+    left: -6px;
+}
+
+.dropdown-menu-nav.dropdown-right-center .dropdown-anchor {
+    top: calc(50% - 8px);
+}
+
+/** 鎸夐挳閲岄潰涓夎褰㈡牱寮� */
+.icon-btn .layui-icon-drop {
+    margin-right: 0;
+    font-size: 14px;
+}
+
+.layui-icon-drop:before {
+    content: "\e625";
+}
+
+.layui-icon-drop.top {
+    transform: rotate(180deg);
+    display: inline-table;
+}
+
+.layui-icon-drop.left {
+    transform: rotate(90deg);
+    display: inline-table;
+}
+
+.layui-icon-drop.right {
+    transform: rotate(-90deg);
+    display: inline-table;
+}
+
+/** 閫傞厤btn-container */
+.layui-btn-container .dropdown-menu .layui-btn {
+    margin: 0;
+}
+
+.layui-btn-container .dropdown-menu {
+    margin-right: 10px;
+    margin-bottom: 10px;
+}
+
+.dropdown-menu + .dropdown-menu, .layui-btn + .dropdown-menu, .dropdown-menu + .layui-btn {
+    margin-left: 10px;
+}
+
+.layui-btn-container input {
+    font-size: 14px;
+}
+
+/** 姘旀场纭妗� */
+.dropdown-popconfirm {
+    color: #555;
+    font-size: 14px;
+    max-width: 230px;
+    min-width: 200px;
+    width: max-content;
+    padding: 15px 15px;
+    box-sizing: border-box;
+    border: none;
+    border-radius: 4px;
+    box-shadow: 0 1px 6px rgba(0, 0, 0, .2);
+}
+
+.dropdown-popconfirm .layui-icon-help, .dropdown-popconfirm .layui-icon-about {
+    font-size: 12px;
+    color: #fff;
+    height: 16px;
+    width: 16px;
+    line-height: 16px;
+    text-align: center;
+    display: inline-block;
+    box-sizing: border-box;
+    background-color: #FF9900;
+    border-radius: 50%;
+    margin: -2px 3px 0 0;
+    overflow: hidden;
+    vertical-align: middle;
+}
+
+.dropdown-popconfirm .layui-icon-about {
+    background-color: #FF0000;
+    position: relative;
+}
+
+.dropdown-popconfirm .layui-icon-about:before {
+    font-size: 28px;
+    position: absolute;
+    left: -6px;
+    top: 0;
+}
+
+.dropdown-popconfirm .dropdown-popconfirm-title > span {
+    display: inline-block;
+    vertical-align: middle;
+}
+
+.dropdown-popconfirm .dropdown-popconfirm-btn {
+    margin-top: 12px;
+    text-align: right;
+}
+
+.dropdown-popconfirm .dropdown-popconfirm-btn .layui-btn {
+    height: 24px;
+    min-width: 45px;
+    line-height: 24px;
+    padding: 0;
+    font-size: 12px;
+    border-radius: 3px;
+}
+
+.dropdown-popconfirm .dropdown-popconfirm-btn .layui-btn[btn-cancel] {
+    color: #333;
+    background: transparent;
+}
diff --git a/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js b/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js
new file mode 100644
index 0000000..b05f3ac
--- /dev/null
+++ b/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js
@@ -0,0 +1,250 @@
+/** 涓嬫媺鑿滃崟妯″潡 date:2020-05-04   License By http://easyweb.vip */
+layui.define(['jquery'], function (exports) {
+    var $ = layui.jquery;
+    var openClass = 'dropdown-open';
+    var disableClass = 'dropdown-disabled';
+    var noScrollClass = 'dropdown-no-scroll';
+    var shadeClass = 'dropdown-menu-shade';
+    var dropdownClass = 'dropdown-menu';
+    var dropNavClass = 'dropdown-menu-nav';
+    var hoverClass = 'dropdown-hover';
+    var fixedClass = 'fixed';
+    var noShadeClass = 'no-shade';
+    var animClass = 'layui-anim layui-anim-upbit';
+    var popAnimClass = 'layui-anim layui-anim-fadein';
+    var dropDirect = ['bottom-left', 'bottom-right', 'bottom-center', 'top-left', 'top-right', 'top-center', 'left-top', 'left-bottom', 'left-center', 'right-top', 'right-bottom', 'right-center'];
+    if ($('#ew-css-dropdown').length <= 0) {
+        layui.link(layui.cache.base + 'dropdown/dropdown.css');
+    }
+
+    var dropdown = {
+        // 缁戝畾浜嬩欢
+        init: function () {
+            // 鐐瑰嚮瑙﹀彂
+            $(document).off('click.dropdown').on('click.dropdown', '.' + dropdownClass + '>*:first-child', function (event) {
+                var $drop = $(this).parent();
+                if (!$drop.hasClass(hoverClass)) {
+                    if ($drop.hasClass(openClass)) {
+                        $drop.removeClass(openClass);
+                    } else {
+                        dropdown.hideAll();
+                        dropdown.show($(this).parent().find('.' + dropNavClass));
+                    }
+                }
+                event.stopPropagation();
+            });
+            // 鐐瑰嚮浠讳綍浣嶇疆鍏抽棴鎵�鏈�
+            $(document).off('click.dropHide').on('click.dropHide', function (event) {
+                dropdown.hideAll();
+            });
+            // 鐐瑰嚮涓嬫媺鑿滃崟鍐呭閮ㄥ垎涓嶅叧闂�
+            $(document).off('click.dropNav').on('click.dropNav', '.' + dropNavClass, function (event) {
+                event.stopPropagation();
+            });
+            // hover瑙﹀彂
+            var timer, lastDrop, hoverSelector = '.' + dropdownClass + '.' + hoverClass;
+            $(document).off('mouseenter.dropdown').on('mouseenter.dropdown', hoverSelector, function (event) {
+                if (lastDrop && lastDrop == event.currentTarget) {
+                    clearTimeout(timer);
+                }
+                dropdown.show($(this).find('.' + dropNavClass));
+            });
+            $(document).off('mouseleave.dropdown').on('mouseleave.dropdown', hoverSelector, function (event) {
+                lastDrop = event.currentTarget;
+                timer = setTimeout(function () {
+                    $(event.currentTarget).removeClass(openClass);
+                }, 300);
+            });
+            // 鍒嗙寮忕粦瀹�
+            $(document).off('click.dropStand').on('click.dropStand', '[data-dropdown]', function (event) {
+                dropdown.showFixed($(this));
+                event.stopPropagation();
+            });
+            // 鏃犻檺绾у瓙鑿滃崟
+            var hoverNavSelector = '.' + dropNavClass + ' li';
+            $(document).off('mouseenter.dropdownNav').on('mouseenter.dropdownNav', hoverNavSelector, function (event) {
+                $(this).children('.dropdown-menu-nav-child').addClass(animClass);
+                $(this).addClass('active');
+            });
+            $(document).off('mouseleave.dropdownNav').on('mouseleave.dropdownNav', hoverNavSelector, function (event) {
+                $(this).removeClass('active');
+                $(this).find('li.active').removeClass('active');
+            });
+            // 姘旀场纭寮圭獥
+            $(document).off('click.popconfirm').on('click.popconfirm', '.dropdown-menu-nav [btn-cancel]', function (event) {
+                dropdown.hideAll();
+                event.stopPropagation();
+            });
+        },
+        // 鐐瑰嚮鑿滃崟鍏抽棴
+        openClickNavClose: function () {
+            $(document).off('click.dropNavA').on('click.dropNavA', '.' + dropNavClass + '>li>a', function (event) {
+                dropdown.hideAll();
+                $(this).parentsUntil('.' + dropdownClass).last().parent().removeClass(openClass);
+                event.stopPropagation();
+            });
+        },
+        // 鍏抽棴鎵�鏈�
+        hideAll: function () {
+            $('.' + dropdownClass).removeClass(openClass);
+            // 闅愯棌鍒嗙寮忚彍鍗�
+            $('.' + dropNavClass + '.' + fixedClass).addClass('layui-hide');  // 闅愯棌鍒嗙寮忚彍鍗�
+            $('.' + shadeClass).remove();  // 绉婚櫎閬僵灞�
+            $('body').removeClass(noScrollClass);  // 绉婚櫎绂佹椤甸潰婊氬姩
+            $('.dropdown-fix-parent').removeClass('dropdown-fix-parent');
+            $('[data-dropdown]').removeClass(openClass);
+        },
+        // 灞曞紑闈炲垎绂诲紡涓嬫媺鑿滃崟
+        show: function ($dropNav) {
+            if ($dropNav && $dropNav.length > 0 && !$dropNav.hasClass(disableClass)) {
+                if ($dropNav.hasClass('dropdown-popconfirm')) {
+                    $dropNav.removeClass(animClass);
+                    $dropNav.addClass(popAnimClass);
+                } else {
+                    $dropNav.removeClass(popAnimClass);
+                    $dropNav.addClass(animClass);
+                }
+                var position;  // 鑾峰彇浣嶇疆
+                for (var i = 0; i < dropDirect.length; i++) {
+                    if ($dropNav.hasClass('dropdown-' + dropDirect[i])) {
+                        position = dropDirect[i];
+                        break;
+                    }
+                }
+                if (!position) {  // 娌℃湁璁剧疆浣嶇疆娣诲姞榛樿浣嶇疆
+                    $dropNav.addClass('dropdown-' + dropDirect[0]);
+                    position = dropDirect[0];
+                }
+                dropdown.forCenter($dropNav, position);
+                $dropNav.parent('.' + dropdownClass).addClass(openClass);
+                return position;
+            }
+            return false;
+        },
+        // 灞曞紑鍒嗙寮忚彍鍗�
+        showFixed: function ($trigger) {
+            var $dropNav = $($trigger.data('dropdown')), position;
+            if (!$dropNav.hasClass('layui-hide')) {
+                dropdown.hideAll();  // 宸茬粡灞曞紑鍒欓殣钘�
+                return;
+            }
+            dropdown.hideAll();  // 宸茬粡灞曞紑鍒欓殣钘�
+            position = dropdown.show($dropNav);  // 鑾峰彇寮瑰嚭浣嶇疆
+            if (position) {
+                $dropNav.addClass(fixedClass);  // 璁剧疆涓哄浐瀹氬畾浣�
+                $dropNav.removeClass('layui-hide');  // 鏄剧ず涓嬫媺鑿滃崟
+                var topLeft = dropdown.getTopLeft($trigger, $dropNav, position);  // 璁$畻鍧愭爣
+                topLeft = dropdown.checkPosition($dropNav, $trigger, position, topLeft); // 鏄惁婧㈠嚭灞忓箷
+                $dropNav.css(topLeft);  // 璁剧疆鍧愭爣
+                $('body').addClass(noScrollClass); // 绂佹椤甸潰婊氬姩
+                var hideShade = ($trigger.attr('no-shade') == 'true');  // 鏄惁闅愯棌閬僵灞�
+                $('body').append('<div class="' + (hideShade ? (shadeClass + ' ' + noShadeClass) : shadeClass) + ' layui-anim layui-anim-fadein"></div>');  // 娣诲姞閬僵灞�
+                // 閲嶇疆鐖跺厓绱爖-index
+                $trigger.parentsUntil('body').each(function () {
+                    var zIndex = $(this).css('z-index');
+                    if (/[0-9]+/.test(zIndex)) {
+                        $(this).addClass('dropdown-fix-parent');
+                    }
+                });
+                $trigger.addClass(openClass);
+            }
+        },
+        // 瑙e喅缁濆瀹氫綅鍥犲姩鐢诲鑷村钩绉诲け鏁�
+        forCenter: function ($dropNav, position) {
+            if (!$dropNav.hasClass(fixedClass)) {
+                var wTrigger = $dropNav.parent().outerWidth(), hTrigger = $dropNav.parent().outerHeight();
+                var wDrop = $dropNav.outerWidth(), hDrop = $dropNav.outerHeight();
+                var pParts = position.split('-'), dropSide = pParts[0], dropPosition = pParts[1];  // 鏄剧ず鏂瑰悜
+                if ((dropSide == 'top' || dropSide == 'bottom') && dropPosition == 'center') {
+                    $dropNav.css('left', (wTrigger - wDrop) / 2);
+                }
+                if ((dropSide == 'left' || dropSide == 'right') && dropPosition == 'center') {
+                    $dropNav.css('top', (hTrigger - hDrop) / 2);
+                }
+            }
+        },
+        // 璁$畻鍥哄畾瀹氫綅鍧愭爣
+        getTopLeft: function ($trigger, $dropdown, position) {
+            var widthTrigger = $trigger.outerWidth();
+            var heightTrigger = $trigger.outerHeight();
+            var widthDropdown = $dropdown.outerWidth();
+            var heightDropdown = $dropdown.outerHeight();
+            var topTrigger = $trigger.offset().top - $(document).scrollTop();
+            var leftTrigger = $trigger.offset().left;
+            var rightTrigger = leftTrigger + widthTrigger;
+            var top = 0, left = 0;
+            var positionParts = position.split('-');
+            var anchorSide = positionParts[0];  // 绠ご浣嶇疆
+            var anchorPosition = positionParts[1];  // 绠ご鏂瑰悜
+            if (anchorSide == 'top' || anchorSide == 'bottom') {
+                heightDropdown += 8; // 鍔犱笂margin璺濈
+                switch (anchorPosition) {
+                    case 'left':
+                        left = leftTrigger;
+                        break;
+                    case 'center':
+                        left = leftTrigger - widthDropdown / 2 + widthTrigger / 2;
+                        break;
+                    case 'right':
+                        left = rightTrigger - widthDropdown;
+                }
+            }
+            if (anchorSide == 'left' || anchorSide == 'right') {
+                widthDropdown += 8;  // 鍔犱笂margin璺濈
+                switch (anchorPosition) {
+                    case 'top':
+                        top = topTrigger + heightTrigger - heightDropdown;
+                        break;
+                    case 'center':
+                        top = topTrigger - heightDropdown / 2 + heightTrigger / 2;
+                        break;
+                    case 'bottom':
+                        top = topTrigger;
+                }
+            }
+            switch (anchorSide) {
+                case 'top':
+                    top = topTrigger - heightDropdown;
+                    break;
+                case 'right':
+                    left = leftTrigger + widthTrigger;
+                    break;
+                case 'bottom':
+                    top = topTrigger + heightTrigger;
+                    break;
+                case 'left':
+                    left = leftTrigger - widthDropdown;
+            }
+            return {top: top, left: left, right: 'auto', bottom: 'auto'};
+        },
+        // 妫�鏌ユ槸鍚︽孩鍑哄睆骞�
+        checkPosition: function ($dropNav, $trigger, position, topLeft) {
+            var aps = position.split('-');
+            if ('bottom' == aps[0]) {
+                if ((topLeft.top + $dropNav.outerHeight()) > dropdown.getPageHeight()) {
+                    topLeft = dropdown.getTopLeft($trigger, $dropNav, 'top-' + aps[1]);
+                    $dropNav.removeClass('dropdown-' + position);
+                    $dropNav.addClass('dropdown-top-' + aps[1]);
+                }
+            } else if ('top' == aps[0]) {
+                if (topLeft.top < 0) {
+                    topLeft = dropdown.getTopLeft($trigger, $dropNav, 'bottom-' + aps[1]);
+                    $dropNav.removeClass('dropdown-' + position);
+                    $dropNav.addClass('dropdown-bottom-' + aps[1]);
+                }
+            }
+            return topLeft;
+        },
+        // 鑾峰彇娴忚鍣ㄩ珮搴�
+        getPageHeight: function () {
+            return document.documentElement.clientHeight || document.body.clientHeight;
+        },
+        // 鑾峰彇娴忚鍣ㄥ搴�
+        getPageWidth: function () {
+            return document.documentElement.clientWidth || document.body.clientWidth;
+        }
+    };
+
+    dropdown.init();
+    exports('dropdown', dropdown);
+});
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/views/order/out.html b/src/main/webapp/views/order/out.html
new file mode 100644
index 0000000..89c3d31
--- /dev/null
+++ b/src/main/webapp/views/order/out.html
@@ -0,0 +1,215 @@
+<!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;
+        }
+
+        /* 鏉冮檺鎺у埗 */
+        #btn-add {
+            display: none;
+        }
+        #btn-delete {
+            display: none;
+        }
+        .btn-edit {
+            display: none;
+        }
+        .btn-more {
+            display: none;
+        }
+    </style>
+</head>
+<body>
+<!-- 姝f枃寮�濮� -->
+<div class="layui-fluid" style="padding-bottom: 0;">
+    <div class="layui-row layui-col-space15">
+        <!-- 宸� -->
+        <div class="layui-col-md3" id="left-table">
+            <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" style="max-width: 300px;">
+                                <input name="orderNo" class="layui-input" placeholder="杈撳叆鍗曟嵁缂栧彿" autocomplete="off"/>
+                            </div>
+                            <div class="layui-inline">
+                                <button class="layui-btn icon-btn" lay-filter="originTableSearch" lay-submit>
+                                    <i class="layui-icon">&#xe615;</i>鎼滅储
+                                </button>
+                                <button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit>
+                                    <i class="layui-icon">&#xe666;</i>閲嶇疆
+                                </button>
+                            </div>
+                        </div>
+                    </form>
+                    <table id="originTable" lay-filter="originTable"></table>
+                </div>
+            </div>
+        </div>
+        <!-- 鍙� -->
+        <div class="layui-col-md9">
+            <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="uuid" class="layui-input" placeholder="璁惧缂栧彿"/>
+                                </div>
+                            </div>
+<!--                            <div class="layui-inline">-->
+<!--                                <label class="layui-form-label">鐘舵��:</label>-->
+<!--                                <div class="layui-input-inline">-->
+<!--                                    <select name="isOnline">-->
+<!--                                        <option value="1">鍏呯數涓�</option>-->
+<!--                                        <option value="1">鍏呯數涓�</option>-->
+<!--                                        <option value="0">涓嶅湪鍏呯數</option>-->
+<!--                                    </select>-->
+<!--                                </div>-->
+<!--                            </div>-->
+                            <div class="layui-inline">&emsp;
+                                <button class="layui-btn icon-btn" lay-filter="sensorTbSearch" lay-submit>
+                                    <i class="layui-icon">&#xe615;</i>鎼滅储
+                                </button>
+                            </div>
+                        </div>
+                    </form>
+                    <table id="sensorTable" lay-filter="sensorTable"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<!-- 澶村伐鍏锋爮 -->
+<script type="text/html" id="sensorToolbar">
+    <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">&#xe654;</i>鏂板</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="del"><i class="layui-icon">&#xe640;</i>鍒犻櫎</button>
+    </div>
+</script>
+
+<!-- 琛屽伐鍏锋爮 -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-xs btn-edit" lay-event="detl" ew-event="popupRight"
+       data-type="1" data-window="top" data-area="1250px" data-url="sensor5/sensor_detl.html">
+        <i class="layui-icon">&#xe6b2;</i>鏌ョ湅</a>
+    <a class="layui-btn layui-btn-xs layui-btn-primary btn-edit" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>淇敼</a>
+</script>
+
+<!-- 琛屾牱寮� -->
+<script type="text/html" id="hostTpl">
+    <span name="hostId$" class="layui-badge layui-badge-gray">{{d.hostId$}}</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="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-md4">
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">璁惧缂栧彿</label>
+                    <div class="layui-input-block">
+                        <input name="uuid" placeholder="璇疯緭鍏ヨ澶囩紪鍙�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+                    </div>
+                </div>
+            </div>
+            <div class="layui-col-md4">
+                <div class="layui-form-item">
+                    <label class="layui-form-label">璁惧绫诲瀷锛�</label>
+                    <div class="layui-input-block">
+                        <div id="modelSel" class="ew-xmselect-tree"></div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-col-md4">
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鎵�灞為」鐩�: </label>
+                    <div class="layui-input-block cool-auto-complete">
+                        <input name="hostId" class="layui-input" style="display: none">
+                        <input id="hostId$" name="hostId$" 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="hostQueryByhostId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="hostQueryByhostIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            </select>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-col-md12">
+                <div class="layui-form-item">
+                    <label class="layui-form-label">璇︾粏鍦板潃</label>
+                    <div class="layui-input-block">
+                        <input name="addr" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" class="layui-input">
+                    </div>
+                </div>
+            </div>
+            <hr class="layui-bg-gray">
+            <div class="layui-col-md12" style="text-align: center">
+                <iframe id="mapIframe" src="map.html" scrolling="no" frameborder="0"
+                        style="display: inline-block; width: 90%;height: 400px;margin: auto">
+                </iframe>
+            </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/orderTable.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/order/out.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>
+

--
Gitblit v1.9.1