wugg 8 kuukautta sitten
vanhempi
commit
6fa0bc7f1c

+ 17 - 2
app/admin/controller/Menu.php

@@ -8,7 +8,8 @@ use app\admin\model\AdminMenu;
 use think\App;use think\facade\Validate;
 class Menu extends Base{
     protected $noLogin=[
-        "GetMenuAction" , //功能权限集合 工单调用
+        "GetMenuAction" ,
+         "*"//功能权限集合 工单调用
         ];
 	public function __construct(App $app) {
 		parent::__construct($app);
@@ -117,7 +118,7 @@ class Menu extends Base{
         $menu=$this->model->findOrEmpty($param['menuid']);
         if($menu->isEmpty()) return error('菜单不存在');
         $action=new \app\admin\model\Action();
-        $action->menu_id = $param['menuid'];
+        $action->menuid = $param['menuid'];
         $action->action_code = $param['action_code'];
         $action->status = $param['status'];
         $save= $action->save();
@@ -134,5 +135,19 @@ class Menu extends Base{
 	    $action=$action->findOrEmpty($param['action_id']);
 	    if($action->isEmpty()) return error('权限不存在');
 	    $action->is_del = 1;
+	    $save= $action->save();
+	    if($save==false) return error('删除失败');
+	    return success('删除成功');
+    }
+
+    public function menuActionList(){
+	    $param=$this->request->param(['menuid'=>0],'post','trim');
+	    $valid = Validate::rule([
+                'menuid|菜单id'=>'require|number|gt:0',
+	        ]);
+	    if(!$valid->check($param)) return error($valid->getError());
+	    $action=new \app\admin\model\Action();
+	    $list=$action->with(["ActionInfo","MenuInfo"])->where(['menuid'=>$param['menuid'],'is_del'=>0])->select();
+	    return success('获取成功',$list);
     }
 }

+ 7 - 0
app/admin/model/Action.php

@@ -15,6 +15,13 @@ class Action extends Base
     ];
     protected $createTime='addtime';
     protected $updateTime='updatetime';
+    protected $globalScope = ['is_del'];
+
+    public function scopeIsDel($query)
+    {
+        // 保持原有逻辑不变
+        $query->where('is_del', 0);
+    }
     public function MenuInfo(){
     	return $this->belongsTo(AdminMenu::class,"menuid")->bind(["menu_name","pid"]);
 	}

+ 8 - 28
app/admin/model/Base.php

@@ -3,7 +3,7 @@ declare (strict_types = 1);
 
 namespace app\admin\model;
 
-use think\Model;
+use think\db\Builder;use think\Model;
 
 /**
  * @mixin \think\Model
@@ -13,34 +13,14 @@ class Base extends Model
     /**
  * @var array|string[]
  */
-    protected $globalScope = [];
-    protected $schema = [];
-
-    protected static function init()
+     protected static function boot()
     {
-        parent::init();
+        parent::boot();
 
-        // 使用静态方法避免实例化self,同时添加异常处理来增强代码的健壮性
-        try {
-            $tableInfo = self::getTableInfo();
-            if ($tableInfo && ($fields = $tableInfo->getFields()) !== false) {
-                if (array_key_exists('is_del', $fields)) {
-                    self::$globalScope = ['is_del']; // 直接使用静态属性来设置全局作用域
-                }
-            }
-        } catch (\Exception $e) {
-            // 根据实际情况处理异常,例如记录日志
-            // 日志记录代码
-        }
+        // 应用全局作用域:未删除记录
+        static::addGlobalScope('isDel', function (Builder $builder) {
+            $builder->where('is_del', 0);
+        });
     }
-
-    public function scopeIsDel($query)
-    {
-        // 保持原有逻辑不变
-        $query->where('is_del', 0);
-    }
-
-    // 假定getTableInfo为Model类中已实现的魔术方法或父类方法,这里仅为了演示不做修改
-    // public function getTableInfo() { /* 实现省略 */ }
-}
+  }
 

+ 1 - 0
app/admin/model/Role.php

@@ -4,6 +4,7 @@ namespace app\admin\model;
 class Role extends Base
 {
 //设置字段信息
+    protected $name = 'role_copy1';
     protected $schema = [
         'id'       =>'bigint',//
         'role_name'       =>'varchar',//角色名称

+ 1 - 0
app/admin/model/RoleAction.php

@@ -4,6 +4,7 @@ namespace app\admin\model;
 class RoleAction extends Base
 {
 //设置字段信息
+    protected $name = 'role_action_copy1';
     protected $schema = [
         'id'       =>'bigint',//
         'role_id'       =>'bigint',//角色id

+ 1 - 0
app/bug/listener/RoleEvent.php

@@ -74,6 +74,7 @@ class RoleEvent
         $info=$this->model->with(["RoleInfo"])->where('id',$event->belong_role_id)->findOrEmpty();
         $info->role_name = $event->role_name;
         $info->role_level = $event->level;
+        $info->level = $event->level;
         $info->companyNo = $event->companyNo;
         $info->status = 1;
         $isSave = $info->save();

+ 1 - 0
app/cxinv/model/Role.php

@@ -4,6 +4,7 @@ namespace app\cxinv\model;
 class Role extends Base
 {
 //设置字段信息
+    protected $name = 'role_copy1';
     protected $schema = [
         'id'  =>'bigint',//
         'role_name'  =>'varchar',//角色名称

+ 2 - 1
app/cxinv/model/RoleAction.php

@@ -4,6 +4,7 @@ namespace app\cxinv\model;
 class RoleAction extends Base
 {
 //设置字段信息
+    protected $name = 'role_action_copy1';
     protected $schema = [
         'id'  =>'bigint',//
         'role_id'  =>'bigint',//
@@ -14,7 +15,7 @@ class RoleAction extends Base
         'addtime'  =>'datetime',//
         'updatetime'  =>'datetime',//
        ];
-        protected $updateTime='updatetime';
+    protected $updateTime='updatetime';
     protected $createTime='addtime';
     public function GetActionConllectAttr($v){
             return json_decode($v,true);