diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/PaytypeConfigDao.java b/src/main/java/com/supwisdom/dlpay/api/dao/PaytypeConfigDao.java
index 021d398..50cf1e1 100644
--- a/src/main/java/com/supwisdom/dlpay/api/dao/PaytypeConfigDao.java
+++ b/src/main/java/com/supwisdom/dlpay/api/dao/PaytypeConfigDao.java
@@ -15,4 +15,6 @@
     List<TPaytypeConfig> getByPaytype(String paytype);
 
     TPaytypeConfig getByPaytypeAndAndConfigid(String paytype, String configid);
+
+    List<TPaytypeConfig> getByPaytypeOrderByConfigid(String paytype);
 }
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 4fff8ce..72cbb37 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
@@ -187,7 +187,7 @@
   @Override
   public List<TPaytypeConfig> getPaytypeConfigList(String paytype) {
     if (!StringUtil.isEmpty(paytype)) {
-      List<TPaytypeConfig> list = paytypeConfigDao.getByPaytype(paytype.trim());
+      List<TPaytypeConfig> list = paytypeConfigDao.getByPaytypeOrderByConfigid(paytype.trim());
       if (!StringUtil.isEmpty(list))
         return list;
     }
diff --git a/src/main/resources/templates/system/param/paytypeconfig.html b/src/main/resources/templates/system/param/paytypeconfig.html
index 180e578..c087c94 100644
--- a/src/main/resources/templates/system/param/paytypeconfig.html
+++ b/src/main/resources/templates/system/param/paytypeconfig.html
@@ -8,8 +8,10 @@
     </div>
 
     <div class="layui-form-item" th:if="${configlist.size()} gt 0" th:each="config:${configlist}">
-        <label class="layui-form-label" th:text="${config.configid}">参数名</label>
-        <div class="layui-input-block">
+        <div class="layui-input-block" style="margin:0;display: inline;float: left;width: 20%;">
+            <label class="layui-form-label" style="float: right;width: 100%;" th:text="${config.configid}">参数名</label>
+        </div>
+        <div class="layui-input-block" style="margin:0;display: inline;float: right;width: 80%;">
             <input type="text" th:name="${config.configid}" class="layui-input" th:value="${config.configValue}"/>
         </div>
     </div>
@@ -30,12 +32,14 @@
         form.on('submit(form-submit)', function (data) {
             layer.load(2);
             var vdata = data.field;
-            if(vdata.length <=0){
-                admin.finishPopupCenter();
+            if(JSON.stringify(vdata)=="{}"){
+                layer.closeAll('loading');
+                admin.closePopupCenter();
                 return; //无配置项，直接关闭
             }
             var token=$("meta[name='_csrf_token']").attr("value");
             vdata["hid_paytype"] = $("#hid_paytype").val();
+            console.log('addpaytype:',vdata);
             debugger
             $.ajax({
                 type : "POST",
