haru haru 2 年之前
父节点
当前提交
2372193a91

+ 0 - 2
admin/control/provider.php

@@ -659,10 +659,8 @@ class providerControl extends SystemControl
                 'operation' => $operation,
                 'add_time' => time(),
                 'oper_time' => time()
-
             ];
             Model('refill_company_remit')->addRemit($remit_record);
-//            $this->remit_commit($data, $refill_company);
             showMessage('操作成功', 'index.php?act=refill_company&op=remit_record');
         }
         else

+ 53 - 2
admin/control/refill_company.php

@@ -166,8 +166,59 @@ class refill_companyControl extends SystemControl
 
     public function remit_editOp()
     {
-        $remit_id = $_GET['remit_id'];
+        $remit_id = $_GET['remit_id'] ?? $_POST['remit_id'];
         $remit = $this->check_remit($remit_id);
+        $params = json_decode($remit['params'], true);
+        $provider_list = $this->providers();
+        foreach ($provider_list as $provider) {
+            $providers[$provider['provider_id']] = $provider;
+        }
+        $refill_company = $this->refill_companys(['co_type' => refill_companyModel::co_type_provider]);
+        if(chksubmit())
+        {
+            $remits = $_POST['remits'];
+            $strs = $_POST['strs'];
+            $operation = $_POST['operation'];
+            $remit_total = 0;
+            foreach ($strs as $key => $str)
+            {
+                $remit = $remits[$key];
+                if(empty($remit)) continue;
+                $item = explode('-', $str);
+                $co_id = $item[0];
+                $pid = $item[1];
+                $data[$co_id][$pid] = $remit;
+                $remit_total += $remit;
+            }
+            if(empty($data)) {
+                showMessage('未提交数据');
+            }
+            $remit_record = [
+                'amount' => $remit_total,
+                'params' => json_encode($data),
+                'operation' => $operation,
+                'oper_time' => time()
+            ];
+            Model('refill_company_remit')->editRemit($remit_record, ['remit_id' => $remit_id]);
+            showMessage('操作成功', 'index.php?act=refill_company&op=remit_record');
+        }
+        else
+        {
+            foreach ($params as $co_id => $item)
+            {
+                $data = [];
+                $data['co_name'] = $refill_company[$co_id]['co_name'];
+                foreach ($item as $pid => $remit_money)
+                {
+                    $providers[$pid]['remit'] = $remit_money;
+                    $data['providers'][] = $providers[$pid];
+                }
+                $result[] = $data;
+            }
+            Tpl::output('remit_data', $result);
+            Tpl::output('remit', $remit);
+            Tpl::showpage('provider.remit.edit');
+        }
     }
 
     public function remit_commitOp()
@@ -176,7 +227,7 @@ class refill_companyControl extends SystemControl
 
         $remit_id = $_GET['remit_id'];
         $remit = $this->check_remit($remit_id);
-        $params = json_decode($remit['params']);
+        $params = json_decode($remit['params'], true);
         $provider_list = $this->providers();
         foreach ($provider_list as $provider) {
             $providers[$provider['provider_id']] = $provider;

+ 224 - 0
admin/templates/default/provider.remit.edit.php

@@ -0,0 +1,224 @@
+<?php defined('InShopNC') or exit('Access Invalid!'); ?>
+<style>
+</style>
+<div class="page">
+    <div class="fixed-bar">
+        <div class="item-title">
+            <h3>公司信息管理</h3>
+            <ul class="tab-base">
+                <li><a href="index.php?act=refill_company&op=index"><span>公司信息管理</span></a></li>
+                <li><a href="index.php?act=refill_company&op=add"><span>新增</span></a></li>
+                <li><a href="index.php?act=refill_company&op=remit_cfg"><span>打款配置</span></a></li>
+                <li><a href="index.php?act=refill_company&op=remit_record"><span>打款配置</span></a></li>
+                <li><a href="JavaScript:void(0);" class="current"><span>打款编辑</span></a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="fixed-empty"></div>
+    <form id="price_form" enctype="multipart/form-data" method="post">
+        <input type="hidden" name="form_submit" value="ok" />
+        <input type="hidden" name="remit_id" value="<?php echo $output['remit']['remit_id'];?>">
+        <table class="table tb-type2">
+            <tbody>
+                <tr class="noborder">
+                    <td colspan="2" class="required"><label class="validation" for="mchid">操作人:</label></td>
+                </tr>
+                <tr class="noborder">
+                    <td class="vatop rowform"><input type="text" name="operation" id="operation" class="txt" value="<?php echo $output['remit']['operation'];?>">
+                    </td>
+                    <td class="vatop tips"></td>
+                </tr>
+                <tr>
+                    <td colspan="2" class="required"><label class="validation" for="password">打款:</label></td>
+                </tr>
+                <?php foreach ($output['remit_data'] as $data) { ?>
+                <tr class="noborder">
+                    <td>
+                        <table class="spec_table tb-type2 setTable" style="width: 780px">
+                            <tr>
+                                <th>公司名称:<?php echo $data['co_name'];?></th>
+                            </tr>
+                            <tr class="w500">
+                                <th class="w150 align-center">通道名称</th>
+
+                                <th class="w150 align-center">打款金额</th>
+                            </tr>
+                            <?php foreach ($data['providers'] as $v){?>
+
+                            <tbody class="tbody">
+                                <tr class="w500" style="height: 50px;">
+                                    <td class="w100 align-center">
+                                        <?php echo $v['store_name']; ?>
+                                    </td>
+                                    <td class="w100 align-center">
+                                        <input type="hidden" name="strs[]" value="<?php echo $v['co_id']?>-<?php echo $v['provider_id']?>">
+                                        <input type="text" name="remits[]" class="priceInput" value="<?php echo $v['remit'];?>">
+                                        <div id="money" style="color:red;"></div>
+                                    </td>
+                                </tr>
+                            </tbody>
+                            <?php }?>
+                        </table>
+                    </td>
+                </tr>
+                <?php } ?>
+                <tr>
+                    <th></th>
+                    <td text-align="right">总计:<span id="total" style="color:red;">0</span></td>
+                </tr>
+            </tbody>
+            <tfoot>
+                <tr class="tfoot">
+                    <td colspan="15"><a href="JavaScript:void(0);" class="btn" id="submitBtn"><span><?php echo $lang['nc_submit']; ?></span></a></td>
+                </tr>
+            </tfoot>
+        </table>
+    </form>
+</div>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/dialog/dialog.js" id="dialog_js" charset="utf-8"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/jquery-ui/jquery.ui.js"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/ajaxfileupload/ajaxfileupload.js"></script>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.Jcrop/jquery.Jcrop.js"></script>
+<link href="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.Jcrop/jquery.Jcrop.min.css" rel="stylesheet" type="text/css" id="cssfile2" />
+<script type="text/javascript">
+    $(function() {
+        total_calculation()
+        function total_calculation()
+        {
+            let total = 0
+            $('.priceInput').each(function() {
+                let res = $(this).val();
+                if(undefined !== res){
+                    console.log(res)
+                    res = parseFloat(res)
+                    total += res
+                }
+            })
+            total = parseFloat(total)
+            console.log(total)
+            let total_chineseStr = convertCurrency(total);
+            let total_text = total + '('+ total_chineseStr +')';
+            $('#total').html(total_text)
+        }
+        $("#submitBtn").click(function() {
+            if ($("#price_form").valid()) {
+                $("#price_form").submit();
+            }
+        });
+        $('.priceInput').blur(function (){
+            let money = $(this).val();
+            money = parseFloat(money)
+            console.log(money)
+            let chineseStr = convertCurrency(money);
+            $(this).next().html(chineseStr)
+            total_calculation()
+        })
+
+        $('#price_form').validate({
+            errorPlacement: function (error, element) {
+                error.appendTo(element.parent().parent().prev().find('td:first'));
+            },
+            rules: {
+                operation: {
+                    required: true,
+                },
+            },
+            messages: {
+                operation: {
+                    required: '操作人不能为空',
+                },
+            }
+        });
+    });
+
+    function convertCurrency(money) {
+        //汉字的数字
+        var cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
+        //基本单位
+        var cnIntRadice = ['', '拾', '佰', '仟'];
+        //对应整数部分扩展单位
+        var cnIntUnits = ['', '万', '亿', '兆'];
+        //对应小数部分单位
+        var cnDecUnits = ['角', '分', '毫', '厘'];
+        //整数金额时后面跟的字符
+        var cnInteger = '整';
+        //整型完以后的单位
+        var cnIntLast = '元';
+        //最大处理的数字
+        var maxNum = 999999999999999.9999;
+        //金额整数部分
+        var integerNum;
+        //金额小数部分
+        var decimalNum;
+        //输出的中文金额字符串
+        var chineseStr = '';
+        //分离金额后用的数组,预定义
+        var parts;
+        // 传入的参数为空情况
+        if(money === '') {
+            return '';
+        }
+        money = parseFloat(money)
+        if(money >= maxNum){
+            return ''
+        }
+        // 传入的参数为0的情况
+        if(money === 0) {
+            chineseStr = cnNums[0] + cnIntLast + cnInteger;
+            return chineseStr
+        }
+        // 转为字符串
+        money = money.toString();
+        // indexOf 检测某字符在字符串中首次出现的位置 返回索引值(从0 开始) -1 代表无
+        if(money.indexOf('.') === -1){
+            integerNum = money;
+            decimalNum = ''
+        }else{
+            parts = money.split('.');
+            integerNum = parts[0];
+            decimalNum = parts[1].substr(0,4);
+        }
+        //转换整数部分
+        if(parseInt(integerNum,10) > 0){
+            let zeroCount  = 0;
+            let IntLen = integerNum.length
+            for(let i = 0; i < IntLen; i++){
+                let n = integerNum.substr(i,1);
+                let p = IntLen - i - 1;
+                let q = p / 4;
+                let m = p % 4;
+                if( n === '0'){
+                    zeroCount ++ ;
+                }else{
+                    if(zeroCount > 0){
+                        chineseStr += cnNums[0]
+                    }
+                    zeroCount = 0;
+                    chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
+                }
+                if(m === 0 && zeroCount < 4){
+                    chineseStr += cnIntUnits[q];
+                }
+            }
+            // 最后+ 元
+            chineseStr += cnIntLast;
+        }
+        // 转换小数部分
+        if(decimalNum !== ''){
+            let decLen = decimalNum.length;
+            for(let i = 0; i <decLen; i++){
+                let n = decimalNum.substr(i,1);
+                if(n !== '0'){
+                    chineseStr += cnNums[Number(n)] + cnDecUnits[i]
+                }
+            }
+        }
+        if(chineseStr === ''){
+            chineseStr += cnNums[0] + cnIntLast + cnInteger;
+        }else if(decimalNum === ''){
+            chineseStr += cnInteger;
+        }
+
+        return chineseStr
+    }
+</script>

+ 20 - 9
admin/templates/default/provider.remit.php

@@ -86,6 +86,25 @@
 <link href="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.Jcrop/jquery.Jcrop.min.css" rel="stylesheet" type="text/css" id="cssfile2" />
 <script type="text/javascript">
     $(function() {
+
+        total_calculation()
+        function total_calculation()
+        {
+            let total = 0
+            $('.priceInput').each(function() {
+                let res = $(this).val();
+                if(undefined !== res){
+                    console.log(res)
+                    res = parseFloat(res)
+                    total += res
+                }
+            })
+            total = parseFloat(total)
+            console.log(total)
+            let total_chineseStr = convertCurrency(total);
+            let total_text = total + '('+ total_chineseStr +')';
+            $('#total').html(total_text)
+        }
         $("#submitBtn").click(function() {
             if ($("#price_form").valid()) {
                 $("#price_form").submit();
@@ -94,17 +113,9 @@
         $('.priceInput').blur(function (){
             let money = $(this).val();
             money = parseFloat(money)
-            console.log(money)
             let chineseStr = convertCurrency(money);
             $(this).next().html(chineseStr)
-
-            let total = $('#total').html()
-            total = parseFloat(total)
-            total += money
-
-            let total_chineseStr = convertCurrency(total);
-            let total_text = total + '('+ total_chineseStr +')';
-            $('#total').html(total_text)
+            total_calculation()
         })
 
         $('#price_form').validate({

+ 2 - 0
admin/templates/default/refill.company.remit.php

@@ -103,6 +103,8 @@
                                 <a href="index.php?act=refill_company&op=remit_commit&remit_id=<?php echo $v['remit_id'] ?>">确认提交</a>
                             <?php } ?>
                             |
+                            <a href="index.php?act=refill_company&op=remit_edit&remit_id=<?php echo $v['remit_id'] ?>">编辑</a>
+                            |
                             <a href="index.php?act=refill_company&op=remit_export&remit_id=<?php echo $v['remit_id'] ?>">下载表格</a>
                         </td>
                     </tr>