流水查询、字典、treeSelect
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index a959451..5128026 100755
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -33,8 +33,11 @@
</ul>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item" lay-unselect>
- <a id="btnMessage" title="消息"><i class="layui-icon layui-icon-notice"></i></a>
+ <a ew-event="refreshDict" title="刷新字典"><i class="layui-icon layui-icon-read"></i></a>
</li>
+ <!--<li class="layui-nav-item" lay-unselect>-->
+ <!--<a id="btnMessage" title="消息"><i class="layui-icon layui-icon-notice"></i></a>-->
+ <!--</li>-->
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a ew-event="fullScreen" title="全屏"><i class="layui-icon layui-icon-screen-full"></i></a>
</li>
@@ -130,12 +133,15 @@
<script type="text/javascript" th:src="@{/static/libs/q.js}"></script>
<script type="text/javascript" th:src="@{/static/libs/layui/layui.js}"></script>
<script type="text/javascript" th:src="@{/static/libs/zTree/js/jquery.ztree.all-3.5.min.js}"></script>
+<script type="text/javascript" th:src="@{/static/libs/custom.js}"></script>
+
<script>
layui.config({
base: 'static/custom/module/'
}).extend({
formSelects: 'formSelects/formSelects-v4',
- treetable: 'treetable-lay/treetable'
+ treetable: 'treetable-lay/treetable',
+ treeSelect: 'treeSelect/treeSelect'
}).use(['admin'], function () {
var admin = layui.admin;
});
@@ -148,6 +154,8 @@
index.initRouter(); // 导航栏和tab联动
index.bindEvent(); // 绑定事件
+ var dictpool = DictPoolToolkit();
+ dictpool.initAll("/dictpool"); //加载字典
});
</script>
</body>
diff --git a/src/main/resources/templates/system/dtl/shopdtl.html b/src/main/resources/templates/system/dtl/shopdtl.html
index 9fc1cc3..94fc668 100644
--- a/src/main/resources/templates/system/dtl/shopdtl.html
+++ b/src/main/resources/templates/system/dtl/shopdtl.html
@@ -7,13 +7,265 @@
</span>
</div>
<div class="layui-card-body">
- <div class="layui-form toolbar">
- 搜索:
- <input id="search-shopdtl-shopname" class="layui-input search-input" type="text" maxlength="30" placeholder="输入名称"/> 
- <button id="btn-search-shopdtl" class="layui-btn icon-btn" data-type="search"><i class="layui-icon"></i>搜索
+ <div class="layui-form" lay-filter="shopdtl-search-form">
+ <div class="layui-form-item" style="margin-bottom: 0;">
+ <div class="layui-inline">
+ <label class="layui-form-label">记账日期</label>
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="startAccdate" id="shopdtl-search-startAccdate" placeholder="开始日期"
+ autocomplete="off" class="layui-input"/>
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="endAccdate" id="shopdtl-search-endAccdate" placeholder="结束日期"
+ autocomplete="off"
+ class="layui-input"/>
+ </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">
+ <select name="sourcetype" id="shopdtl-search-sourcetype" class="layui-select">
+ <option value=""> 全部</option>
+ <option th:each="pt:${paytypelist}" th:value="${pt.sourceType}"
+ th:text="${pt.paydesc}"></option>
+ </select> 
+ </div>
+ </div>
+
+ <div class="layui-inline">
+ <label class="layui-form-label">状态</label>
+ <div class="layui-input-block">
+ <select name="status" id="shopdtl-search-status" 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-inline">
+ <label class="layui-form-label">交易日期</label>
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="startTransdate" id="shopdtl-search-startTransdate" placeholder="开始日期"
+ autocomplete="off" class="layui-input"/>
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="endTransdate" id="shopdtl-search-endTransdate" placeholder="结束日期"
+ autocomplete="off" class="layui-input"/>
+ </div>
+ </div>
+
+ <div class="layui-inline">
+ <label class="layui-form-label">选择商户</label>
+ <div class="layui-input-block">
+ <input type="text" name="shopaccno" id="shopdtl-search-shopaccno" placeholder="选择商户" lay-filter="shopdtl-search-shopaccno-filter"
+ autocomplete="off" class="layui-input"/>
+ </div>
+ </div>
+
+ <div class="layui-inline">
+ <label class="layui-form-label">类型</label>
+ <div class="layui-input-block">
+ <select name="tradeflag" id="shopdtl-search-tradeflag" class="layui-select">
+ <option value=""> 全部</option>
+ <option value="in">收入</option>
+ <option value="out">支出</option>
+ </select> 
+ </div>
+ </div>
+
+ <div class="layui-inline">
+ <label class="layui-form-label">交易码</label>
+ <div class="layui-input-block">
+ <select name="transcode" id="shopdtl-search-transcode" class="layui-select">
+ <option value=""> 全部</option>
+ <option th:each="tc:${transcodelist}" th:value="${tc.transcode}"
+ th:text="${tc.transname}"></option>
+ </select>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-card-body">
+ <div class="toolbar">
+ <button id="btn-search-shopdtl" class="layui-btn icon-btn" data-type="search"><i
+ class="layui-icon"></i>搜索
</button>
- <button id="btn-reset-shopdtl" class="layui-btn layui-btn-primary" data-type="reset"><i class="layui-icon"></i>清 空</button>
+ <button id="btn-reset-shopdtl" class="layui-btn layui-btn-primary" data-type="reset"><i
+ class="layui-icon"></i>清 空
+ </button>
</div>
<table class="layui-table" id="shopdtlSearchTable" lay-filter="shopdtlSearchTable-filter"></table>
</div>
-</div>
\ No newline at end of file
+</div>
+
+
+<script>
+ layui.use(['form', 'table', 'layer', 'admin', 'element', 'laydate', 'treeSelect'], function () {
+ var form = layui.form;
+ var table = layui.table;
+ var admin = layui.admin;
+ var laydate = layui.laydate;
+ var treeSelect = layui.treeSelect;
+
+ form.render("select");
+
+ laydate.render({
+ elem: '#shopdtl-search-startAccdate'
+ });
+ laydate.render({
+ elem: '#shopdtl-search-endAccdate'
+ });
+ laydate.render({
+ elem: '#shopdtl-search-startTransdate'
+ });
+ laydate.render({
+ elem: '#shopdtl-search-endTransdate'
+ });
+
+ treeSelect.render({
+ elem: '#shopdtl-search-shopaccno',
+ data: '/dtl/shoptreeselect',
+ type: 'get',
+ placeholder: '选择商户',
+ search: false,
+ style: {
+ folder: {
+ enable: false
+ },
+ line: {
+ enable: true
+ }
+ },
+ // 点击回调
+ click: function (d) {
+ var treeNode = d.current;
+ console.log(treeNode);
+ if(undefined == treeNode.accno || null == treeNode.accno){
+ layer.msg("请选择结算商户", {icon: 2, time:1500});
+ $("#shopdtl-search-shopaccno").val("");
+ treeSelect.revokeNode('shopdtl-search-shopaccno-filter');
+ return false;
+ }
+ return true;
+ },
+ success: function (d) {
+ console.log(d); // 加载完成后的回调函数
+ }
+ });
+
+
+ $("#btn-search-shopdtl").click(function () {
+ table.reload('shopdtlSearchTable', {
+ where: {
+ startAccdate: $("#shopdtl-search-startAccdate").val(),
+ endAccdate: $("#shopdtl-search-endAccdate").val(),
+ startTransdate: $("#shopdtl-search-startTransdate").val(),
+ endTransdate: $("#shopdtl-search-endTransdate").val(),
+ personname: $("#shopdtl-search-personname").val(),
+ shopaccno: $("#shopdtl-search-shopaccno").val(),
+ sourcetype: $("#shopdtl-search-sourcetype").val(),
+ tradeflag: $("#shopdtl-search-tradeflag").val(),
+ transcode: $("#shopdtl-search-transcode").val(),
+ status: $("#shopdtl-search-status").val()
+ }, page: {curr: 1}
+ });
+ });
+
+ $("#btn-reset-shopdtl").click(function () {
+ form.val("shopdtl-search-form", {
+ "startAccdate": "",
+ "endAccdate": "",
+ "startTransdate": "",
+ "endTransdate": "",
+ "shopname": "",
+ "shopaccno": "",
+ "sourcetype": "",
+ "tradeflag": "",
+ "transcode": "",
+ "status": ""
+ });
+ form.render("select");
+ treeSelect.revokeNode('shopdtl-search-shopaccno-filter');
+ });
+
+ // 渲染表格
+ table.render({
+ elem: '#shopdtlSearchTable',
+ url: '/dtl/shopdtllist',
+ page: true,
+ cols: [
+ [
+ {field: 'refno', title: '参考号', align: 'center', width: 200, sort: true},
+ {field: 'accdate', title: '记账日期', align: 'center', width: 100, sort: true},
+ {field: 'transdesc', title: '交易描述', align: 'center', width: 175},
+ {field: 'shopname', title: '商户名称', align: 'center', width: 250},
+ {field: 'amount', title: '交易金额', align: 'center', width: 120, sort: true},
+ {
+ field: 'status', title: '状态', align: 'center', width: 90, templet: function (item) {
+ if (item.status == 'init') {
+ return '<span class="layui-badge layui-bg-gray">初始化</span>';
+ } else if (item.status == 'success') {
+ return '<span class="layui-badge layui-bg-green">成功</span>';
+ } else if (item.status == 'fail') {
+ return '<span class="layui-badge">失败</span>';
+ } else if (item.status == 'wip') {
+ return '<span class="layui-badge layui-bg-orange">待支付</span>';
+ } else {
+ return item.status;
+ }
+ }
+ },
+ {
+ field: 'tradeflag', title: '类型', align: 'center', width: 60, templet: function (item) {
+ if (item.tradeflag == 'in') {
+ return '<span style="color: green;">收入</span>';
+ } else if (item.tradeflag == 'out') {
+ return '<span style="color: red;">支出</span>';
+ } else {
+ return item.tradeflag;
+ }
+ }
+ },
+ {field: 'transdate', title: '交易日期', align: 'center', width: 100, sort: true},
+ {field: 'transtime', title: '交易时间', align: 'center', width: 100, sort: true},
+ {
+ field: 'sourceType',
+ title: '支付方式',
+ align: 'center',
+ width: 130,
+ sort: true,
+ templet: function (item) {
+ return getTempDictValue('allSourcetypeList', item.sourceType);
+ }
+ },
+ {
+ field: 'reverseFlag', title: '冲正状态', align: 'center', width: 100, templet: function (item) {
+ return getTempDictValue('allReverseflagList', item.reverseFlag);
+ }
+ },
+ {field: 'oppositeAccName', title: '交易对象', align: 'center', width: 150},
+ // {field: 'outtradeno', title: '子系统订单号', align: 'center', width: 200},
+ {field: 'transcode', title: '交易码', align: 'center', width: 100},
+ {field: 'remark', title: '备注信息', align: 'center', width: 200}
+ ]
+ ]
+ });
+
+
+ });
+</script>
diff --git a/src/main/resources/templates/system/dtl/userdtl.html b/src/main/resources/templates/system/dtl/userdtl.html
index 987e869..e7ebaff 100644
--- a/src/main/resources/templates/system/dtl/userdtl.html
+++ b/src/main/resources/templates/system/dtl/userdtl.html
@@ -6,54 +6,231 @@
<a><cite>个人流水查询</cite></a>
</span>
</div>
- <div class="layui-form layui-card-header layuiadmin-card-header-auto">
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label">ID</label>
- <div class="layui-input-block">
- <input type="text" name="id" placeholder="请输入" autocomplete="off" class="layui-input">
+ <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-inline">
+ <label class="layui-form-label">记账日期</label>
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="startAccdate" id="userdtl-search-startAccdate" placeholder="开始日期"
+ autocomplete="off" class="layui-input"/>
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="endAccdate" id="userdtl-search-endAccdate" placeholder="结束日期"
+ autocomplete="off"
+ class="layui-input"/>
+ </div>
+ </div>
+
+ <div class="layui-inline">
+ <label class="layui-form-label">姓名</label>
+ <div class="layui-input-block">
+ <input type="text" name="personname" id="userdtl-search-personname" 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">
+ <select name="sourcetype" id="userdtl-search-sourcetype" class="layui-select">
+ <option value=""> 全部</option>
+ <option th:each="pt:${paytypelist}" th:value="${pt.sourceType}"
+ th:text="${pt.paydesc}"></option>
+ </select> 
+ </div>
+ </div>
+
+ <div class="layui-inline">
+ <label class="layui-form-label">状态</label>
+ <div class="layui-input-block">
+ <select name="status" id="userdtl-search-status" 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-inline">
- <label class="layui-form-label">用户名</label>
- <div class="layui-input-block">
- <input type="text" name="username" placeholder="请输入" autocomplete="off" class="layui-input">
+
+ <div class="layui-form-item" style="margin-bottom: 0;">
+ <div class="layui-inline">
+ <label class="layui-form-label">交易日期</label>
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="startTransdate" id="userdtl-search-startTransdate" placeholder="开始日期"
+ autocomplete="off" class="layui-input"/>
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline" style="width: 120px;">
+ <input type="text" name="endTransdate" id="userdtl-search-endTransdate" placeholder="结束日期"
+ autocomplete="off" class="layui-input"/>
+ </div>
</div>
- </div>
- <div class="layui-inline">
- <label class="layui-form-label">邮箱</label>
- <div class="layui-input-block">
- <input type="text" name="email" placeholder="请输入" autocomplete="off" class="layui-input">
+
+ <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"/>
+ </div>
</div>
- </div>
- <div class="layui-inline">
- <label class="layui-form-label">性别</label>
- <div class="layui-input-block">
- <select name="sex">
- <option value="0">不限</option>
- <option value="1">男</option>
- <option value="2">女</option>
- </select>
+
+ <div class="layui-inline">
+ <label class="layui-form-label">类型</label>
+ <div class="layui-input-block">
+ <select name="tradeflag" id="userdtl-search-tradeflag" class="layui-select">
+ <option value=""> 全部</option>
+ <option value="in">收入</option>
+ <option value="out">支出</option>
+ </select> 
+ </div>
</div>
- </div>
- <div class="layui-inline">
- <button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="LAY-user-front-search">
- <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
- </button>
+
+ <div class="layui-inline">
+ <label class="layui-form-label">交易码</label>
+ <div class="layui-input-block">
+ <select name="transcode" id="userdtl-search-transcode" class="layui-select">
+ <option value=""> 全部</option>
+ <option th:each="tc:${transcodelist}" th:value="${tc.transcode}"
+ th:text="${tc.transname}"></option>
+ </select>
+ </div>
+ </div>
</div>
</div>
</div>
<div class="layui-card-body">
-
-
-
- <div class="layui-form toolbar">
- 搜索:
- <input id="search-shopdtl-personname" class="layui-input search-input" type="text" maxlength="30" placeholder="输入名称"/> 
- <button id="btn-search-sysparam" class="layui-btn icon-btn" data-type="search"><i class="layui-icon"></i>搜索
+ <div class="toolbar">
+ <button id="btn-search-userdtl" class="layui-btn icon-btn" data-type="search"><i
+ class="layui-icon"></i>搜索
</button>
- <button id="btn-reset-sysparam" class="layui-btn layui-btn-primary" data-type="reset"><i class="layui-icon"></i>清 空</button>
+ <button id="btn-reset-userdtl" class="layui-btn layui-btn-primary" data-type="reset"><i
+ class="layui-icon"></i>清 空
+ </button>
</div>
<table class="layui-table" id="userdtlSearchTable" lay-filter="userdtlSearchTable-filter"></table>
</div>
-</div>
\ No newline at end of file
+</div>
+
+<script>
+ layui.use(['form', 'table', 'layer', 'admin', 'element', 'laydate'], function () {
+ var form = layui.form;
+ var table = layui.table;
+ var admin = layui.admin;
+ var laydate = layui.laydate;
+
+ form.render("select");
+
+ laydate.render({
+ elem: '#userdtl-search-startAccdate'
+ });
+ laydate.render({
+ elem: '#userdtl-search-endAccdate'
+ });
+ laydate.render({
+ elem: '#userdtl-search-startTransdate'
+ });
+ laydate.render({
+ elem: '#userdtl-search-endTransdate'
+ });
+
+ $("#btn-search-userdtl").click(function () {
+ table.reload('userdtlSearchTable', {
+ where: {
+ startAccdate: $("#userdtl-search-startAccdate").val(),
+ endAccdate: $("#userdtl-search-endAccdate").val(),
+ startTransdate: $("#userdtl-search-startTransdate").val(),
+ endTransdate: $("#userdtl-search-endTransdate").val(),
+ personname: $("#userdtl-search-personname").val(),
+ cardno: $("#userdtl-search-cardno").val(),
+ sourcetype: $("#userdtl-search-sourcetype").val(),
+ tradeflag: $("#userdtl-search-tradeflag").val(),
+ transcode: $("#userdtl-search-transcode").val(),
+ status: $("#userdtl-search-status").val()
+ }, page: {curr: 1}
+ });
+ });
+
+ $("#btn-reset-userdtl").click(function () {
+ form.val("userdtl-search-form", {
+ "startAccdate": "",
+ "endAccdate": "",
+ "startTransdate": "",
+ "endTransdate": "",
+ "personname": "",
+ "cardno": "",
+ "sourcetype": "",
+ "tradeflag": "",
+ "transcode": "",
+ "status": ""
+ });
+ form.render("select");
+ });
+
+ // 渲染表格
+ table.render({
+ elem: '#userdtlSearchTable',
+ url: '/dtl/userdtllist',
+ page: true,
+ cols: [
+ [
+ {field: 'refno', title: '参考号', align: 'center', width: 200, sort: true},
+ {field: 'accdate', title: '记账日期', align: 'center', width: 100, sort: true},
+ {field: 'transdesc', title: '交易描述', align: 'center', width: 175},
+ {field: 'userName', title: '姓名', align: 'center', width: 150},
+ {field: 'amount', title: '交易金额', align: 'center', width: 120, sort: true},
+ {
+ field: 'status', title: '状态', align: 'center', width: 90, templet: function (item) {
+ if (item.status == 'init') {
+ return '<span class="layui-badge layui-bg-gray">初始化</span>';
+ } else if (item.status == 'success') {
+ return '<span class="layui-badge layui-bg-green">成功</span>';
+ } else if (item.status == 'fail') {
+ return '<span class="layui-badge">失败</span>';
+ } else if (item.status == 'wip') {
+ return '<span class="layui-badge layui-bg-orange">待支付</span>';
+ } else {
+ return item.status;
+ }
+ }
+ },
+ {
+ field: 'tradeflag', title: '类型', align: 'center', width: 60, templet: function (item) {
+ if (item.tradeflag == 'in') {
+ return '<span style="color: green;">收入</span>';
+ } else if (item.tradeflag == 'out') {
+ return '<span style="color: red;">支出</span>';
+ } else {
+ return item.tradeflag;
+ }
+ }
+ },
+ {field: 'transdate', title: '交易日期', align: 'center', width: 100, sort: true},
+ {field: 'transtime', title: '交易时间', align: 'center', width: 100, sort: true},
+ {
+ field: 'sourceType',
+ title: '支付方式',
+ align: 'center',
+ width: 130,
+ sort: true,
+ templet: function (item) {
+ return getTempDictValue('allSourcetypeList', item.sourceType);
+ }
+ },
+ {
+ field: 'reverseFlag', title: '冲正状态', align: 'center', width: 100, templet: function (item) {
+ return getTempDictValue('allReverseflagList', item.reverseFlag);
+ }
+ },
+ {field: 'oppositeAccName', title: '交易对象', align: 'center', width: 250},
+ {field: 'outtradeno', title: '子系统订单号', align: 'center', width: 200},
+ {field: 'transcode', title: '交易码', align: 'center', width: 100},
+ {field: 'remark', title: '备注信息', align: 'center', width: 200}
+ ]
+ ]
+ });
+
+
+ });
+</script>