| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610 |
- {extend name="base"/}
- {block name="resources"}
- <style>
- .panel-content { padding-left: 15px; box-sizing: border-box; }
- .custom-panel .custom-panel-title .panel-content { width: calc(100% - 190px); }
- .account-value, .split { line-height: 34px; }
- .custom-panel .custom-panel-from { display: flex; }
- .custom-panel .custom-panel-from .layui-form-label{
- text-align: center;
- }
- .custom-panel .custom-panel-from>div{
- text-align: center;
- }
- .custom-panel .custom-panel-from .layui-form-item>div>span{
- margin-right: 10px;
- }
- .custom-panel .custom-panel-from .layui-form-item>div>button{
- width: 20px;
- height: 20px;
- text-align: center;
- padding: 0;
- line-height: 20px;
- border:0;
- color:#FF6A00 ;
- }
- .layui-input-block + .layui-word-aux {
- display: block;
- margin-left: 100px;
- }
- .shop-account {
- display: flex;
- align-items: center;
- position: relative;
- padding: 15px;
- box-sizing: border-box;
- }
-
- .shop-detail p {
- display: inline-block;
- width: 300px;
- line-height: 30px;
- }
- .screen {
- margin: 15px 0;
- }
- .layui-colla-content {
- border: none;
- background-color: #F2F3F5;
- }
- </style>
- {/block}
- {block name='body'}
- <div class="custom-panel">
- <div class="screen layui-collapse" lay-filter="selection_panel">
- <div class="layui-colla-item">
- <form class="layui-colla-content layui-form layui-show">
- <div class="layui-form-item flex">
- {if $account_type == 'balance,balance_money'}
- <div class="layui-inline">
- <label class="layui-form-label">账户类型</label>
- <div class="layui-input-inline">
- <select name="account_type" lay-filter="account_type">
- <option value="balance,balance_money">请选择</option>
- <option value="balance">储值余额</option>
- <option value="balance_money">现金余额</option>
- </select>
- </div>
- </div>
- <div class="layui-inline">
- <label class="layui-form-label">来源类型</label>
- <div class="layui-input-inline">
- <select name="from_type" class="from_type">
- <option value="">请选择</option>
- </select>
- </div>
- </div>
- {else /}
- <div class="layui-inline">
- <label class="layui-form-label">来源类型</label>
- <div class="layui-input-inline">
- <select name="from_type" class="from_type">
- <option value="">请选择</option>
- {foreach $from_type_arr as $from_type_arr_k => $from_type_arr_v}
- <option value="{$from_type_arr_k}">{$from_type_arr_v['type_name']}</option>
- {/foreach}
- </select>
- </div>
- </div>
- {/if}
- </div>
- <div class="layui-form-item flex">
- <div class="layui-inline">
- <label class="layui-form-label">发生时间</label>
- <div class="layui-input-inline">
- <input type="text" class="layui-input" name="start_date" id="start_date" placeholder="开始时间" autocomplete="off" readonly>
- </div>
- </div>
- <div class="layui-inline">
- <div class="layui-input-inline split"> - </div>
- <div class="layui-input-inline">
- <input type="text" class="layui-input" name="end_date" id="end_date" placeholder="结束时间" autocomplete="off" readonly>
- </div>
- </div>
- </div>
- <div class="form-row">
- <button class="layui-btn" lay-submit lay-filter="search">筛选</button>
- <button type="reset" class="layui-btn layui-btn-primary">重置</button>
- </div>
- <input type="hidden" name="member_id" value="{$member_id}" id="member_id"/>
- </form>
- </div>
- </div>
- </div>
- <!-- 列表 -->
- <table id="member_account" lay-filter="member_account"></table>
- {/block}
- {block name="script"}
- <script>
- var date = {$member_info.reg_time};
- $(".reg-time").text(ns.time_to_date(date, "YYYY-MM-DD"));
- $("#member_point").text(parseInt("{$member_info.point}"));
- var form,
- table,
- laydate,
- laytpl;
- repeat_flag = false, //防重复标识
- currentDate = new Date(),
- minDate = "";
-
- currentDate.setDate(currentDate.getDate() - 7);
-
- layui.use(['form', 'laydate', 'laytpl'], function() {
- form = layui.form;
- laydate = layui.laydate;
- laytpl = layui.laytpl;
- form.render();
- //开始时间
- laydate.render({
- elem: '#start_date',
- type: 'datetime'
- });
-
- //结束时间
- laydate.render({
- elem: '#end_date',
- type: 'datetime'
- });
- //根据账户类型获取来源类型
- form.on('select(account_type)', function (data) {
- if(data.value == 'balance,balance_money') return;
- $.ajax({
- type: "POST",
- url: ns.url("shop/member/getfromtype"),
- data: {type:data.value},
- dataType: 'JSON',
- success: function(res) {
- var html = '<option value="">请选择</option>';
- $.each(res,function(k,v){
- html += '<option value="'+k+'">'+v.type_name+'</option>';
- });
- $('.from_type').html(html);
- form.render();
- }
- });
- });
- /**
- * 重新渲染结束时间
- * */
- function reRender() {
- $("#reg_end_date").remove();
- $(".end-time").html('<input type="text" class="layui-input" name="reg_end_date" id="reg_end_date" placeholder="请输入结束时间">');
- laydate.render({
- elem: '#reg_end_date',
- min: minDate
- });
- }
- /**
- * 加载表格
- */
- table = new Table({
- elem: '#member_account',
- url: ns.url("shop/member/accountDetail"),
- where:{
- member_id : $("#member_id").val(),
- account_type : '{$account_type}',
- },
- cols: [
- [{
- field: 'account_type_name',
- title: '账户类型',
- width: '15%',
- unresize: 'false'
- }, {
- title: '数据金额',
- width: '15%',
- unresize: 'false',
- align:'right',
- templet: function (d) {
- if (d.account_data > 0) {
- return '+' + (d.account_type == "point" || d.account_type == 'growth' ? parseInt(d.account_data) : d.account_data);
- } else {
- return d.account_type == "point" || d.account_type == 'growth' ? parseInt(d.account_data) : d.account_data;
- }
- }
- }, {
- field: '',
- title: '',
- width: '5%',
- align:'center',
- unresize: 'false'
- }, {
- field: 'type_name',
- title: '发生方式',
- unresize: 'false'
- }, {
- field: 'remark',
- title: '备注',
- width: '35%',
- unresize: 'false'
- }, {
- field: 'create_time',
- title: '发生时间',
- unresize: 'false',
- templet: function(data) {
- return ns.time_to_date(data.create_time);
- }
- }]
- ]
- });
-
- /**
- * 表单验证
- */
- form.verify({
- num: function(value) {
- var arrMen = value.split(".");
- var val = 0;
- if (arrMen.length == 2) {
- val = arrMen[1];
- }
- if (value == "") {
- return false;
- }
- if (val.length > 2) {
- return '保留小数点后两位'
- }
- }
- });
-
- /**
- * 监听提交
- */
- form.on('submit(search)', function(data) {
- table.reload({
- page: {
- curr: 1
- },
- where: data.field
- });
- return false;
- });
-
- form.on('submit(savePoint)', function(data) {
- if (repeat_flag) return false;
- repeat_flag = true;
- var point = {$member_info.point};
- if (data.field.adjust_num == 0) {
- layer.msg('调整数值不能为0');
- repeat_flag = false;
- return ;
- }
- if (point*1 + data.field.adjust_num*1 < 0) {
- layer.msg('积分不可以为负数');
- repeat_flag = false;
- return ;
- }
- $.ajax({
- type: "POST",
- url: ns.url("shop/member/adjustPoint"),
- data: data.field,
- dataType: 'JSON',
- success: function(res) {
- layer.msg(res.message);
- repeat_flag = false;
-
- if (res.code == 0) {
- $("#member_point").html(res.data.point);
- $("#member_point").next().attr('data-num', res.data.point);
- layer.closeAll('page');
- table.reload();
- }
- }
- });
- });
-
- form.on('submit(saveBalance)', function(data) {
- if (repeat_flag) return false;
- repeat_flag = true;
- var balance = {$member_info.balance};
- if (data.field.adjust_num == 0) {
- layer.msg('调整数值不能为0');
- repeat_flag = false;
- return ;
- }
- if (balance*1 + data.field.adjust_num*1 < 0) {
- layer.msg('当前储值余额不可以为负数');
- repeat_flag = false;
- return ;
- }
- $.ajax({
- type: "POST",
- url: ns.url("shop/member/adjustBalance"),
- data: data.field,
- dataType: 'JSON',
- success: function(res) {
- layer.msg(res.message);
- repeat_flag = false;
-
- if (res.code == 0) {
- $("#member_balance").html(res.data.balance);
- $("#member_balance").next().attr('data-num', res.data.balance);
- layer.closeAll('page');
- table.reload();
- }
- }
- });
- });
-
- form.on('submit(saveBalanceMoney)', function(data) {
- if (repeat_flag) return false;
- repeat_flag = true;
- var balance = {$member_info.balance_money};
- if (data.field.adjust_num == 0) {
- layer.msg('调整数值不能为0');
- repeat_flag = false;
- return ;
- }
- if (balance*1 + data.field.adjust_num*1 < 0) {
- layer.msg('余额(可提现)不可以为负数');
- repeat_flag = false;
- return ;
- }
- $.ajax({
- type: "POST",
- url: ns.url("shop/member/adjustBalanceMoney"),
- data: data.field,
- dataType: 'JSON',
- success: function(res) {
- layer.msg(res.message);
- repeat_flag = false;
-
- if (res.code == 0) {
- $("#member_balance_money").html(res.data.balance_money);
- $("#member_balance_money").next().attr('data-num', res.data.balance_money);
- layer.closeAll('page');
- table.reload();
- }
- }
- });
- });
-
- form.on('submit(saveGrowth)', function(data) {
- if (repeat_flag) return false;
- repeat_flag = true;
- var growth = {$member_info.growth};
- if (data.field.adjust_num == 0) {
- layer.msg('调整数值不能为0');
- repeat_flag = false;
- return ;
- }
- if (growth*1 + data.field.adjust_num*1 < 0) {
- layer.msg('成长值不可以为负数');
- repeat_flag = false;
- return;
- }
- $.ajax({
- type: "POST",
- url: ns.url("shop/member/adjustGrowth"),
- data: data.field,
- dataType: 'JSON',
- success: function(res) {
- layer.msg(res.message);
- repeat_flag = false;
-
- if (res.code == 0) {
- $("#member_growth").html(res.data.growth);
- $("#member_growth").next().attr('data-num', res.data.growth);
- layer.closeAll('page');
- table.reload();
- }
- }
- });
- });
- });
-
- function savePoint(e) {
- var point = $(e).attr('data-num');
- var data = {
- point : point
- };
- laytpl($("#point").html()).render(data, function(html) {
- layer.open({
- title: '调整积分',
- skin: 'layer-tips-class',
- type: 1,
- area: ['800px'],
- content: html
- });
- });
- $(".integral-bounced .amount input").on("input propertychange",function(val){
- var newIntegral = parseInt($(this).val());
- $(this).val(newIntegral);
- var currIntegral = parseInt($(".integral-bounced .account-value").text());
- if (newIntegral + currIntegral < 0){
- layer.msg("调整数额与当前值积分数相加不能小于0");
- $(this).val(-currIntegral);
- return false;
- }
- })
- }
-
- function saveBalance(e) {
- var balance = $(e).attr('data-num');
- var data = {
- balance : balance
- };
- laytpl($("#balance").html()).render(data, function(html) {
- layer.open({
- title: '调整储值余额',
- skin: 'layer-tips-class',
- type: 1,
- area: ['800px'],
- content: html
- });
- });
- }
-
- function saveBalanceMoney(e) {
- var balance_money = $(e).attr('data-num');
- var data = {
- balance_money : balance_money
- };
- laytpl($("#balance_money").html()).render(data, function(html) {
- layer.open({
- title: '调整现金余额',
- skin: 'layer-tips-class',
- type: 1,
- area: ['800px'],
- content: html
- });
- });
- }
-
- function saveGrowth(e) {
- var growth = $(e).attr('data-num');
- var data = {
- growth : growth
- };
- laytpl($("#growth").html()).render(data, function(html) {
- layer.open({
- title: '调整成长值',
- skin: 'layer-tips-class',
- type: 1,
- area: ['800px'],
- content: html
- });
- });
- }
- </script>
- <!-- 积分弹框html -->
- <script type="text/html" id="point">
- <div class="layui-form integral-bounced">
- <div class="layui-form-item">
- <label class="layui-form-label">当前积分:</label>
- <div class="layui-input-block account-value">{{ parseInt(d.point) }}</div>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">调整数额:</label>
- <div class="layui-input-block amount">
- <input type="number" value="0" placeholder="请输入调整数额" name="adjust_num" lay-verify="num" class="layui-input len-short">
- </div>
- <span class="word-aux">调整数额与当前积分数相加不能小于0</span>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">备注:</label>
- <div class="layui-input-block len-long">
- <textarea class="layui-textarea" name="remark" placeholder="请输入备注" maxlength="150"></textarea>
- </div>
- </div>
-
- <div class="form-row">
- <button class="layui-btn" lay-submit lay-filter="savePoint">确定</button>
- </div>
-
- <input type="hidden" name="member_id" value="{$member_info.member_id}" />
- <input type="hidden" name="point" value="{{ d.point }}" />
- </div>
- </script>
- <!-- 余额弹框html -->
- <script type="text/html" id="balance">
- <div class="layui-form">
- <div class="layui-form-item">
- <label class="layui-form-label">当前储值余额:</label>
- <div class="layui-input-block account-value">{{ d.balance }}</div>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">调整数额:</label>
- <div class="layui-input-block">
- <input type="number" value="0" placeholder="请输入调整数额" name="adjust_num" lay-verify="num" class="layui-input len-short">
- </div>
- <span class="word-aux">调整数额与当前储值余额相加不能小于0</span>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">备注:</label>
- <div class="layui-input-block len-long">
- <textarea class="layui-textarea" name="remark" placeholder="请输入备注" maxlength="150"></textarea>
- </div>
- </div>
-
- <div class="form-row">
- <button class="layui-btn" lay-submit lay-filter="saveBalance">确定</button>
- </div>
-
- <input type="hidden" name="member_id" value="{$member_info.member_id}" />
- <input type="hidden" name="point" value="{{ d.balance }}" />
- </div>
- </script>
- <!-- 现金余额弹框html -->
- <script type="text/html" id="balance_money">
- <div class="layui-form">
- <div class="layui-form-item">
- <label class="layui-form-label">当前现金余额:</label>
- <div class="layui-input-block account-value">{{ d.balance_money }}</div>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">调整数额:</label>
- <div class="layui-input-block">
- <input type="number" value="0" placeholder="请输入调整数额" name="adjust_num" lay-verify="num" class="layui-input len-short">
- </div>
- <span class="word-aux">调整数额与当前现金余额相加不能小于0</span>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">备注:</label>
- <div class="layui-input-block len-long">
- <textarea class="layui-textarea" name="remark" placeholder="请输入备注" maxlength="150"></textarea>
- </div>
- </div>
-
- <div class="form-row">
- <button class="layui-btn" lay-submit lay-filter="saveBalanceMoney">确定</button>
- </div>
-
- <input type="hidden" name="member_id" value="{$member_info.member_id}" />
- <input type="hidden" name="point" value="{{ d.balance_money }}" />
- </div>
- </script>
- <!-- 成长值弹框html -->
- <script type="text/html" id="growth">
- <div class="layui-form">
- <div class="layui-form-item">
- <label class="layui-form-label">当前成长值:</label>
- <div class="layui-input-block account-value">{{ d.growth }}</div>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">调整数额:</label>
- <div class="layui-input-block">
- <input type="number" value="0" placeholder="请输入调整数额" name="adjust_num" lay-verify="num" class="layui-input len-short">
- </div>
- <span class="word-aux">调整数额与当前成长值相加不能小于0</span>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label">备注:</label>
- <div class="layui-input-block len-long">
- <textarea class="layui-textarea" name="remark" placeholder="请输入备注" maxlength="150"></textarea>
- </div>
- </div>
-
- <div class="form-row">
- <button class="layui-btn" lay-submit lay-filter="saveGrowth">确定</button>
- </div>
-
- <input type="hidden" name="member_id" value="{$member_info.member_id}" />
- <input type="hidden" name="point" value="{{ d.growth }}" />
- </div>
- </script>
- {/block}
|