Bläddra i källkod

订单后台修改

lizhen_gitee 2 år sedan
förälder
incheckning
acb19e0612

+ 1 - 0
application/admin/controller/Order.php

@@ -23,6 +23,7 @@ class Order extends Backend
         parent::_initialize();
         $this->model = new \app\admin\model\Order;
         $this->view->assign("statusList", $this->model->getStatusList());
+        $this->view->assign("payTypeList", $this->model->getPayTypeList());
     }
 
 

+ 18 - 15
application/admin/lang/zh-cn/order.php

@@ -1,23 +1,26 @@
 <?php
 
 return [
-    'Id'                => 'ID',
-    'Order_no'          => '订单号',
-    'Active_id'         => '活动ID',
-    'User_id'           => '用户ID',
-    'Student_id'        => '学生ID',
-    'Createtime'        => '报名时间',
-    'Pay_fee'           => '报名费',
-    'Status'            => '支付状态',
-    'Status 0'          => '待支付',
-    'Status 1'          => '已支付',
-    'Remark'            => '下单备注',
-    'Paytime'           => '支付时间',
-    'Pay_type'          => '支付方式',
-    'Pay_out_trade_no'  => '支付订单号',
-    'Active.name'       => '活动标题',
+    'Id'               => 'ID',
+    'Order_no'         => '订单号',
+    'Active_id'        => '活动ID',
+    'User_id'          => '用户ID',
+    'Student_id'       => '学生ID',
+    'Createtime'       => '报名时间',
+    'Pay_fee'          => '报名费',
+    'Status'           => '支付状态',
+    'Status 0'         => '待支付',
+    'Status 1'         => '已支付',
+    'Pay_type'         => '支付方式',
+    'Pay_type 1'       => '线上支付',
+    'Pay_type 2'       => '收款码支付',
+    'Paytime'          => '支付时间',
+    'Pay_out_trade_no' => '支付订单号',
+    'Offline_images'   => '支付凭证图',
+    'Remark'           => '支付备注',
     'User.username'     => '用户名',
     'User.nickname'     => '用户昵称',
+    'Active.name'      => '活动标题',
     'Student.realname'  => '姓名',
     'School.schoolname' => '学校名',
     'Grade.gradename'   => '年级名',

+ 14 - 0
application/admin/model/Order.php

@@ -26,6 +26,7 @@ class Order extends Model
     // 追加属性
     protected $append = [
         'status_text',
+        'pay_type_text',
         'paytime_text'
     ];
     
@@ -36,6 +37,11 @@ class Order extends Model
         return ['0' => __('Status 0'), '1' => __('Status 1')];
     }
 
+    public function getPayTypeList()
+    {
+        return ['1' => __('Pay_type 1'), '2' => __('Pay_type 2')];
+    }
+
 
     public function getStatusTextAttr($value, $data)
     {
@@ -45,6 +51,14 @@ class Order extends Model
     }
 
 
+    public function getPayTypeTextAttr($value, $data)
+    {
+        $value = $value ? $value : (isset($data['pay_type']) ? $data['pay_type'] : '');
+        $list = $this->getPayTypeList();
+        return isset($list[$value]) ? $list[$value] : '';
+    }
+
+
     public function getPaytimeTextAttr($value, $data)
     {
         $value = $value ? $value : (isset($data['paytime']) ? $data['paytime'] : '');

+ 27 - 7
application/admin/view/order/add.html

@@ -43,27 +43,47 @@
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_type')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="">
+                        
+            <select  id="c-pay_type" data-rule="required" class="form-control selectpicker" name="row[pay_type]">
+                {foreach name="payTypeList" item="vo"}
+                    <option value="{$key}" {in name="key" value="1"}selected{/in}>{$vo}</option>
+                {/foreach}
+            </select>
+
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Paytime')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-paytime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[paytime]" type="text" value="{:date('Y-m-d H:i:s')}">
+            <input id="c-paytime" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[paytime]" type="text" value="{:date('Y-m-d H:i:s')}">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_type')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_out_trade_no')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-pay_type" class="form-control" name="row[pay_type]" type="text" value="">
+            <input id="c-pay_out_trade_no" data-rule="required" class="form-control" name="row[pay_out_trade_no]" type="text" value="">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_out_trade_no')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Offline_images')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-offline_images" class="form-control" size="50" name="row[offline_images]" type="textarea">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-offline_images" class="btn btn-danger faupload" data-input-id="c-offline_images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-offline_images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-offline_images" class="btn btn-primary fachoose" data-input-id="c-offline_images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-offline_images"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-offline_images"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-pay_out_trade_no" class="form-control" name="row[pay_out_trade_no]" type="text" value="">
+            <input id="c-remark" data-rule="required" class="form-control" name="row[remark]" type="text" value="">
         </div>
     </div>
     <div class="form-group layer-footer">

+ 27 - 7
application/admin/view/order/edit.html

@@ -43,27 +43,47 @@
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_type')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">
+                        
+            <select  id="c-pay_type" data-rule="required" class="form-control selectpicker" name="row[pay_type]">
+                {foreach name="payTypeList" item="vo"}
+                    <option value="{$key}" {in name="key" value="$row.pay_type"}selected{/in}>{$vo}</option>
+                {/foreach}
+            </select>
+
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Paytime')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-paytime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[paytime]" type="text" value="{:$row.paytime?datetime($row.paytime):''}">
+            <input id="c-paytime" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[paytime]" type="text" value="{:$row.paytime?datetime($row.paytime):''}">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_type')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_out_trade_no')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-pay_type" class="form-control" name="row[pay_type]" type="text" value="{$row.pay_type|htmlentities}">
+            <input id="c-pay_out_trade_no" data-rule="required" class="form-control" name="row[pay_out_trade_no]" type="text" value="{$row.pay_out_trade_no|htmlentities}">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_out_trade_no')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Offline_images')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-offline_images" class="form-control" size="50" name="row[offline_images]" type="textarea" value="{$row.offline_images|htmlentities}">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-offline_images" class="btn btn-danger faupload" data-input-id="c-offline_images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-offline_images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-offline_images" class="btn btn-primary fachoose" data-input-id="c-offline_images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-offline_images"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-offline_images"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-pay_out_trade_no" class="form-control" name="row[pay_out_trade_no]" type="text" value="{$row.pay_out_trade_no|htmlentities}">
+            <input id="c-remark" data-rule="required" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">
         </div>
     </div>
     <div class="form-group layer-footer">

+ 2 - 2
application/admin/view/order/index.html

@@ -1,6 +1,6 @@
 <div class="panel panel-default panel-intro">
     
-    <!--<div class="panel-heading">
+    <div class="panel-heading">
         {:build_heading(null,FALSE)}
         <ul class="nav nav-tabs" data-field="status">
             <li class="{:$Think.get.status === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
@@ -8,7 +8,7 @@
             <li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
             {/foreach}
         </ul>
-    </div>-->
+    </div>
 
 
     <div class="panel-body">

+ 8 - 6
public/assets/js/backend/order.js

@@ -7,8 +7,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 extend: {
                     index_url: 'order/index' + location.search,
                     add_url: 'order/add',
-                    edit_url: 'order/edit',
-                    del_url: 'order/del',
+//                    edit_url: 'order/edit',
+//                    del_url: 'order/del',
                     multi_url: 'order/multi',
                     import_url: 'order/import',
                     table: 'order',
@@ -42,12 +42,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'pay_fee', title: __('Pay_fee'), operate:'BETWEEN'},
                         {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
-                        {field: 'remark', title: __('Remark'), operate: 'LIKE'},
+                        {field: 'pay_type', title: __('Pay_type'), searchList: {"1":__('Pay_type 1'),"2":__('Pay_type 2')}, formatter: Table.api.formatter.normal},
                         {field: 'paytime', title: __('Paytime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-//                        {field: 'pay_type', title: __('Pay_type'), operate: 'LIKE'},
 //                        {field: 'pay_out_trade_no', title: __('Pay_out_trade_no'), operate: 'LIKE'},
-
-//                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        {field: 'offline_images', title: __('Offline_images'), operate: false,events: Table.api.events.image, formatter: Table.api.formatter.images},
+                        {field: 'remark', title: __('Remark'), operate: 'LIKE'},
+                        {field: 'operate', title: __('Operate'), table: table,
+                            
+                            events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]
             });