业务参数管理
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ApiClientDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/ApiClientDao.java
index e5ca834..3875703 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/ApiClientDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/ApiClientDao.java
@@ -1,8 +1,14 @@
 package com.supwisdom.dlpay.framework.dao;
 
 import com.supwisdom.dlpay.framework.domain.TApiClient;
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
 
-public interface ApiClientDao extends CrudRepository<TApiClient, String> {
+@Repository
+public interface ApiClientDao extends JpaRepository<TApiClient, String> {
   TApiClient findByAppid(String appid);
+
+  Page<TApiClient> findByAppidContaining(String appid, Pageable pageable);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java b/src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java
index 1224c6e..7308802 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java
@@ -1,10 +1,12 @@
 package com.supwisdom.dlpay.system.controller;
 
 import com.supwisdom.dlpay.api.bean.JsonResult;
+import com.supwisdom.dlpay.framework.domain.TApiClient;
 import com.supwisdom.dlpay.framework.domain.TBusinesspara;
 import com.supwisdom.dlpay.framework.domain.TSyspara;
 import com.supwisdom.dlpay.framework.service.SystemUtilService;
 import com.supwisdom.dlpay.framework.util.PageResult;
+import com.supwisdom.dlpay.framework.util.StringUtil;
 import com.supwisdom.dlpay.framework.util.WebConstant;
 import com.supwisdom.dlpay.system.service.ParamService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -71,14 +73,14 @@
       }
     } catch (Exception e) {
       e.printStackTrace();
-      return JsonResult.error("系统处理异常");
+      return JsonResult.error("系统处理异常").put("exception", e);
     }
   }
 
 
   /**
    * ====================================================
-   *              业务参数配置
+   * 业务参数配置
    * ====================================================
    */
   @GetMapping("/param/businesspara")
@@ -86,10 +88,10 @@
     return "system/param/businesspara";
   }
 
-  @PostMapping("/param/businessparalist")
+  @GetMapping("/param/businessparalist")
   @PreAuthorize("hasPermission('/param/businesspara','')")
   @ResponseBody
-  public PageResult<TBusinesspara> getDataList(@RequestParam("page") Integer pageNo,
+  public PageResult<TBusinesspara> getBusinessDataList(@RequestParam("page") Integer pageNo,
                                                @RequestParam("limit") Integer pageSize,
                                                @RequestParam(value = "paraname", required = false) String paraname) {
     try {
@@ -102,5 +104,122 @@
     }
   }
 
+  @PostMapping("/param/deletebusinesspara")
+  @PreAuthorize("hasPermission('/param/deletebusinesspara','')")
+  @ResponseBody
+  public JsonResult deleteBusinesspara(@RequestParam("parakey") String parakey) {
+    try {
+      if (StringUtil.isEmpty(parakey)) {
+        return JsonResult.error("参数名为空");
+      }
+      TBusinesspara businesspara = paramService.getBusinessparaByParakey(parakey);
+      if (null == businesspara) {
+        return JsonResult.error("业务参数[" + parakey + "]不存在!");
+      }
+      if (paramService.deleteBusinesspara(businesspara)) {
+        return JsonResult.ok("删除成功!");
+      } else {
+        return JsonResult.error("删除失败!");
+      }
+    } catch (Exception e) {
+      e.printStackTrace();
+      return JsonResult.error("系统处理异常").put("exception", e);
+    }
+  }
+
+  @PostMapping("/param/businessparaupdate")
+  @PreAuthorize("hasPermission('/param/businessparaupdate','')")
+  @ResponseBody
+  public JsonResult updateBusinesspara(@RequestParam("parakey") String parakey, @RequestParam("paraval") String paraval) {
+    try {
+      if (StringUtil.isEmpty(parakey) || null == paraval) {
+        return JsonResult.error("参数传递错误");
+      }
+      TBusinesspara businesspara = paramService.getBusinessparaByParakey(parakey);
+      if (null == businesspara) {
+        return JsonResult.error("业务参数[" + parakey + "]不存在!");
+      }
+      businesspara.setParaval(paraval);
+      if (paramService.saveOrUpdateBusinesspara(businesspara)) {
+        return JsonResult.ok("修改成功!");
+      } else {
+        return JsonResult.error("修改失败!");
+      }
+    } catch (Exception e) {
+      e.printStackTrace();
+      return JsonResult.error("系统处理异常").put("exception", e);
+    }
+  }
+
+  @GetMapping("/param/load4addbuspara")
+  @PreAuthorize("hasPermission('/param/load4addbuspara','')")
+  public String loadadd() {
+    return "system/param/busparaform";
+  }
+
+  @GetMapping("/param/checkbusname")
+  @ResponseBody
+  public JsonResult checkname(@RequestParam("parakey") String parakey) {
+    TBusinesspara businesspara = paramService.getBusinessparaByParakey(parakey);
+    if (businesspara == null) {
+      return JsonResult.ok();
+    } else {
+      return JsonResult.error("参数名重复");
+    }
+  }
+
+  @PostMapping("/param/addbusinesspara")
+  @PreAuthorize("hasPermission('/param/addbusinesspara','')")
+  @ResponseBody
+  public JsonResult addBusinesspara(@RequestParam("parakey") String parakey, @RequestParam("paraval") String paraval) {
+    if (StringUtil.isEmpty(parakey) || null == paraval) {
+      return JsonResult.error("参数传递错误");
+    }
+    try {
+      TBusinesspara businesspara = paramService.getBusinessparaByParakey(parakey);
+      if (null != businesspara) {
+        return JsonResult.error("参数名重复");
+      }
+      businesspara = new TBusinesspara();
+      businesspara.setParakey(parakey.trim());
+      businesspara.setParaval(paraval.trim());
+      if (paramService.saveOrUpdateBusinesspara(businesspara)) {
+        return JsonResult.ok("新增成功!");
+      } else {
+        return JsonResult.error("新增失败!");
+      }
+    } catch (Exception e) {
+      e.printStackTrace();
+      return JsonResult.error("系统处理异常").put("exception", e);
+    }
+  }
+
+
+  /**
+   * ====================================================
+   *            APPID应用权限参数管理
+   * ====================================================
+   */
+  @GetMapping("/param/apiclientpara")
+  public String appidParaView() {
+    return "system/param/apiclientpara";
+  }
+
+  @GetMapping("/param/apiclientparalist")
+  @PreAuthorize("hasPermission('/param/apiclientparalist','')")
+  @ResponseBody
+  public PageResult<TApiClient> getApiclientDataList(@RequestParam("page") Integer pageNo,
+                                                     @RequestParam("limit") Integer pageSize,
+                                                     @RequestParam(value = "appid", required = false) String appid) {
+    try {
+      if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT;
+      if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT;
+      return paramService.getApiClientparaPage(appid, pageNo, pageSize);
+    } catch (Exception e) {
+      e.printStackTrace();
+      return new PageResult<>(99, "系统查询错误");
+    }
+  }
+
 
 }
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/ParamService.java b/src/main/java/com/supwisdom/dlpay/system/service/ParamService.java
index a255c4c..a28ebf8 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/ParamService.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/ParamService.java
@@ -1,5 +1,6 @@
 package com.supwisdom.dlpay.system.service;
 
+import com.supwisdom.dlpay.framework.domain.TApiClient;
 import com.supwisdom.dlpay.framework.domain.TBusinesspara;
 import com.supwisdom.dlpay.framework.domain.TSyspara;
 import com.supwisdom.dlpay.framework.util.PageResult;
@@ -19,4 +20,16 @@
 
   @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, readOnly = true)
   PageResult<TBusinesspara> getBusinessparaPage(String paraname, int pageNo, int pageSize);
+
+  @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, readOnly = true)
+  TBusinesspara getBusinessparaByParakey(String parakey);
+
+  @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+  boolean deleteBusinesspara(TBusinesspara businesspara);
+
+  @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+  boolean saveOrUpdateBusinesspara(TBusinesspara businesspara);
+
+  @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, readOnly = true)
+  PageResult<TApiClient> getApiClientparaPage(String appid, int pageNo, int pageSize);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/ParamServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/ParamServiceImpl.java
index 199682b..89438bc 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/impl/ParamServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/ParamServiceImpl.java
@@ -1,7 +1,9 @@
 package com.supwisdom.dlpay.system.service.impl;
 
+import com.supwisdom.dlpay.framework.dao.ApiClientDao;
 import com.supwisdom.dlpay.framework.dao.BusinessparaDao;
 import com.supwisdom.dlpay.framework.dao.SysparaDao;
+import com.supwisdom.dlpay.framework.domain.TApiClient;
 import com.supwisdom.dlpay.framework.domain.TBusinesspara;
 import com.supwisdom.dlpay.framework.domain.TSyspara;
 import com.supwisdom.dlpay.framework.util.PageResult;
@@ -30,6 +32,8 @@
   private SysparaDao sysparaDao;
   @Autowired
   private BusinessparaDao businessparaDao;
+  @Autowired
+  private ApiClientDao apiClientDao;
 
   @Override
   public PageResult<TSyspara> getSysparaPage(Integer paraid, String paraname, int pageNo, int pageSize) {
@@ -74,4 +78,39 @@
     return new PageResult<>(businessparaDao.findAll(pageable));
   }
 
+  @Override
+  public TBusinesspara getBusinessparaByParakey(String parakey) {
+    if (!StringUtil.isEmpty(parakey)) {
+      return businessparaDao.findByParakey(parakey.trim());
+    }
+    return null;
+  }
+
+  @Override
+  public boolean deleteBusinesspara(TBusinesspara businesspara) {
+    if (null != businesspara) {
+      businessparaDao.delete(businesspara);
+      return true;
+    }
+    return false;
+  }
+
+  @Override
+  public boolean saveOrUpdateBusinesspara(TBusinesspara businesspara) {
+    if (null != businesspara) {
+      businessparaDao.save(businesspara);
+      return true;
+    }
+    return false;
+  }
+
+  @Override
+  public PageResult<TApiClient> getApiClientparaPage(String appid, int pageNo, int pageSize) {
+    Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.by("appid"));
+    if (!StringUtil.isEmpty(appid)) {
+      return new PageResult<>(apiClientDao.findByAppidContaining(appid.trim(), pageable));
+    }
+    return new PageResult<>(apiClientDao.findAll(pageable));
+  }
+
 }
diff --git a/src/main/resources/templates/system/param/apiclientpara.html b/src/main/resources/templates/system/param/apiclientpara.html
new file mode 100644
index 0000000..f82e9c0
--- /dev/null
+++ b/src/main/resources/templates/system/param/apiclientpara.html
@@ -0,0 +1,143 @@
+<div class="layui-card">
+    <div class="layui-card-header">
+        <h2 class="header-title">应用权限参数管理</h2>
+        <span class="layui-breadcrumb pull-right">
+          <a href="#">参数管理</a>
+          <a><cite>应用权限参数管理</cite></a>
+        </span>
+    </div>
+    <div class="layui-card-body">
+        <div class="layui-form toolbar">
+            搜索:
+            <input id="search-appid" class="layui-input search-input" type="text" maxlength="40" style="width: 300px;"
+                   placeholder="输入APPID查询"/>
+            <button id="btn-search" class="layui-btn icon-btn" data-type="search"><i class="layui-icon">&#xe615;</i>搜索
+            </button>
+            <button id="btn-add" class="layui-btn icon-btn" data-type="add"><i class="layui-icon">&#xe654;</i>新 增</button>
+            <button id="btn-reset" class="layui-btn layui-btn-primary" data-type="reset"><i class="layui-icon"></i>清 空</button>
+        </div>
+        <table class="layui-table" id="apiClientTable" lay-filter="apiClientTable-filter"></table>
+    </div>
+</div>
+
+<!-- 表格操作列 -->
+<script type="text/html" id="apiclient-table-bar">
+    <a class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
+</script>
+
+<!-- 表格状态列 -->
+<script type="text/html" id="api-tpl-state">
+    <input type="checkbox" lay-filter="api-tpl-state" value="{{d.appid}}" lay-skin="switch" lay-text="启用|关闭"
+           {{d.status=='normal'?'checked':''}} />
+</script>
+
+<script>
+    layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
+        var form = layui.form;
+        var table = layui.table;
+        var admin = layui.admin;
+        // 渲染表格
+        table.render({
+            elem: '#apiClientTable',
+            url: '/param/apiclientparalist',
+            toolbar:'',
+            page: true,
+            cols: [
+                [
+                    {field: 'appid', title: 'APPID', width: 366, align: 'right', fixed: 'left', sort: true},
+                    {field: 'secret', title: '密钥', align: 'left', style:'cursor: pointer;', event: 'modifyValue'},
+                    {field: 'status', title: '状态', width: 100, templet: '#api-tpl-state',sort: true},
+                    {
+                        field: 'roles', title: '角色', templet: function (item) {
+                            return 'test';
+                        }
+                    },
+                    {align: 'center', title: '操作', width: 80, toolbar: '#apiclient-table-bar',  fixed: 'right'}
+                ]
+            ]
+        });
+        // 搜索按钮点击事件
+        $('#btn-search').click(function () {
+            var paraname = $("#search-appid").val();
+            table.reload('apiClientTable', {where: {appid: paraname}, page: {curr: 1}});
+        });
+
+        $('#btn-add').click(function () {
+            admin.popupCenter({
+                title: "新增应用权限",
+                area:["600px","300px"],
+                path: '/param/',
+                finish: function () {
+                    table.reload('businessparaTable');
+                }
+            });
+        });
+
+        $('#btn-reset').click(function () {
+            $("#search-appid").val("");
+        });
+
+        //监听单元格
+        table.on('tool(apiClientTable-filter)', function (obj) {
+            var data = obj.data;
+            if('del' == obj.event){
+                if(confirm("确定要删除业务参数["+data.parakey+"]吗?")){
+                    layer.load(2);
+                    admin.go('/param/deletebusinesspara', {
+                        parakey: data.parakey,
+                        _csrf: $("meta[name='_csrf_token']").attr("value")
+                    }, function (data) {
+                        console.log(data.code);
+                        layer.closeAll('loading');
+                        if (data.code == 200) {
+                            layer.msg(data.msg, {icon: 1});
+                        } else if (data.code == 401) {
+                            layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                                location.replace('/login');
+                            }, 1000);
+                            return;
+                        } else {
+                            layer.msg(data.msg, {icon: 2});
+                        }
+                        table.reload('businessparaTable');
+                    }, function (ret) {
+                        console.log(ret);
+                        layer.closeAll('loading');
+                        layer.msg('请求失败了,请稍后再试', {icon: 2});
+                    });
+                }
+            }else if('modifyValue' == obj.event){
+                layer.prompt({
+                    formType: 2,
+                    title: '修改参数名为 ['+ data.parakey +'] 的值:',
+                    area: ['500px', '200px'],
+                    maxlength: 1000,
+                    value: data.paraval
+                }, function(value, index){
+                    layer.close(index);
+                    admin.go('/param/businessparaupdate', {
+                        parakey: data.parakey,
+                        paraval: value,
+                        _csrf: $("meta[name='_csrf_token']").attr("value"),
+                    }, function (data) {
+                        if (data.code == 200) {
+                            layer.msg("修改成功", {icon: 1});
+                            obj.update({ paraval: value });
+                        } else if (data.code == 401) {
+                            layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                                location.replace('/login');
+                            }, 1000);
+                            return;
+                        } else {
+                            layer.msg(data.msg, {icon: 2});
+                        }
+                    },function () {
+                        layer.msg('修改失败了,请稍后再试', {icon: 2});
+                    });
+                });
+            }
+        });
+
+    });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/system/param/businesspara.html b/src/main/resources/templates/system/param/businesspara.html
index 80bcf38..d7a4783 100644
--- a/src/main/resources/templates/system/param/businesspara.html
+++ b/src/main/resources/templates/system/param/businesspara.html
@@ -9,14 +9,22 @@
     <div class="layui-card-body">
         <div class="layui-form toolbar">
             搜索:
-            <input id="search-paraname" class="layui-input search-input" type="text" maxlength="40" placeholder="输入参数名查询"/>&emsp;
+            <input id="search-paraname" class="layui-input search-input" type="text" maxlength="40" style="width: 300px;"
+                   placeholder="输入参数名查询"/>&emsp;
             <button id="btn-search" class="layui-btn icon-btn" data-type="search"><i class="layui-icon">&#xe615;</i>搜索
             </button>
-            <button id="btn-add" class="layui-btn icon-btn" data-type="add"><i class="layui-icon"></i>新增</button>
+            <button id="btn-add" class="layui-btn icon-btn" data-type="add"><i class="layui-icon">&#xe654;</i>新 增</button>
+            <button id="btn-reset" class="layui-btn layui-btn-primary" data-type="reset"><i class="layui-icon"></i>清 空</button>
         </div>
         <table class="layui-table" id="businessparaTable" lay-filter="businessparaTable-filter"></table>
     </div>
 </div>
+
+<!-- 表格操作列 -->
+<script type="text/html" id="busipara-table-bar">
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
+</script>
+
 <script>
     layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
         var form = layui.form;
@@ -26,23 +34,96 @@
         table.render({
             elem: '#businessparaTable',
             url: '/param/businessparalist',
+            toolbar:'',
             page: true,
             cols: [
                 [
-                    {field: 'parakey', title: '参数名', width: 150, align: 'center', fixed: 'left', sort: true},
-                    {field: 'paraval', title: '参数值', width: 250, align: 'center'}
+                    {field: 'parakey', title: '参数名', width: 366, align: 'right', fixed: 'left', sort: true},
+                    {field: 'paraval', title: '参数值', align: 'left', style:'cursor: pointer;', event: 'modifyValue'},
+                    {align: 'center', title: '操作', width: 80, toolbar: '#busipara-table-bar',  fixed: 'right'}
                 ]
             ]
         });
         // 搜索按钮点击事件
         $('#btn-search').click(function () {
             var paraname = $("#search-paraname").val();
-            table.reload('sysparaTable', {where: {paraid: paraid, paraname: paraname}, page: {curr: 1}});
+            table.reload('businessparaTable', {where: {paraname: paraname}, page: {curr: 1}});
         });
 
-        //监听单元格编辑
-        table.on('edit(sysparaTable-filter)', function (obj) {
+        $('#btn-add').click(function () {
+            admin.popupCenter({
+                title: "新增业务参数",
+                area:["600px","300px"],
+                path: '/param/load4addbuspara',
+                finish: function () {
+                    table.reload('businessparaTable');
+                }
+            });
+        });
 
+        $('#btn-reset').click(function () {
+            $("#search-paraname").val("");
+        });
+
+        //监听单元格
+        table.on('tool(businessparaTable-filter)', function (obj) {
+            var data = obj.data;
+            if('del' == obj.event){
+                if(confirm("确定要删除业务参数["+data.parakey+"]吗?")){
+                    layer.load(2);
+                    admin.go('/param/deletebusinesspara', {
+                        parakey: data.parakey,
+                        _csrf: $("meta[name='_csrf_token']").attr("value")
+                    }, function (data) {
+                        console.log(data.code);
+                        layer.closeAll('loading');
+                        if (data.code == 200) {
+                            layer.msg(data.msg, {icon: 1});
+                        } else if (data.code == 401) {
+                            layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                                location.replace('/login');
+                            }, 1000);
+                            return;
+                        } else {
+                            layer.msg(data.msg, {icon: 2});
+                        }
+                        table.reload('businessparaTable');
+                    }, function (ret) {
+                        console.log(ret);
+                        layer.closeAll('loading');
+                        layer.msg('请求失败了,请稍后再试', {icon: 2});
+                    });
+                }
+            }else if('modifyValue' == obj.event){
+                layer.prompt({
+                    formType: 2,
+                    title: '修改参数名为 ['+ data.parakey +'] 的值:',
+                    area: ['500px', '200px'],
+                    maxlength: 1000,
+                    value: data.paraval
+                }, function(value, index){
+                    layer.close(index);
+                    admin.go('/param/businessparaupdate', {
+                        parakey: data.parakey,
+                        paraval: value,
+                        _csrf: $("meta[name='_csrf_token']").attr("value"),
+                    }, function (data) {
+                        if (data.code == 200) {
+                            layer.msg("修改成功", {icon: 1});
+                            obj.update({ paraval: value });
+                        } else if (data.code == 401) {
+                            layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                                location.replace('/login');
+                            }, 1000);
+                            return;
+                        } else {
+                            layer.msg(data.msg, {icon: 2});
+                        }
+                    },function () {
+                        layer.msg('修改失败了,请稍后再试', {icon: 2});
+                    });
+                });
+            }
         });
 
     });
diff --git a/src/main/resources/templates/system/param/busparaform.html b/src/main/resources/templates/system/param/busparaform.html
new file mode 100644
index 0000000..2c4aebf
--- /dev/null
+++ b/src/main/resources/templates/system/param/busparaform.html
@@ -0,0 +1,89 @@
+<form id="form" lay-filter="form" class="layui-form model-form">
+    <div class="layui-form-item">
+        <label class="layui-form-label">参数名</label>
+        <div class="layui-input-block">
+            <input name="parakey" placeholder="请输入参数名" type="text" class="layui-input" maxlength="30"
+                   lay-verify="required|businame" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">参数值</label>
+        <div class="layui-input-block">
+            <textarea name="paraval" placeholder="请输入内容" class="layui-textarea" required></textarea>
+        </div>
+    </div>
+
+    <div class="layui-form-item model-form-footer">
+        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
+        <button class="layui-btn" lay-filter="form-submit" lay-submit  id="submitbtn">保存</button>
+    </div>
+</form>
+
+
+<script>
+    layui.use(['layer', 'admin', 'form'], function () {
+        var layer = layui.layer;
+        var admin = layui.admin;
+        var form = layui.form;
+        form.render('radio');
+        form.verify({
+            "businame": function (e) {
+                var msg = "";
+                $.ajax({
+                    type: "GET",
+                    url: '/param/checkbusname',
+                    async: false,
+                    data: {
+                        parakey: e
+                    },
+                    success: function (result) {
+                        if (result.code != 200) {
+                            msg = result.msg;
+                        }
+                    },
+                    error: function (error) {
+                        msg = "请求服务器校验参数名失败";
+                    }
+                });
+                if (msg != "") {
+                    return msg;
+                }
+            }
+        });
+
+        var url = '/param/addbusinesspara';
+        // 表单提交事件
+        form.on('submit(form-submit)', function (data) {
+            layer.load(2);
+            var vdata = data.field;
+            vdata["_csrf"] = $("meta[name='_csrf_token']").attr("value");
+            console.log("postdata=",data)
+            $.ajax({
+                type : "POST",
+                dataType : "json",
+                url : url,
+                data : vdata,
+                success : function(result) {
+                    layer.closeAll('loading');
+                    if (result.code == 200) {
+                        layer.msg(result.msg, {icon: 1});
+                        admin.finishPopupCenter();
+                    } else if (result.code == 401) {
+                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('/login');
+                        }, 1000);
+                        return;
+                    } else {
+                        console.log('err:' + result.code);
+                        layer.msg(result.msg, {icon: 2});
+                    }
+                },
+                error : function() {
+                    layer.closeAll('loading');
+                    layer.msg("请求服务器失败!", {icon: 2});
+                }
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file