xxxrrrdddd il y a 2 ans
Parent
commit
fb2772f531

+ 29 - 1
application/admin/controller/MobileOrder.php

@@ -72,8 +72,16 @@ class MobileOrder extends Backend
             }
             list($where, $sort, $order, $offset, $limit) = $this->buildparams();
 
+            if($this->admin('is_manager')){
+                $relation=['info','operation','operation.admin','admin','admin.admin','refund_log','refund_log.refunduser','sub_remark','sub_remark.admin'];
+            }else{
+                $relation=['info','admin','admin.admin','refund_log','refund_log.refunduser','sub_remark'=>function(Query $query){
+                    $query->where('sub_admin_id',$this->auth->id);
+                },'sub_remark.admin'];
+            }
+
             $list = $this->model
-                ->with(['info','operation','operation.admin','admin','admin.admin','refund_log','refund_log.refunduser'])
+                ->with($relation)
                 ->where($where)
                 ->where($map)
                 ->where('type',1)
@@ -386,4 +394,24 @@ class MobileOrder extends Backend
         $this->assign('data',$data);
         return view('mobile_order/see_logistics');
     }
+    #备注
+    public function sub_remark($id){
+        $order=$this->model->find($id);
+        if($this->admin('is_sub') && $this->auth->id!=$order['s_id']){
+            $this->error('操作失败(a)');
+        }
+        if($this->request->isGet()){
+            return view();
+        }else{
+            $data=input('row/a');
+            $this->validate($data,[
+                'content|备注'=>['require','max:50'],
+            ]);
+            $order->subRemark()->save([
+                'sub_admin_id'=>$this->auth->id,
+                'content'=>$data['content'],
+            ]);
+            $this->success();
+        }
+    }
 }

+ 1 - 1
application/admin/model/Admin.php

@@ -19,7 +19,7 @@ class Admin extends Model
 
     protected $readonly=['proxy','sub'];
     protected $append=['is_proxy','is_sub','is_manager'];
-
+    protected $hidden=['salt','password','token'];
     /**
      * 重置用户密码
      * @author baiyouwen

+ 5 - 0
application/admin/model/MobileOrder.php

@@ -15,4 +15,9 @@ class MobileOrder extends \app\common\model\MobileOrder
         }
         return $arr[$no];
     }
+
+    public function subRemark(): \think\model\relation\HasMany
+    {
+        return $this->hasMany(MobileOrderSubRemark::class)->order('mobile_order_sub_remark.mobile_order_sub_remark_id','desc');
+    }
 }

+ 25 - 0
application/admin/model/MobileOrderSubRemark.php

@@ -0,0 +1,25 @@
+<?php
+
+namespace app\admin\model;
+
+use think\Model;
+
+
+class MobileOrderSubRemark extends Model
+{
+    protected $autoWriteTimestamp=true;
+    protected $updateTime=null;
+    protected $append=[
+        'create_time_format',
+        'create_time_format_short',
+    ];
+    public function getCreateTimeFormatAttr($a,$m){
+        return date('m/d H:i',$m['create_time']);
+    }
+    public function getCreateTimeFormatShortAttr($a,$m){
+        return date('m/d',$m['create_time']);
+    }
+    public function admin(){
+        return $this->belongsTo(Admin::class,'sub_admin_id','id',[],'left');
+    }
+}

+ 3 - 0
application/admin/view/mobile_order/index.html

@@ -27,6 +27,8 @@
                            data-mobile_order_refund="{:$auth->check('mobile_order/refund')}"
                            data-mobile_order_send="{:$auth->check('mobile_order/send')}"
                            data-see_logistics="{:$auth->check('mobile_order/see_logistics')}"
+                           data-url-sub-remark="{:url('mobile_order/sub_remark')}"
+                           data-auth-url-sub-remark="{:$auth->check('mobile_order/sub_remark')}"
                            width="100%">
                     </table>
                 </div>
@@ -37,4 +39,5 @@
 </div>
 <script>
     let admins ={:json_encode($admins)};
+    let adminInfo = {$adminInfo|json_encode};
 </script>

+ 16 - 0
application/admin/view/mobile_order/sub_remark.html

@@ -0,0 +1,16 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('记录内容')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-no" class="form-control" name="row[content]" type="text" data-rule="required;length(~50)">
+            50个字符
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 180 - 154
public/assets/js/backend/mobile_order.js

@@ -46,6 +46,180 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','clipboard'],
                     shadeClose:false,
                 })
             })
+            $(document).on('click','.btn-sub-remark',function (){
+                let id=$(this).data('id')
+                let url=table.data('url-sub-remark')+`/id/${id}`
+                Fast.api.open(url,'备注')
+            })
+
+            let columns=[
+                //{checkbox: true},
+                {field: 'id', title: __('ID'),operate:false,},
+                {field: 'order_no', title: __('订单号'),visible:false,operate: 'like'},
+                {field: 's_id', title: __('来源渠道')},
+                {field: 'pay_type', title: __('支付方式'),searchList: payType,visible: false},
+                {field: 'pay_mid_wechat', title: __('微信商户号'),visible: false,operate: 'LIKE'},
+                {field: 'pay_mid_alipay', title: __('支付宝商户号'),visible: false,operate: 'LIKE'},
+                {field: 'name', title: __('收货人'),visible: false,operate: 'LIKE'},
+                {field: 'phone', title: __('收货人手机'),visible: false,operate: 'LIKE'},
+                {field: 'id_no', title: __('收货人身份证'),visible: false,operate: "like"},
+                {field: 'no', title: __('手机号'),visible: false,operate: 'LIKE'},
+                {field: 'order_no', title: __('订单信息'),operate: false,formatter(_,order){
+                        let a=[]
+                        a.push(`<div>订单号:${order.order_no}</div>`)
+                        a.push(`<div>商品信息:${order.no}</div>`)
+                        a.push(`<div>卡品牌:${order.brand}</div>`)
+                        a.push(`<div>底价:${order.amount_di}</div>`)
+                        a.push(`<div>预存:${order.amount_charge}</div>`)
+                        a.push(`<div>单价:${order.amount}</div>`)
+                        a.push(`<div>订单价格:${order.amount}</div>`)
+                        a.push(`<div>套餐:${order.info?order.info.info.describe:''}</div>`)
+                        a.push(`<div>备注:${order.info?order.info.mobile.remark:''}</div>`)
+                        return `<div style="max-width: 200px;word-wrap: break-word;word-break: break-all;white-space: normal;text-align: left;">${a.join('')}</div>`
+                    },width:200,valign:'top',align:'left'},
+                {field: 'order_no', title: __('收货人'),operate: false,formatter(_,order){
+                        let a=[]
+                        a.push(`<div>收货人:${order.name}</div>`)
+                        a.push(`<div>手机号:${order.phone}<span style="color: red;">(${order.phone_order_count})</span></div>`)
+                        a.push(`<div>地址:${order.address}</div>`)
+                        a.push(`<div>支付方式:${payType[order.pay_type]}</div>`)
+                        a.push(`<div>微信商户号:<span style="color: #00b578;">${order.pay_mid_wechat}</span></div>`)
+                        a.push(`<div>支付宝商户号:<span style="color: #0d6aad;">${order.pay_mid_alipay}</span></div>`)
+                        a.push(`<div>备注:${order.remark}</div>`)
+                        a.push(`<div>快递名称:${order.trans_name}</div>`)
+                        a.push(`<div>快递单号:${order.trans_no}</div>`)
+                        a.push(`<a class="btn btn-link btn-click-show-open" style="color: #00a2ff;" data-id="${order.id}" data-open="${order.open_uploaded}">查看资料</a>`)
+                        return `<div style="max-width: 200px;text-align: left;" class="break-words">${a.join('')}</div>`
+                    },width:200,valign:'top',align:'left'},
+                {field: 'status', title: __('Status'),formatter: Table.api.formatter.label,searchList:status},
+                {field: 'rules.rule', title: __('规律'),visible: false,searchList:mobileRules},
+                {field: 'remark_backend', title: __('主站备注'),formatter: Table.api.formatter.content,operate:"like",align: 'left',valign: 'top'},
+                //{field: 'remark_sub', title: __('分站备注'),formatter: Table.api.formatter.content,operate:false},
+                {field: '', title: __('退款记录'),formatter(_,order){
+                        let a=[]
+                        order.refund_log.forEach(item=>{
+                            a.push(`<div>${item.create_time_format} ${item.pass?'同意':'驳回'} ${item.reason}</div>`)
+                        })
+                        return `<div style="text-align: left;font-size: 10px;" class="break-words">${a.join('')}</div>`
+                    },operate:false,valign:'top',align:'left'},
+                {field: 'sub_log', title: __(adminInfo.is_manager?'分站备注':'备注'),formatter(_,order){
+                        let a=[]
+                        order.sub_remark.forEach(item=>{
+                            a.push(`<div><span style="color: #0000ff;">${item.create_time_format}</span> <span style="color: #00caff">${item.admin?item.admin.nickname:'-'}</span> ${item.content}</div>`)
+                        })
+                        if(table.data('auth-url-sub-remark')) {
+                            a.push(`<a class="btn btn-info btn-xs btn-sub-remark" data-id="${order.id}">备注</a>`)
+                        }
+                        return `<div style="text-align: left;font-size: 10px;max-width: 200px;" class="break-words">${a.join('')}</div>`
+                    },operate:false,valign:'top',align:'left',width:200},
+                {field: 'operation_log', title: __('客服记录'),formatter(_,order){
+                        let a=[]
+                        order.operation.forEach(item=>{
+                            a.push(`<div><span style="color: #0000ff;">${item.create_time_format}</span> <span style="color: #00caff">${item.admin?item.admin.nickname:'-'}</span> ${item.content}</div>`)
+                        })
+                        return `<div style="text-align: left;font-size: 10px;max-width: 200px;" class="break-words">${a.join('')}</div>`
+                    },operate:false,valign:'top',align:'left',width:200},
+                {field: 'admin.admin_id', title: __('操作员'),formatter(_,order){
+                        let a=[]
+                        order.admin.forEach(item=>{
+                            a.push(`<div>${item.admin.nickname}</div>`)
+                        })
+                        return `<div style="text-align: left;font-size: 10px;">${a.join('')}</div>`
+                    },operate:"=",searchList: admins,valign:'top',align:'left'},
+                {field: 'pay_link', title: __('付款链接'),formatter(_,order){
+                        if(order.status!==0){
+                            return ''
+                        }
+                        return `<button class="btn btn-success btn-sm btn-pay_link" data-link="${order.pay_link}">点击复制</button>`
+                    },operate:false},
+                {field: 'create_time', title: __('Create_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
+                {field: 'update_time', title: __('更新时间'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
+                /*                        {field: 'pay_time', title: __('Pay_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
+                                        {field: 'trans_name', title: __('Trans_name')},
+                                        {field: 'trans_no', title: __('Trans_no')},
+                                        {field: 'amount_original', title: __('Amount_original'), operate: 'BETWEEN'},
+                                        {field: 'amount_hd', title: __('Amount_hd'), operate: 'BETWEEN'},
+                                        {field: 'amount_charge', title: __('Amount_charge'), operate: 'BETWEEN'},
+                                        {field: 'amount', title: __('Amount'), operate: 'BETWEEN'},
+                                        {field: 'open_idcard_face_img', title: __('开卡身份证正面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,opera: false},
+                                        {field: 'open_idcard_back_img', title: __('开卡身份证背面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
+                                        {field: 'open_face_img', title: __('开卡人头像'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
+                                        {field: 'open_name', title: __('开卡人姓名')},
+                                        {field: 'open_id_no', title: __('开卡人身份证号码')},
+                                        {field: 'open_phone', title: __('开卡人手机号')},*/
+                {field: 'trans_no', title: __('Trans_no'),visible: false,operate: "like"},
+                {
+                    field: 'operate',
+                    title: __('Operate'),
+                    table: table,
+                    events: Table.api.events.buttons,
+                    formatter: Table.api.formatter.buttons,
+                    buttons:[
+                        {
+                            name: 'detail',
+                            text: __('添加备注'),
+                            title: __('添加备注'),
+                            classname: 'btn btn-xs btn-info btn-dialog period',
+                            url: 'mobile_order/add_operation?a=1',
+                            callback: function (data) {
+                            },
+                            visible: function (row) {
+                                return $('#table').data('add_operation');
+                            }
+                        },
+                        {
+                            name: 'detail',
+                            text: __('编辑'),
+                            title: __('编辑'),
+                            classname: 'btn btn-xs btn-info btn-dialog period',
+                            url: 'mobile_order/edit?a=1',
+                            callback: function (data) {
+                            },
+                            visible: function (row) {
+                                return $('#table').data('add_operation');
+                            }
+                        },
+                        {
+                            name: 'detail',
+                            text: __('退款'),
+                            title: __('退款'),
+                            classname: 'btn btn-xs btn-danger btn-dialog period',
+                            url: 'mobile_order/refund?a=1',
+                            callback: function (data) {
+                            },
+                            visible: function (row) {
+                                return $('#table').data('mobile_order_refund') && row.status>0 && row.status!=90;
+                            }
+                        },
+                        {
+                            name: 'detail',
+                            text: __('发货'),
+                            title: __('发货'),
+                            classname: 'btn btn-xs btn-info btn-dialog period',
+                            url: 'mobile_order/send?a=1',
+                            callback: function (data) {
+                            },
+                            visible: function (row) {
+                                return $('#table').data('mobile_order_send') && row.status>0;
+                            }
+                        },
+                        {
+                            name:'detail',
+                            title:'查看物流',
+                            text: __('查看物流'),
+                            classname: 'btn btn-xs btn-danger btn-dialog',
+                            url: 'mobile_order/see_logistics?a=1',
+                            visible:(row)=>{
+                                return $('#table').data('see_logistics') && row.trans_id>0 && row.trans_no
+                            }
+                        }
+                    ]
+                }
+            ]
+            if(!adminInfo.is_manager){
+                Table.api.removeColumn('operation_log',columns)
+            }
+            Table.api.removeColumn('remark_backend',columns)
 
 
             // 初始化表格
@@ -56,160 +230,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','clipboard'],
                 search:false,
                 searchFormVisible:true,
                 columns: [
-                    [
-                        //{checkbox: true},
-                        {field: 'id', title: __('ID'),operate:false,},
-                        {field: 'order_no', title: __('订单号'),visible:false,operate: 'like'},
-                        {field: 's_id', title: __('来源渠道')},
-                        {field: 'pay_type', title: __('支付方式'),searchList: payType,visible: false},
-                        {field: 'pay_mid_wechat', title: __('微信商户号'),visible: false,operate: 'LIKE'},
-                        {field: 'pay_mid_alipay', title: __('支付宝商户号'),visible: false,operate: 'LIKE'},
-                        {field: 'name', title: __('收货人'),visible: false,operate: 'LIKE'},
-                        {field: 'phone', title: __('收货人手机'),visible: false,operate: 'LIKE'},
-                        {field: 'id_no', title: __('收货人身份证'),visible: false,operate: "like"},
-                        {field: 'no', title: __('手机号'),visible: false,operate: 'LIKE'},
-                        {field: 'order_no', title: __('订单信息'),operate: false,formatter(_,order){
-                            let a=[]
-                                a.push(`<div>订单号:${order.order_no}</div>`)
-                                a.push(`<div>商品信息:${order.no}</div>`)
-                                a.push(`<div>卡品牌:${order.brand}</div>`)
-                                a.push(`<div>底价:${order.amount_di}</div>`)
-                                a.push(`<div>预存:${order.amount_charge}</div>`)
-                                a.push(`<div>单价:${order.amount}</div>`)
-                                a.push(`<div>订单价格:${order.amount}</div>`)
-                                a.push(`<div>套餐:${order.info?order.info.info.describe:''}</div>`)
-                                a.push(`<div>备注:${order.info?order.info.mobile.remark:''}</div>`)
-                                return `<div style="max-width: 200px;word-wrap: break-word;word-break: break-all;white-space: normal;text-align: left;">${a.join('')}</div>`
-                            },width:200,valign:'top',align:'left'},
-                        {field: 'order_no', title: __('收货人'),operate: false,formatter(_,order){
-                                let a=[]
-                                a.push(`<div>收货人:${order.name}</div>`)
-                                a.push(`<div>手机号:${order.phone}<span style="color: red;">(${order.phone_order_count})</span></div>`)
-                                a.push(`<div>地址:${order.address}</div>`)
-                                a.push(`<div>支付方式:${payType[order.pay_type]}</div>`)
-                                a.push(`<div>微信商户号:<span style="color: #00b578;">${order.pay_mid_wechat}</span></div>`)
-                                a.push(`<div>支付宝商户号:<span style="color: #0d6aad;">${order.pay_mid_alipay}</span></div>`)
-                                a.push(`<div>备注:${order.remark}</div>`)
-                                a.push(`<div>快递名称:${order.trans_name}</div>`)
-                                a.push(`<div>快递单号:${order.trans_no}</div>`)
-                                a.push(`<a class="btn btn-link btn-click-show-open" style="color: #00a2ff;" data-id="${order.id}" data-open="${order.open_uploaded}">查看资料</a>`)
-                                return `<div style="max-width: 200px;text-align: left;" class="break-words">${a.join('')}</div>`
-                            },width:200,valign:'top',align:'left'},
-                        {field: 'status', title: __('Status'),formatter: Table.api.formatter.label,searchList:status},
-                        {field: 'rules.rule', title: __('规律'),visible: false,searchList:mobileRules},
-                        {field: 'remark_backend', title: __('备注'),formatter: Table.api.formatter.content,operate:"like",align: 'left',valign: 'top'},
-                        //{field: 'remark_sub', title: __('分站备注'),formatter: Table.api.formatter.content,operate:false},
-                        {field: '', title: __('退款记录'),formatter(_,order){
-                                let a=[]
-                                order.refund_log.forEach(item=>{
-                                    a.push(`<div>${item.create_time_format} ${item.pass?'同意':'驳回'} ${item.reason}</div>`)
-                                })
-                                return `<div style="text-align: left;font-size: 10px;" class="break-words">${a.join('')}</div>`
-                            },operate:false,valign:'top',align:'left'},
-                        {field: '', title: __('客服记录'),formatter(_,order){
-                            let a=[]
-                                order.operation.forEach(item=>{
-                                    a.push(`<div><span style="color: #0000ff;">${item.create_time_format}</span> <span style="color: #00caff">${item.admin?item.admin.nickname:'-'}-${item.admin?item.admin.job:'-'}</span> ${item.content}</div>`)
-                                })
-                                return `<div style="text-align: left;font-size: 10px;max-width: 200px;" class="break-words">${a.join('')}</div>`
-                            },operate:false,valign:'top',align:'left'},
-                        {field: 'admin.admin_id', title: __('操作员'),formatter(_,order){
-                                let a=[]
-                                order.admin.forEach(item=>{
-                                    a.push(`<div>${item.admin.nickname}</div>`)
-                                })
-                                return `<div style="text-align: left;font-size: 10px;">${a.join('')}</div>`
-                            },operate:"=",searchList: admins,valign:'top',align:'left'},
-                        {field: 'pay_link', title: __('付款链接'),formatter(_,order){
-                            if(order.status!==0){
-                                return ''
-                            }
-                            return `<button class="btn btn-success btn-sm btn-pay_link" data-link="${order.pay_link}">点击复制</button>`
-                        },operate:false},
-                        {field: 'create_time', title: __('Create_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
-                        {field: 'update_time', title: __('更新时间'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
-/*                        {field: 'pay_time', title: __('Pay_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
-                        {field: 'trans_name', title: __('Trans_name')},
-                        {field: 'trans_no', title: __('Trans_no')},
-                        {field: 'amount_original', title: __('Amount_original'), operate: 'BETWEEN'},
-                        {field: 'amount_hd', title: __('Amount_hd'), operate: 'BETWEEN'},
-                        {field: 'amount_charge', title: __('Amount_charge'), operate: 'BETWEEN'},
-                        {field: 'amount', title: __('Amount'), operate: 'BETWEEN'},
-                        {field: 'open_idcard_face_img', title: __('开卡身份证正面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,opera: false},
-                        {field: 'open_idcard_back_img', title: __('开卡身份证背面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
-                        {field: 'open_face_img', title: __('开卡人头像'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
-                        {field: 'open_name', title: __('开卡人姓名')},
-                        {field: 'open_id_no', title: __('开卡人身份证号码')},
-                        {field: 'open_phone', title: __('开卡人手机号')},*/
-                        {field: 'trans_no', title: __('Trans_no'),visible: false,operate: "like"},
-                        {
-                            field: 'operate',
-                            title: __('Operate'),
-                            table: table,
-                            events: Table.api.events.buttons,
-                            formatter: Table.api.formatter.buttons,
-                            buttons:[
-                                {
-                                    name: 'detail',
-                                    text: __('添加备注'),
-                                    title: __('添加备注'),
-                                    classname: 'btn btn-xs btn-info btn-dialog period',
-                                    url: 'mobile_order/add_operation?a=1',
-                                    callback: function (data) {
-                                    },
-                                    visible: function (row) {
-                                        return $('#table').data('add_operation');
-                                    }
-                                },
-                                {
-                                    name: 'detail',
-                                    text: __('编辑'),
-                                    title: __('编辑'),
-                                    classname: 'btn btn-xs btn-info btn-dialog period',
-                                    url: 'mobile_order/edit?a=1',
-                                    callback: function (data) {
-                                    },
-                                    visible: function (row) {
-                                        return $('#table').data('add_operation');
-                                    }
-                                },
-                                {
-                                    name: 'detail',
-                                    text: __('退款'),
-                                    title: __('退款'),
-                                    classname: 'btn btn-xs btn-danger btn-dialog period',
-                                    url: 'mobile_order/refund?a=1',
-                                    callback: function (data) {
-                                    },
-                                    visible: function (row) {
-                                        return $('#table').data('mobile_order_refund') && row.status>0 && row.status!=90;
-                                    }
-                                },
-                                {
-                                    name: 'detail',
-                                    text: __('发货'),
-                                    title: __('发货'),
-                                    classname: 'btn btn-xs btn-info btn-dialog period',
-                                    url: 'mobile_order/send?a=1',
-                                    callback: function (data) {
-                                    },
-                                    visible: function (row) {
-                                        return $('#table').data('mobile_order_send') && row.status>0;
-                                    }
-                                },
-                                {
-                                    name:'detail',
-                                    title:'查看物流',
-                                    text: __('查看物流'),
-                                    classname: 'btn btn-xs btn-danger btn-dialog',
-                                    url: 'mobile_order/see_logistics?a=1',
-                                    visible:(row)=>{
-                                        return $('#table').data('see_logistics') && row.trans_id>0 && row.trans_no
-                                    }
-                                }
-                            ]
-                        }
-                    ]
+                    columns
                 ],
                 onLoadSuccess(a){
                     $('.btn-export').attr('href',a.link).show()
@@ -234,6 +255,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','clipboard'],
         },
         add_operation(){
             Controller.api.bindevent();
+            $('#c-no').focus()
+        },
+        sub_remark(){
+            Controller.api.bindevent();
+            $('#c-no').focus()
         },
         refund(){
             Controller.api.bindevent();