diff --git a/composer.json b/composer.json index 1839329..698d94a 100644 --- a/composer.json +++ b/composer.json @@ -32,8 +32,7 @@ "openspout/openspout": "3.7.4", "ext-zip": "*", "phpoffice/phpspreadsheet": "^1.25", - "gregwar/captcha": "^1.1", - "umono/yii2-multiple": "^0.1.0" + "gregwar/captcha": "^1.1" }, "provide": { "bower-asset/jquery": "*", diff --git a/src/modules/backend/api/controllers/DeleteController.php b/src/modules/backend/api/controllers/DeleteController.php index d1a8279..105d409 100644 --- a/src/modules/backend/api/controllers/DeleteController.php +++ b/src/modules/backend/api/controllers/DeleteController.php @@ -4,12 +4,13 @@ use app\modules\backend\api\Controller; use app\modules\backend\api\helpers\DeleteHelper; + use app\modules\backend\api\helpers\ExportDeleteHelper; class DeleteController extends Controller { public function actionSelect() { - DeleteHelper::go($this->param); + ExportDeleteHelper::can(ExportDeleteHelper::DELETE,$this->param); return $this->success(SUCCESS); } } \ No newline at end of file diff --git a/src/modules/backend/api/controllers/ExportController.php b/src/modules/backend/api/controllers/ExportController.php index 6855943..e7e579b 100644 --- a/src/modules/backend/api/controllers/ExportController.php +++ b/src/modules/backend/api/controllers/ExportController.php @@ -3,6 +3,7 @@ namespace app\modules\backend\api\controllers; use app\modules\backend\api\Controller; + use app\modules\backend\api\helpers\ExportDeleteHelper; use umono\multiple\helpers\ExportHelper; class ExportController extends Controller @@ -12,11 +13,11 @@ */ public function actionSelect() { - return ExportHelper::exportSelect($this->param); + return ExportDeleteHelper::can(ExportDeleteHelper::EXPORT_SELECT, $this->param); } public function actionAll() { - return ExportHelper::exportAll($this->param); + return ExportDeleteHelper::can(ExportDeleteHelper::EXPORT_ALL, $this->param); } } \ No newline at end of file diff --git a/src/modules/backend/api/helpers/ExportDeleteHelper.php b/src/modules/backend/api/helpers/ExportDeleteHelper.php new file mode 100644 index 0000000..d66b740 --- /dev/null +++ b/src/modules/backend/api/helpers/ExportDeleteHelper.php @@ -0,0 +1,47 @@ +user->id !== 1) { + $adminGroupId = \Yii::$app->user->getIdentity()->adminGroupId; + + $permissions = AdminGroup::getPermissionsById($adminGroupId); + + if (!AdminGroup::checkUrlInPermissions($url, $permissions)) { + throw new ForbiddenHttpException('您没有权限进行此操作'); + } + } + + switch ($action) { + case self::DELETE: + DeleteHelper::go($param); + break; + case self::EXPORT_SELECT: + return ExportHelper::exportSelect($param); + case self::EXPORT_ALL: + return ExportHelper::exportAll($param); + } + } + } \ No newline at end of file diff --git a/ui/src/components/common/TablePop.vue b/ui/src/components/common/TablePop.vue index b6ee446..eeab7ed 100644 --- a/ui/src/components/common/TablePop.vue +++ b/ui/src/components/common/TablePop.vue @@ -105,6 +105,7 @@ export default defineComponent({ const reload: any = inject("reload") const store = useStore(); + let loading: any = ref(false) let toUrl: any = ref(''); let toModel: any = ref({}); let showModal: any = ref(false); @@ -118,6 +119,7 @@ export default defineComponent({ watch(() => props.showModal, (val: boolean) => { showModal.value = val; + loading.value = false; }); watch(() => props.selectRowArr, (arr: any) => { @@ -190,11 +192,11 @@ export default defineComponent({ }) }); return { + loading, name, toUrl, toModel, showModal, - loading: ref(false), dragOptions, dragData, selectColumnArr, diff --git a/ui/src/views/Admin/menu/components/form.vue b/ui/src/views/Admin/menu/components/form.vue index c045594..175f3ef 100644 --- a/ui/src/views/Admin/menu/components/form.vue +++ b/ui/src/views/Admin/menu/components/form.vue @@ -51,6 +51,7 @@

⛏️ 添加权限

+

每个实例模型对应都会有:***/delete、***/export-select、***/export-all 方法,分别为删除、导出所选、导出全部,有需要管理则可以添加。