一些测试bug修改
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 11d486d..057303b 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -5,9 +5,11 @@
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
# Postgresql settings
spring.datasource.platform=postgresql
-spring.datasource.url=jdbc:postgresql://172.28.201.70:15432/payapi
+spring.datasource.url=jdbc:postgresql://172.28.201.70:15432/payapidev
spring.datasource.username=payapi
spring.datasource.password=123456
+spring.datasource.continue-on-error=true
+#spring.datasource.initialization-mode=always
# Redis settings
redis.server=172.28.201.101
redis.port=16379
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/RoleFunctionDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/RoleFunctionDao.java
index d1f2d37..e125f7a 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/RoleFunctionDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/RoleFunctionDao.java
@@ -18,11 +18,12 @@
List<TRoleFunction> findByRoleId(String roleId);
- @Query(value = " select f.id||'' as id ,f.parentid||'' as pid,f.name,case when rf.id is null then 0 else 1 end as checked,case when f.parentid=-1 then 1 else 0 end as open from tb_function f " +
+ @Query(value = "select tt.id,tt.pid,tt.name,tt.checked,tt.open from " +
+ " ( select f.id||'' as id ,f.parentid||'' as pid,f.name,case when rf.id is null then 0 else 1 end as checked,case when f.parentid=-1 then 1 else 0 end as open from tb_function f " +
" left join tb_role_function rf on rf.functionid = f.id and rf.roleid=?1 " +
" union all " +
" select r.id||'_res' as id,r.function_id||'' as pid,r.name,case when p.id is null then 0 else 1 end as checked,0 as open from tb_resource r " +
- " left join tb_permission p on p.resid = r.id and p.roleid=?1 " , nativeQuery = true)
+ " left join tb_permission p on p.resid = r.id and p.roleid=?1 ) tt order by tt.id " , nativeQuery = true)
List<NodeData> findByRoleIdNative(String roleId);
void deleteByRoleId(String roleId);
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java b/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java
index 9d250ac..22fadc9 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java
@@ -61,6 +61,10 @@
@NotNull
private String tenantId;
+ @Column(name = "thirdadmin", length = 20)
+ @NotNull
+ private String thirdadmin;
+
@Transient
private Collection<? extends GrantedAuthority> authorities; //权限
@@ -228,4 +232,12 @@
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
+
+ public String getThirdadmin() {
+ return thirdadmin;
+ }
+
+ public void setThirdadmin(String thirdadmin) {
+ this.thirdadmin = thirdadmin;
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/tenant/HibernateConfig.java b/src/main/java/com/supwisdom/dlpay/framework/tenant/HibernateConfig.java
index b44b872..26a582c 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/tenant/HibernateConfig.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/tenant/HibernateConfig.java
@@ -57,7 +57,7 @@
em.setPackagesToScan("com.supwisdom");
em.setJpaPropertyMap(properties);
em.setJpaVendorAdapter(getJpaVendorAdapter());
- log.info("setup multi-tenant entityManagerFactor");
+// log.info("setup multi-tenant entityManagerFactor");
return em;
}
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java b/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
index dc0ef57..3769118 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
@@ -5,6 +5,7 @@
import com.supwisdom.dlpay.framework.security.OperUtil;
import com.supwisdom.dlpay.framework.util.PageResult;
import com.supwisdom.dlpay.framework.util.StringUtil;
+import com.supwisdom.dlpay.framework.util.TradeDict;
import com.supwisdom.dlpay.framework.util.WebConstant;
import com.supwisdom.dlpay.system.bean.FunctionSearchBean;
import com.supwisdom.dlpay.system.bean.LogBean;
@@ -95,7 +96,8 @@
public JsonResult add(@RequestParam("operid") String operid, @RequestParam("opercode") String opercode,
@RequestParam("opername") String opername, @RequestParam("sex") String sex,
@RequestParam("mobile") String mobile, @RequestParam("email") String email,
- @RequestParam("roleId") String roleId, Model map) {
+ @RequestParam("roleId") String roleId, @RequestParam(value = "thirdadmin", required = false) String thirdadmin,
+ Model map) {
if (operatorService.checkOpercodeExists(opercode, operid)) {
return JsonResult.error("账号重复");
}
@@ -106,6 +108,7 @@
operator.setMobile(mobile);
operator.setEmail(email);
operator.setSex(sex);
+ operator.setThirdadmin("yes".equalsIgnoreCase(thirdadmin) ? "yes" : "no");
boolean ret = operatorService.saveOperator(operator, roleId);
if (ret) {
return JsonResult.ok("操作成功");
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 7a16f3b..cdc4a4a 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java
@@ -230,11 +230,11 @@
@PreAuthorize("hasPermission('/param/load4addapiclient','')")
public String load4AddApiclientPara(Model model) {
Map<String, String> roles = new HashMap<>(0);
- roles.put("ROLE_THIRD_COMMON", "ROLE_THIRD_COMMON");
- roles.put("ROLE_THIRD_CONSUME", "ROLE_THIRD_CONSUME");
- roles.put("ROLE_THIRD_DEPOSIT", "ROLE_THIRD_DEPOSIT");
- roles.put("ROLE_THIRD_SHOP", "ROLE_THIRD_SHOP");
- roles.put("ROLE_THIRD_ADMIN", "ROLE_THIRD_ADMIN");
+ roles.put("ROLE_THIRD_COMMON", "调用通用接口权限");
+ roles.put("ROLE_THIRD_CONSUME", "调用消费接口权限");
+ roles.put("ROLE_THIRD_DEPOSIT", "调用充值接口权限");
+ roles.put("ROLE_THIRD_SHOP", "调用商户接口权限");
+ roles.put("ROLE_THIRD_ADMIN", "调用用户接口权限");
model.addAttribute("rolelist", roles);
return "system/param/apiclientform";
}
@@ -389,7 +389,7 @@
@RequestParam("state") Boolean state,
@RequestParam(value = "optype", required = false) String optype) {
if (StringUtil.isEmpty(paytype)
- || (!StringUtil.isEmpty(optype) && !"charge".equals(optype) && !"consume".equals(optype) && !"anonymous".equals(optype))) {
+ || (!StringUtil.isEmpty(optype) && !"charge".equals(optype) && !"consume".equals(optype) && !"anonymous".equals(optype) && !"reversable".equals(optype) && !"checkable".equals(optype))) {
return JsonResult.error("参数传递错误");
}
try {
@@ -412,7 +412,17 @@
return JsonResult.error("状态错误,请重新查询后操作");
}
tPaytype.setAnonymousEnable(state);
- } else {
+ } else if("reversable".equals(optype)){
+ if(state.equals(tPaytype.getReversable())){
+ return JsonResult.error("状态错误,请重新查询后操作");
+ }
+ tPaytype.setReversable(state);
+ }else if("checkable".equals(optype)){
+ if(state.equals(tPaytype.getCheckable())){
+ return JsonResult.error("状态错误,请重新查询后操作");
+ }
+ tPaytype.setCheckable(state);
+ }else{
if (state.equals(tPaytype.getEnable())) {
return JsonResult.error("状态错误,请重新查询后操作");
}
@@ -483,6 +493,8 @@
@RequestParam(value = "chargeEnable", required = false, defaultValue = "no") String chargeEnable,
@RequestParam(value = "consumeEnable", required = false, defaultValue = "no") String consumeEnable,
@RequestParam(value = "anonymousEnable", required = false, defaultValue = "no") String anonymousEnable,
+ @RequestParam(value = "reversable", required = false, defaultValue = "no") String reversable,
+ @RequestParam(value = "checkable", required = false, defaultValue = "no") String checkable,
@RequestParam("paydesc") String paydesc) {
try {
TSourceType tPaytype = paramService.getSourceType(paytype);
@@ -497,6 +509,8 @@
tPaytype.setChargeEnable(ConstantUtil.ENABLE_YES.equalsIgnoreCase(chargeEnable));
tPaytype.setConsumeEnable(ConstantUtil.ENABLE_YES.equalsIgnoreCase(consumeEnable));
tPaytype.setAnonymousEnable(ConstantUtil.ENABLE_YES.equalsIgnoreCase(anonymousEnable));
+ tPaytype.setReversable(ConstantUtil.ENABLE_YES.equalsIgnoreCase(reversable));
+ tPaytype.setCheckable(ConstantUtil.ENABLE_YES.equalsIgnoreCase(checkable));
if (paramService.saveOrUpdateSourceType(tPaytype)) {
return JsonResult.ok("新增成功");
} else {
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java
index 0842e66..8a5a1c1 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java
@@ -101,7 +101,7 @@
op.setMobile(operator.getMobile());
op.setOpername(operator.getOpername());
op.setOpercode(operator.getOpercode());
- op.setTenantId(operator.getTenantId());
+ op.setThirdadmin(operator.getThirdadmin());
operatorDao.save(op);
operRoleDao.deleteByOperid(op.getOperid());
String[] roleids = roles.split(",");
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 f45beb7..a0f86cd 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
@@ -178,9 +178,10 @@
}
@Override
- @Cacheable(cacheNames = "source_type_cache", key = "#paytype.sourceType")
+ @CacheEvict(cacheNames = "source_type_cache", key = "#paytype.sourceType")
public boolean saveOrUpdateSourceType(TSourceType paytype) {
if (null != paytype) {
+ paytype.setTenantid(TenantContext.getTenantSchema());
sourceTypeDao.save(paytype);
return true;
}
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java
index 88178c8..3d83ae5 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java
@@ -139,6 +139,7 @@
permission.setTenantId(TenantContext.getTenantSchema());
permissionDao.save(permission);
} else {
+ if("-1".equals(func)) continue; //全选排除
TRoleFunction roleFunction = new TRoleFunction();
roleFunction.setFunctionId(Integer.valueOf(func));
roleFunction.setRoleId(roleId);
@@ -153,15 +154,24 @@
public List<ZTreeNode> findByRoleIdNative(String roleId) {
List<NodeData> nodeData = roleFunctionDao.findByRoleIdNative(roleId);
List<ZTreeNode> ret = new ArrayList<>();
+ boolean allChecked = true;
for (NodeData data : nodeData) {
ZTreeNode zTreeNode = new ZTreeNode();
zTreeNode.setpId(data.getPid());
zTreeNode.setId(data.getId());
zTreeNode.setName(data.getName());
zTreeNode.setChecked(data.getChecked() == 0 ? false : true);
+ if (allChecked && !zTreeNode.isChecked()) allChecked = false;
zTreeNode.setOpen(data.getOpen() == 0 ? false : true);
ret.add(zTreeNode);
}
+ ZTreeNode root = new ZTreeNode();
+ root.setId("-1");
+ root.setpId("-99");
+ root.setName("选择全部功能");
+ root.setChecked(allChecked);
+ root.setOpen(true);
+ ret.add(root);
return ret;
}
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
index e434042..37daf22 100644
--- a/src/main/resources/data.sql
+++ b/src/main/resources/data.sql
@@ -1,8 +1,8 @@
INSERT INTO tb_tenantconfig(cfgid, tenantid, datacenter_id)
values ('main', '{tenantid}', '01');
-INSERT INTO tb_operator(operid, closedate, opendate, opercode, opername, operpwd, opertype, status, tenantid)
-VALUES ('LOR2IwRkbOjp+sVG9KR2BpHZbwGKepS4', '20500101', '20190101', 'system', '系统管理员', '$2a$10$Ex9xp11.vCaD8D0a7ahiUOKqDij1TcCUBwRAmrqXeDvAkmzLibn4.', 'oper', 'normal', '{tenantid}');
+INSERT INTO tb_operator(operid, closedate, opendate, opercode, opername, operpwd, opertype, status, thirdadmin, tenantid)
+VALUES ('LOR2IwRkbOjp+sVG9KR2BpHZbwGKepS4', '20500101', '20190101', 'system', '系统管理员', '$2a$10$Ex9xp11.vCaD8D0a7ahiUOKqDij1TcCUBwRAmrqXeDvAkmzLibn4.', 'oper', 'normal', 'no', '{tenantid}');
INSERT INTO tb_role(roleid, createtime, editflag, lastsaved, rolecode, roledesc, rolename, tenantid)
@@ -367,6 +367,10 @@
VALUES ('ff8080816b7947ed016b795577370087', 45, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
INSERT INTO "tb_permission" ("id", "resid", "role_func_id", "roleid", "tenantid")
VALUES ('ff8080816b7947ed016b795577370088', 43, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
+INSERT INTO "tb_permission" ("id", "resid", "role_func_id", "roleid", "tenantid")
+VALUES ('ff8080816bbb130c016bbb6ea2f700c9', 76, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
+INSERT INTO "tb_permission" ("id", "resid", "role_func_id", "roleid", "tenantid")
+VALUES ('ff8080816bbb130c016bbb6ea2f600b3', 26, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
INSERT INTO "tb_subject" ("subjno", "balflag", "displayflag", "endflag", "fsubjno", "opendate", "subjlevel", "subjname", "subjtype", "tenantid")
diff --git a/src/main/resources/templates/home/console.html b/src/main/resources/templates/home/console.html
index 94a54a5..63cb260 100755
--- a/src/main/resources/templates/home/console.html
+++ b/src/main/resources/templates/home/console.html
@@ -1,48 +1,5 @@
<div class="layui-row layui-col-space15">
- <div class="layui-col-xs6 layui-col-md3">
- <div class="layui-card">
- <div class="layui-card-header">
- 访问量<span class="layui-badge layui-bg-blue pull-right">周</span>
- </div>
- <div class="layui-card-body">
- <p class="lay-big-font">9,999,666</p>
- <p>总计访问量<span class="pull-right">88万 <i class="layui-icon layui-icon-flag"></i></span></p>
- </div>
- </div>
- </div>
- <div class="layui-col-xs6 layui-col-md3">
- <div class="layui-card">
- <div class="layui-card-header">
- 下载<span class="layui-badge layui-bg-black pull-right">月</span>
- </div>
- <div class="layui-card-body">
- <p class="lay-big-font">33,555</p>
- <p>新下载<span class="pull-right">10% <i class="layui-icon layui-icon-download-circle"></i></span></p>
- </div>
- </div>
- </div>
- <div class="layui-col-xs6 layui-col-md3">
- <div class="layui-card">
- <div class="layui-card-header">
- Start<span class="layui-badge layui-bg-green pull-right">周</span>
- </div>
- <div class="layui-card-body">
- <p class="lay-big-font">999,666</p>
- <p>总Start数<span class="pull-right">88万 <i class="layui-icon layui-icon-rate"></i></span></p>
- </div>
- </div>
- </div>
- <div class="layui-col-xs6 layui-col-md3">
- <div class="layui-card">
- <div class="layui-card-header">
- 活跃用户<span class="layui-badge layui-bg-orange pull-right">月</span>
- </div>
- <div class="layui-card-body">
- <p class="lay-big-font">66,666</p>
- <p>最近一个月<span class="pull-right">15% <i class="layui-icon layui-icon-user"></i></span></p>
- </div>
- </div>
- </div>
+
</div>
diff --git a/src/main/resources/templates/home/theme.html b/src/main/resources/templates/home/theme.html
index 67cb12a..392a02a 100755
--- a/src/main/resources/templates/home/theme.html
+++ b/src/main/resources/templates/home/theme.html
@@ -7,8 +7,8 @@
<div class="layui-card-header"><h2 class="header-title">设置主题:</h2></div>
<div class="layui-card-body layui-text">
- <a href="/home/setTheme" class="layui-btn" style="background-color: #009688;">默认主题</a>
- <a href="/home/setTheme?themeName=blue" class="layui-btn layui-btn-normal">蓝色主题</a>
+ <a th:href="@{/home/setTheme}" class="layui-btn" style="background-color: #009688;">默认主题</a>
+ <a th:href="@{/home/setTheme?themeName=blue}" class="layui-btn layui-btn-normal">蓝色主题</a>
<br><br><br>
</div>
diff --git a/src/main/resources/templates/system/dtl/shopdtl.html b/src/main/resources/templates/system/dtl/shopdtl.html
index 92e7f60..644a6a7 100644
--- a/src/main/resources/templates/system/dtl/shopdtl.html
+++ b/src/main/resources/templates/system/dtl/shopdtl.html
@@ -1,4 +1,4 @@
-<div class="layui-card">
+<div class="layui-card" style="width: 1100px">
<div class="layui-card-header">
<h2 class="header-title">商户流水查询</h2>
<span class="layui-breadcrumb pull-right">
@@ -8,7 +8,7 @@
</div>
<div class="layui-card-body">
<div class="layui-form" lay-filter="shopdtl-search-form">
- <div class="layui-form-item" style="margin-bottom: 0;">
+ <div class="layui-form-item" style="margin-bottom: 10px;">
<div class="layui-inline">
<label class="layui-form-label">记账日期</label>
<div class="layui-input-inline" style="width: 120px;">
@@ -24,17 +24,9 @@
</div>
</div>
- <div class="layui-inline" style="width: 298px;">
- <label class="layui-form-label">商户名称</label>
- <div class="layui-input-block">
- <input type="text" name="shopname" id="shopdtl-search-shopname" placeholder="商户名称"
- autocomplete="off" class="layui-input" maxlength="20"/>
- </div>
- </div>
-
<div class="layui-inline">
<label class="layui-form-label">支付方式</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="height: 38px;">
<select name="sourcetype" id="shopdtl-search-sourcetype" class="layui-select">
<option value=""> 全部</option>
<option th:each="pt:${paytypeList}" th:value="${pt.sourceType}"
@@ -45,7 +37,7 @@
<div class="layui-inline">
<label class="layui-form-label">状态</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="height: 38px;">
<select name="transStatus" id="shopdtl-search-transStatus" class="layui-select">
<option value=""> 全部</option>
<option th:each="st:${dtlStatusList}" th:value="${st.dictval}"
@@ -55,7 +47,7 @@
</div>
</div>
- <div class="layui-form-item" style="margin-bottom: 0;">
+ <div class="layui-form-item" style="margin-bottom: 10px;">
<div class="layui-inline">
<label class="layui-form-label">交易日期</label>
<div class="layui-input-inline" style="width: 120px;">
@@ -73,7 +65,7 @@
<div class="layui-inline">
<label class="layui-form-label">选择商户</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="height: 38px;">
<input type="text" name="shopaccno" id="shopdtl-search-shopaccno" placeholder="选择商户"
lay-filter="shopdtl-search-shopaccno-filter"
autocomplete="off" class="layui-input"/>
@@ -82,7 +74,7 @@
<div class="layui-inline">
<label class="layui-form-label">类型</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="height: 38px;">
<select name="tradeflag" id="shopdtl-search-tradeflag" class="layui-select">
<option value=""> 全部</option>
<option value="in">收入</option>
@@ -90,10 +82,20 @@
</select> 
</div>
</div>
+ </div>
+
+ <div class="layui-form-item" style="margin-bottom: 0;">
+ <div class="layui-inline" style="margin-right: 20px;">
+ <label class="layui-form-label">商户名称</label>
+ <div class="layui-input-block" style="width: 265px;">
+ <input type="text" name="shopname" id="shopdtl-search-shopname" placeholder="商户名称"
+ autocomplete="off" class="layui-input" maxlength="20"/>
+ </div>
+ </div>
<div class="layui-inline">
<label class="layui-form-label">交易码</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="height: 38px;">
<select name="transcode" id="shopdtl-search-transcode" class="layui-select">
<option value=""> 全部</option>
<option th:each="tc:${transcodeList}" th:value="${tc.transcode}"
diff --git a/src/main/resources/templates/system/dtl/userdtl.html b/src/main/resources/templates/system/dtl/userdtl.html
index a2e9d96..ead6ab2 100644
--- a/src/main/resources/templates/system/dtl/userdtl.html
+++ b/src/main/resources/templates/system/dtl/userdtl.html
@@ -8,7 +8,7 @@
</div>
<div class="layui-card-body">
<div class="layui-form" lay-filter="userdtl-search-form">
- <div class="layui-form-item" style="margin-bottom: 0;">
+ <div class="layui-form-item" style="margin-bottom: 10px;">
<div class="layui-inline">
<label class="layui-form-label">记账日期</label>
<div class="layui-input-inline" style="width: 120px;">
@@ -26,7 +26,7 @@
<div class="layui-inline">
<label class="layui-form-label">姓名</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="width: 211px;">
<input type="text" name="personname" id="userdtl-search-personname" placeholder="姓名"
autocomplete="off" class="layui-input" maxlength="20"/>
</div>
@@ -34,7 +34,7 @@
<div class="layui-inline">
<label class="layui-form-label">支付方式</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="height: 38px;">
<select name="sourcetype" id="userdtl-search-sourcetype" class="layui-select">
<option value=""> 全部</option>
<option th:each="pt:${paytypelist}" th:value="${pt.sourceType}"
@@ -42,20 +42,9 @@
</select> 
</div>
</div>
-
- <div class="layui-inline">
- <label class="layui-form-label">状态</label>
- <div class="layui-input-block">
- <select name="transStatus" id="userdtl-search-transStatus" class="layui-select">
- <option value=""> 全部</option>
- <option th:each="st:${dtlStatusList}" th:value="${st.dictval}"
- th:text="${st.dictcaption}"></option>
- </select> 
- </div>
- </div>
</div>
- <div class="layui-form-item" style="margin-bottom: 0;">
+ <div class="layui-form-item" style="margin-bottom: 10px;">
<div class="layui-inline">
<label class="layui-form-label">交易日期</label>
<div class="layui-input-inline" style="width: 120px;">
@@ -72,16 +61,19 @@
</div>
<div class="layui-inline">
- <label class="layui-form-label">市民卡号</label>
- <div class="layui-input-block">
- <input type="text" name="cardno" id="userdtl-search-cardno" placeholder="市民卡号"
- autocomplete="off" class="layui-input"/>
+ <label class="layui-form-label">状态</label>
+ <div class="layui-input-block" style="height:38px;">
+ <select name="transStatus" id="userdtl-search-transStatus" class="layui-select">
+ <option value=""> 全部</option>
+ <option th:each="st:${dtlStatusList}" th:value="${st.dictval}"
+ th:text="${st.dictcaption}"></option>
+ </select> 
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">类型</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="height: 38px;">
<select name="tradeflag" id="userdtl-search-tradeflag" class="layui-select">
<option value=""> 全部</option>
<option value="in">收入</option>
@@ -89,7 +81,16 @@
</select> 
</div>
</div>
+ </div>
+ <div class="layui-form-item" style="margin-bottom: 0;">
+ <div class="layui-inline" style="margin-right: 20px;">
+ <label class="layui-form-label">市民卡号</label>
+ <div class="layui-input-block" style="width: 265px;">
+ <input type="text" name="cardno" id="userdtl-search-cardno" placeholder="市民卡号"
+ autocomplete="off" class="layui-input"/>
+ </div>
+ </div>
<div class="layui-inline">
<label class="layui-form-label">交易码</label>
<div class="layui-input-block">
diff --git a/src/main/resources/templates/system/function/index.html b/src/main/resources/templates/system/function/index.html
index 93d53ac..2e85a8c 100755
--- a/src/main/resources/templates/system/function/index.html
+++ b/src/main/resources/templates/system/function/index.html
@@ -54,7 +54,7 @@
}
},
{
- field: 'id', align: 'center', title: '操作', fixed: 'right', templet: function (item) {
+ field: 'id', align: 'center', title: '操作', fixed: 'right', width:350, templet: function (item) {
if (item.isLeaf == 0) {
return ' <a class="layui-btn layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
' <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addsub"><i class="layui-icon layui-icon-set-sm"></i>添加子功能</a> ' +
diff --git a/src/main/resources/templates/system/operator/index.html b/src/main/resources/templates/system/operator/index.html
index 96ba2bc..49e4ab1 100644
--- a/src/main/resources/templates/system/operator/index.html
+++ b/src/main/resources/templates/system/operator/index.html
@@ -31,10 +31,10 @@
<script type="text/html" id="oper-tpl-state">
{{# if(d.opercode == 'system') { }}
<input type="checkbox" lay-filter="oper-tpl-state" value="{{d.operid}}" lay-skin="switch" lay-text="正常|注销"
- {{d.transStatus=='normal'?'checked':''}} disabled/>
+ {{d.status=='normal'?'checked':''}} disabled/>
{{# }else{ }}
<input type="checkbox" lay-filter="oper-tpl-state" value="{{d.operid}}" lay-skin="switch" lay-text="正常|注销"
- {{d.transStatus=='normal'?'checked':''}} />
+ {{d.status=='normal'?'checked':''}} />
{{# } }}
</script>
@@ -61,8 +61,8 @@
page: true,
cols: [
[
- {type: 'numbers', fixed: 'left'},
- {field: 'opercode', title: '管理员账号', fixed: 'left', sort: true},
+ {type: 'numbers', fixed: 'left', width: 50},
+ {field: 'opercode', title: '管理员账号', fixed: 'left',width: 150, sort: true},
{field: 'opername', title: '管理员名称', sort: true},
{field: 'transStatus', title: '状态', sort: true, width: 100, templet: '#oper-tpl-state'},
{
@@ -78,8 +78,10 @@
},
{field: 'mobile', sort: true, title: '手机号'},
{field: 'email', sort: true, title: '电子邮箱'},
- {field: 'opendate', sort: true, width: 120, title: '注册日期'},
- {align: 'center', toolbar: '#oper-table-bar', title: '操作', fixed: 'right'}
+ {field: 'opendate', sort: true, width: 120, title: '注册日期', align: 'center', templet: function (d) {
+ return admin.formatDate(d.opendate);
+ }},
+ {align: 'center', toolbar: '#oper-table-bar', title: '操作',width: 160, fixed: 'right'}
]
]
});
@@ -100,7 +102,7 @@
// 显示表单弹窗
var showEditModel = function (data) {
var title = data ? '修改用户' : '添加用户';
- admin.putTempData('t_user', data);
+ admin.putTempData('tmp_user', data);
admin.popupCenter({
title: title,
path: '[[@{/operator/load4add}]]',
diff --git a/src/main/resources/templates/system/operator/logs.html b/src/main/resources/templates/system/operator/logs.html
index 207b4ea..3f6f6ff 100644
--- a/src/main/resources/templates/system/operator/logs.html
+++ b/src/main/resources/templates/system/operator/logs.html
@@ -9,8 +9,8 @@
<div class="layui-card-body">
<div class="layui-form toolbar">
搜索:
- <input id="search-value" class="layui-input search-input" type="text" placeholder="输入管理员账号"/> 
- <button id="btn-search" class="layui-btn icon-btn" data-type="search"><i class="layui-icon"></i>搜索
+ <input id="search-operlog-value" class="layui-input search-input" type="text" placeholder="输入管理员账号"/> 
+ <button id="btn-operlog-search" class="layui-btn icon-btn" data-type="search"><i class="layui-icon"></i>搜索
</button>
</div>
<table class="layui-table" id="logtable" lay-filter="logtable"></table>
@@ -30,11 +30,11 @@
cols: [
[
{field: 'opername', title: '管理员账号', width: 160,fixed: 'left', sort: true},
- {field: 'functionname', title: '所属功能', width: 160,fixed: 'left', sort: true},
- {field: 'resname', title: '操作内容', width: 160,fixed: 'left', sort: true},
- {field: 'respath', title: '操作路径', width: 200,},
+ {field: 'functionname', title: '所属功能', sort: true},
+ {field: 'resname', title: '操作内容', sort: true},
+ {field: 'respath', title: '操作路径'},
{
- field: 'logdate', align: 'center', title: '操作时间', fixed: 'right', templet: function (item) {
+ field: 'logdate', align: 'center', title: '操作时间', width: 200, fixed: 'right', templet: function (item) {
return admin.formatDate(item.logdate);
}
}
@@ -42,8 +42,8 @@
]
});
// 搜索按钮点击事件
- $('#btn-search').click(function () {
- let key = $('#search-value').val();
+ $('#btn-operlog-search').click(function () {
+ let key = $('#search-operlog-value').val();
table.reload('logtable', {where: {searchkey: key}, page: {curr: 1}});
});
});
diff --git a/src/main/resources/templates/system/operator/operator.html b/src/main/resources/templates/system/operator/operator.html
index 682e6c4..0a50551 100644
--- a/src/main/resources/templates/system/operator/operator.html
+++ b/src/main/resources/templates/system/operator/operator.html
@@ -16,9 +16,9 @@
</div>
</div>
<div class="layui-form-item">
- <label class="layui-form-label" title="用于第三方授权登录,但不能访问本系统资源">授权登录用户</label>
+ <label class="layui-form-label" title="用于第三方授权登录,但不能访问本系统资源" style="width: 90px;">授权登录用户</label>
<div class="layui-input-block">
- <input type="checkbox" name="thirdadmin" value="yes" />
+ <input type="checkbox" name="thirdadmin" lay-skin="switch" lay-text="启用|关闭" value="yes" />
</div>
</div>
<div class="layui-form-item">
@@ -65,6 +65,7 @@
var formSelects = layui.formSelects;
form.render('radio');
+ form.render('checkbox');
form.verify({
"mobile": function (e) {
if (null != e && e.length > 0 && !(/^1\d{10}$/.test(e))) {
@@ -107,7 +108,7 @@
var url = '[[@{/operator/add}]]';
// 回显user数据
- var user = admin.getTempData('t_user');
+ var user = admin.getTempData('tmp_user');
if (user) {
$('input[name="opercode"]').attr('readonly', 'readonly');
form.val('oper-form', user);
@@ -119,6 +120,7 @@
}
// 表单提交事件
form.on('submit(oper-form-submit)', function (data) {
+ debugger
layer.load(2);
var token_name = $("meta[name='_csrf_token']").attr("content");
var token = $("meta[name='_csrf_token']").attr("value");
diff --git a/src/main/resources/templates/system/operator/setpwd.html b/src/main/resources/templates/system/operator/setpwd.html
index 53f4fef..7b77f60 100644
--- a/src/main/resources/templates/system/operator/setpwd.html
+++ b/src/main/resources/templates/system/operator/setpwd.html
@@ -41,7 +41,7 @@
$('#cancelBtn').click(function () {
admin.closeThisTabs()
});
- form.render('select');
+
let url = '[[@{/operator/dosetpwd}]]';
// 表单提交事件
form.on('submit(setmypass)', function (data) {
diff --git a/src/main/resources/templates/system/operator/userinfor.html b/src/main/resources/templates/system/operator/userinfor.html
index 1193ef3..7cb1bce 100644
--- a/src/main/resources/templates/system/operator/userinfor.html
+++ b/src/main/resources/templates/system/operator/userinfor.html
@@ -55,7 +55,7 @@
$('#cancelBtn').click(function () {
admin.closeThisTabs()
});
- form.render('select');
+ form.render('radio');
let url = '[[@{/operator/updateinfor}]]';
// 表单提交事件
form.on('submit(infor-form-submit)', function (data) {
diff --git a/src/main/resources/templates/system/param/apiclientform.html b/src/main/resources/templates/system/param/apiclientform.html
index 94353f7..16ace93 100644
--- a/src/main/resources/templates/system/param/apiclientform.html
+++ b/src/main/resources/templates/system/param/apiclientform.html
@@ -7,7 +7,7 @@
</div>
</div>
<div class="layui-form-item">
- <label class="layui-form-label">角色</label>
+ <label class="layui-form-label">权限</label>
<div class="layui-input-block">
<select name="roles" xm-select="roles" lay-verify="required">
<option th:each="role : ${rolelist}" th:value="${role.key}">[[${role.value}]]</option>
diff --git a/src/main/resources/templates/system/param/apiclientpara.html b/src/main/resources/templates/system/param/apiclientpara.html
index d8292d7..9f18342 100644
--- a/src/main/resources/templates/system/param/apiclientpara.html
+++ b/src/main/resources/templates/system/param/apiclientpara.html
@@ -22,14 +22,14 @@
<!-- 表格操作列 -->
<script type="text/html" id="apiclient-table-bar">
- <a class="layui-btn layui-btn-xs" lay-event="editRole">修改角色</a>
+ <a class="layui-btn layui-btn-xs" lay-event="editRole">修改</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.transStatus=='normal'?'checked':''}} />
+ {{d.status=='normal'?'checked':''}} />
</script>
<script>
@@ -47,8 +47,8 @@
[
{field: 'appid', title: 'APPID', width: 120, align: 'right', fixed: 'left', sort: true},
{field: 'secret', title: '密钥', align: 'center', edit: 'text'},
- {field: 'transStatus', title: '状态', width: 100, templet: '#api-tpl-state',sort: true},
- {field: 'roles', title: '角色', align: 'center' },
+ {field: 'status', title: '状态', width: 100, templet: '#api-tpl-state',sort: true},
+ {field: 'roles', title: '权限', align: 'center' },
{align: 'center', title: '操作', width: 150, toolbar: '#apiclient-table-bar', fixed: 'right'}
]
]
@@ -68,7 +68,7 @@
});
function showEditModel(data) {
- var title = data ? '修改角色' : '新增应用';
+ var title = data ? '修改应用' : '新增应用';
admin.putTempData('t_appclient', data);
admin.popupCenter({
title: title,
diff --git a/src/main/resources/templates/system/param/paytype.html b/src/main/resources/templates/system/param/paytype.html
index 94ce96a..8c5d102 100644
--- a/src/main/resources/templates/system/param/paytype.html
+++ b/src/main/resources/templates/system/param/paytype.html
@@ -56,6 +56,28 @@
{{(d.enable==true && d.anonymousEnable==true)?'checked':''}} disabled/>
{{# } }}
</script>
+<script type="text/html" id="reversable-tpl-state">
+ {{# if(d.enable == true ){ }}
+ <input type="checkbox" lay-filter="reversable-tpl-state" value="{{d.sourceType}}" lay-skin="switch"
+ lay-text="启用|关闭"
+ {{(d.enable==true && d.reversable==true)?'checked':''}}/>
+ {{# }else{ }}
+ <input type="checkbox" lay-filter="reversable-tpl-state" value="{{d.sourceType}}" lay-skin="switch"
+ lay-text="启用|关闭"
+ {{(d.enable==true && d.reversable==true)?'checked':''}} disabled/>
+ {{# } }}
+</script>
+<script type="text/html" id="checkable-tpl-state">
+ {{# if(d.enable == true ){ }}
+ <input type="checkbox" lay-filter="checkable-tpl-state" value="{{d.sourceType}}" lay-skin="switch"
+ lay-text="启用|关闭"
+ {{(d.enable==true && d.checkable==true)?'checked':''}}/>
+ {{# }else{ }}
+ <input type="checkbox" lay-filter="checkable-tpl-state" value="{{d.sourceType}}" lay-skin="switch"
+ lay-text="启用|关闭"
+ {{(d.enable==true && d.checkable==true)?'checked':''}} disabled/>
+ {{# } }}
+</script>
<script>
layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
@@ -94,6 +116,20 @@
sort: true
},
{
+ field: 'reversable',
+ title: '能否冲正',
+ align: 'center',
+ templet: '#reversable-tpl-state',
+ sort: true
+ },
+ {
+ field: 'checkable',
+ title: '是否清算',
+ align: 'center',
+ templet: '#anonymousenable-tpl-state',
+ sort: true
+ },
+ {
align: 'center', title: '操作', width: 150, fixed: 'right', templet: function (item) {
if (item.sourceType != 'balance') {
return '<a class="layui-btn layui-btn-xs" lay-event="config">配置</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
@@ -167,6 +203,16 @@
updatePaytypeState(obj, "anonymous", token);
});
+ form.on('switch(reversable-tpl-state)', function (obj) {
+ var token = $("meta[name='_csrf_token']").attr("value");
+ updatePaytypeState(obj, "reversable", token);
+ });
+
+ form.on('switch(checkable-tpl-state)', function (obj) {
+ var token = $("meta[name='_csrf_token']").attr("value");
+ updatePaytypeState(obj, "checkable", token);
+ });
+
function updatePaytypeState(obj, optype, token) {
admin.go('[[@{/param/updatepaytypestate}]]', {
diff --git a/src/main/resources/templates/system/param/paytypeform.html b/src/main/resources/templates/system/param/paytypeform.html
index e3a2d5a..1ec0c3d 100644
--- a/src/main/resources/templates/system/param/paytypeform.html
+++ b/src/main/resources/templates/system/param/paytypeform.html
@@ -41,6 +41,20 @@
</div>
</div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">能否冲正</label>
+ <div class="layui-input-block">
+ <input name="reversable" type="checkbox" lay-skin="switch" lay-text="启用|关闭" value="yes" lay-verify="required" checked/>
+ </div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">是否清算</label>
+ <div class="layui-input-block">
+ <input name="checkable" type="checkbox" lay-skin="switch" lay-text="启用|关闭" value="yes" lay-verify="required" checked/>
+ </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>
diff --git a/src/main/resources/templates/system/role/func.html b/src/main/resources/templates/system/role/func.html
index aeca844..f3ebd5e 100755
--- a/src/main/resources/templates/system/role/func.html
+++ b/src/main/resources/templates/system/role/func.html
@@ -54,6 +54,7 @@
let treeObj = $.fn.zTree.getZTreeObj("funclist");
let nodes = treeObj.getCheckedNodes(true);
for (let i = 0; i < nodes.length; i++) {
+
ids.push(nodes[i].id);//存功能ID
}
if (ids.length < 1) {
diff --git a/src/main/resources/templates/system/role/index.html b/src/main/resources/templates/system/role/index.html
index f92912f..535ecf3 100644
--- a/src/main/resources/templates/system/role/index.html
+++ b/src/main/resources/templates/system/role/index.html
@@ -31,11 +31,11 @@
page: true,
cols: [
[
- {field: 'roleName', title: '角色名称', width: 160,fixed: 'left', sort: true},
- {field: 'roleCode', title: '角色代码', width: 160,fixed: 'left', sort: true},
+ {field: 'roleName', title: '角色名称', width: 200,fixed: 'left', sort: true},
+ {field: 'roleCode', title: '角色代码', width: 200,fixed: 'left', sort: true},
{field: 'roleDesc', title: '描述'},
{
- field: 'roleId', align: 'center', title: '操作', fixed: 'right', templet: function (item) {
+ field: 'roleId', align: 'center', title: '操作', width: 300, fixed: 'right', templet: function (item) {
let html = ' <a class="layui-btn layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
' <a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="addfunc"><i class="layui-icon layui-icon-set-sm"></i>分配功能</a> ';
if(item.editflag===1){
diff --git a/src/main/resources/templates/system/shop/config.html b/src/main/resources/templates/system/shop/config.html
index b80ec4f..56400e7 100644
--- a/src/main/resources/templates/system/shop/config.html
+++ b/src/main/resources/templates/system/shop/config.html
@@ -13,9 +13,8 @@
<div class="layui-card-header">
商户树<span style="font-size: 12px;">(双击结算商户查询)</span>
</div>
- <div class="layui-card-body layui-show"
- style="background-color: #D7F9F7;max-height: 560px;overflow:auto;">
- <ul id="shopacctree" class="ztree"></ul>
+ <div class="layui-card-body layui-show">
+ <ul id="shopacctree" class="ztree" style="background-color: #D7F9F7;max-height: 560px;overflow:auto;"></ul>
</div>
</div>
</div>
diff --git a/src/main/resources/templates/system/shop/index.html b/src/main/resources/templates/system/shop/index.html
index 000ef7d..5e441ae 100644
--- a/src/main/resources/templates/system/shop/index.html
+++ b/src/main/resources/templates/system/shop/index.html
@@ -10,9 +10,8 @@
<div class="layui-row">
<div class="layui-col-xs5 layui-col-md3">
<div class="layui-card">
- <div class="layui-card-body layui-show"
- style="background-color: #D7F9F7;max-height: 560px;overflow:auto;">
- <ul id="shoptree" class="ztree"></ul>
+ <div class="layui-card-body layui-show">
+ <ul id="shoptree" class="ztree" style="background-color: #D7F9F7;max-height: 560px;overflow:auto;"></ul>
</div>
</div>
</div>
diff --git a/src/main/resources/templates/system/user/add.html b/src/main/resources/templates/system/user/add.html
index e2f2c81..d04999d 100755
--- a/src/main/resources/templates/system/user/add.html
+++ b/src/main/resources/templates/system/user/add.html
@@ -19,7 +19,7 @@
<label class="layui-form-label">证件类型*</label>
<div class="layui-input-block">
<select name="idtype" id="idtype" lay-verify="required">
- <option th:each="bean : ${idtypes}" th:value="${bean.idtype}">[[${bean.typename}]]</option>
+ <option th:each="bean : ${idtypeList}" th:value="${bean.dictval}">[[${bean.dictcaption}]]</option>
</select>
</div>
</div>
diff --git a/src/main/resources/templates/system/user/index.html b/src/main/resources/templates/system/user/index.html
index 8e13364..5507955 100644
--- a/src/main/resources/templates/system/user/index.html
+++ b/src/main/resources/templates/system/user/index.html
@@ -10,7 +10,8 @@
<div class="layui-form toolbar">
搜索:
<input id="search-value-user" class="layui-input search-input" type="text" placeholder="输入用户名称"/> 
- <button id="btn-search-user" class="layui-btn icon-btn" data-type="search"><i class="layui-icon"></i>搜索
+ <button id="btn-search-user" class="layui-btn icon-btn" data-type="search"><i
+ class="layui-icon"></i>搜索
</button>
<button id="btn-add-user" class="layui-btn icon-btn" data-type="add"><i class="layui-icon"></i>添加用户
</button>
@@ -31,44 +32,45 @@
page: true,
cols: [
[
- {field: 'name', title: '名称', width: 80, fixed: 'left', sort: true},
- {
- field: 'sex', title: '性别', fixed: 'left', width: 80,
- templet: function (item) {
+ {field: 'name', title: '名称', width: 150, fixed: 'left', sort: true},
+ {field: 'sex', title: '性别', align: 'center', width: 80, templet: function(item){
return getTempDictValue('sexList', item.sex);
- }
- },
+ }},
{
- field: 'status', title: '状态', fixed: 'left', width: 80, templet: function (item) {
- let desc = getTempDictValue('accountStatusList', item.status)
+ field: 'status', title: '状态', align: 'center', width: 80, templet: function (item) {
+ let desc = getTempDictValue('accountStatusList', item.status);
if (item.status === 'normal') {
- return '<span class="layui-badge layui-bg-green">' + desc + '</span>'
+ return '<span class="layui-badge layui-bg-green">' + desc + '</span>';
} else if (item.status === 'closed') {
- return '<span class="layui-badge">' + desc + '</span>'
+ return '<span class="layui-badge">' + desc + '</span>';
} else if (item.status === 'locked') {
- return '<span class="layui-badge layui-bg-orange">' + desc + '</span>'
+ return '<span class="layui-badge layui-bg-orange">' + desc + '</span>';
} else {
- return '异常'
+ return '异常';
}
}
},
{
- field: 'idtype', align: 'center', width: 100, title: '证件类型', fixed: 'left',
+ field: 'idtype', align: 'center', width: 100, title: '证件类型',
templet: function (item) {
return getTempDictValue('idtypeList', item.idtype);
}
},
- {field: 'idno', title: '证件号', width: 120, fixed: 'left', sort: true},
- {field: 'email', title: '邮箱', width: 100, fixed: 'left', sort: true},
- {field: 'mobile', title: '手机', width: 120, fixed: 'left', sort: true},
- {field: 'tel', title: '电话', width: 100, fixed: 'left', sort: true},
- {field: 'addr', title: '地址', width: 200, fixed: 'left', sort: true},
- {field: 'lastsaved', title: '最后修改时间', width: 140, fixed: 'left', sort: true},
+ {field: 'idno', title: '证件号', width: 120, align: 'center', sort: true},
+ {field: 'email', title: '邮箱', width: 100, align: 'center', sort: true},
+ {field: 'mobile', title: '手机', width: 120, align: 'center', sort: true},
+ {field: 'tel', title: '电话', align: 'center'},
+ {field: 'addr', title: '地址', align: 'center' },
{
- field: 'userid',
+ field: 'lastsaved', title: '最后修改时间', width: 180, sort: true, templet: function (d) {
+ return admin.formatDate(d.lastsaved);
+ }
+ },
+ {
align: 'center',
title: '操作',
fixed: 'right',
+ width: 170,
templet: function (item) {
let html = ' <a class="layui-btn layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> ';
html += '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>';