Explorar o código

20250402 学员成绩管理增加确认成绩,页面微调

贾小兵 hai 3 semanas
pai
achega
c1f4700a06

+ 43 - 0
application/admin/controller/teacher/Exams.php

@@ -595,4 +595,47 @@ class Exams extends Backend
     }
 
 
+
+    public function multi($ids = null)
+    {
+        if (false === $this->request->isPost()) {
+            $this->error(__('Invalid parameters'));
+        }
+        $ids = $ids ?: $this->request->post('ids');
+        if (empty($ids)) {
+            $this->error(__('Parameter %s can not be empty', 'ids'));
+        }
+
+        if (false === $this->request->has('params')) {
+            $this->error(__('No rows were updated'));
+        }
+        parse_str($this->request->post('params'), $values);
+//        $values = $this->auth->isSuperAdmin() ? $values : array_intersect_key($values, array_flip(is_array($this->multiFields) ? $this->multiFields : explode(',', $this->multiFields)));
+//        if (empty($values)) {
+//            $this->error(__('You have no permission'));
+//        }
+        $adminIds = $this->getDataLimitAdminIds();
+        if (is_array($adminIds)) {
+            $this->model->where($this->dataLimitField, 'in', $adminIds);
+        }
+        $count = 0;
+        Db::startTrans();
+        try {
+            $list = $this->model->where($this->model->getPk(), 'in', $ids)->select();
+            foreach ($list as $item) {
+                $count += $item->allowField(true)->isUpdate(true)->save($values);
+            }
+            Db::commit();
+        } catch (PDOException|Exception $e) {
+            Db::rollback();
+            $this->error($e->getMessage());
+        }
+        if ($count) {
+            $this->success();
+        }
+        $this->error(__('No rows were updated'));
+    }
+
+
+
 }

+ 3 - 1
application/admin/view/teacher/exams/index.html

@@ -13,9 +13,11 @@
 <!--                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('teacher/exams/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>-->
 
 
-                        <a href="javascript:;" class="btn btn-info btn-view btn-disabled disabled {:$auth->check('teacher/exams/view')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-eye"></i> {:__('成绩详情')}</a>
+<!--                        <a href="javascript:;" class="btn btn-chakan btn-info btn-view btn-disabled disabled {:$auth->check('teacher/exams/view')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-eye"></i> {:__('成绩详情')}</a>-->
                         <a href="javascript:;" class="btn btn-success btn-export" title="导出成绩" ><i class="fa fa-download"></i> 导出成绩</a>
 
+                        <a href="javascript:;" class="btn btn-sure  btn-warning btn-multi btn-disabled disabled  {:$auth->check('teacher/exams/multi')?'':'hide'}" data-params="is_sure=1"><i class="fa fa-check"></i> 确认成绩</a>
+
                     </div>
                     <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
                            data-operate-edit="{:$auth->check('teacher/exams/edit')}"

+ 37 - 3
public/assets/js/backend/teacher/exams.js

@@ -77,7 +77,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','editable'], function
                 fixedColumns: true,
                 fixedRightNumber: 1,
                 searchFormVisible:true,
-                singleSelect : true, //
+                // singleSelect : true, //
                 search:false,
                 showExport:false,
                 showToggle:false,
@@ -118,7 +118,15 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','editable'], function
                         // {field: 'endtime', title: __('End_time'), formatter: Table.api.formatter.datetime, operate: false, addclass: 'datetimerange', sortable: true},
                         // {field: 'login_time', title: __('Login_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'logout_time', title: __('Logout_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
-                        {field: 'is_sure', title: __('成绩确认'), visible:false,operate: '=',searchList:{"1":"已确认","0":"未确认"}},
+                        {field: 'is_sure', title: __('成绩确认'),operate: '=',searchList:{"1":"已确认","0":"未确认"},
+                            formatter: function(value, row,index) {
+                                if(value==0){
+                                    return '<span class="text-warning">未确认</span>';
+                                }else if(value==1){
+                                    return '<span class="text-success">已确认</span>';
+                                }
+                            }
+                        },
                         // {field: 'createtime', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'update_by', title: __('Update_by'), operate: 'LIKE'},
                         // {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
@@ -136,11 +144,37 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','editable'], function
                                     classname: 'btn btn-success btn-xs btn-magic btn-dialog',
                                     extend: 'data-area=\'["70%","95%"]\'',
                                     url: 'teacher/exams/edit',
+                                },
+                                {
+                                    name: 'dispatch',
+                                    text: '成绩详情',
+                                    icon: 'fa fa-eye',
+                                    title: '成绩详情',
+                                    classname: 'btn btn-info btn-xs btn-magic btn-dialog',
+                                    extend: 'data-area=\'["70%","95%"]\'',
+                                    url: 'teacher/exams/view',
                                 }
                             ],
                         }
                     ]
-                ]
+                ],
+                // onCheck: function (row, $element) {
+                //     console.log('选中了')
+                // },
+                // onUncheck: function (row) {
+                //    console.log('取消选中')
+                // },
+                // onCheckAll:function (row){
+                //     // $(".btn-bianji").removeClass('btn-edit')
+                //     // $(".btn-bianji").addClass('disabled')
+                //     // $(".btn-chakan").removeClass('btn-view')
+                //     $(".btn-chakan").addClass('disabled')
+                //     $(".btn-chakan").addClass('btn-disabled')
+                // },
+                // onUncheckAll:function (row){
+                //     $(".btn-bianji").addClass('btn-edit')
+                //     $(".btn-chakan").addClass('btn-view')
+                // }
             });
 
             // 为表格绑定事件