Code Monkey home page Code Monkey logo

smallruraldog / laravel-vue-admin Goto Github PK

View Code? Open in Web Editor NEW
414.0 10.0 74.0 13.94 MB

开箱即用的Laravel后台扩展,前后端分离,后端控制前端组件,无需编写vue即可创建一个vue+vuex+vue-route+elment-ui+laravel的项目 ,丰富的表单 表格组件,强大的自定义组件功能。

Home Page: https://www.yuque.com/smallruraldog/laravel-vue-admin/overview

License: MIT License

PHP 64.47% JavaScript 8.03% Vue 24.89% SCSS 2.16% Blade 0.45%
laravel laravel-vue laravel-vue-admin vue php admin

laravel-vue-admin's Introduction

logo

全新版本上线

由于目前的组件封装的比较弱,不再维护更新,新开发一个基于amis的后台 amis-admin

介绍

Laravel-Vue-Admin 是一个开箱即用的Laravel后台扩展

前后端分离,简单的几行代码即可创建一个vue+vuex+vue-route+elment-ui+laravel的项目

内置了丰富的表单 表格组件

最核心的是强大的自定义组件功能

开发者文档

安装

首先确保安装好了laravel,并且数据库连接设置正确。

composer require smallruraldog/laravel-vue-admin

然后运行下面的命令来发布资源:

php artisan vendor:publish --provider="SmallRuralDog\Admin\AdminServiceProvider"

在该命令会生成配置文件config/admin.php,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改。 然后运行下面的命令完成安装:

php artisan admin:install

启动服务后,在浏览器打开 /admin ,使用用户名 admin 和密码 admin登录.

版本升级

查看当前版本

composer show smallruraldog/laravel-vue-admin --latest

更新到最新版

composer require smallruraldog/laravel-vue-admin

更新到开发版

composer require smallruraldog/laravel-vue-admin:dev-master

更新资源文件

发布静态资源文件(必须)

php artisan vendor:publish --tag=laravel-vue-admin-assets --force
// 发布语言包文件
php artisan vendor:publish --tag=laravel-vue-admin-lang --force

// 清理视图缓存
php artisan view:clear

最后不要忘记清理浏览器缓存,如果有CDN也要更新CDN的缓存

感谢

交流

image-20200313103804881

支持

如果你觉得 Laravel-Vue-Admin 节省了你的开发时间,让你少加班,让你能更早的回家陪女友或者打游戏,能让你更快速的挣到钱,那么请支持我,让我能继续的将 Laravel-Vue-Admin 做好,做下去!

laravel-vue-admin's People

Contributors

anjestar avatar dependabot[bot] avatar hedeqiang avatar iamxcd avatar lphkxd avatar osindex avatar smallruraldog avatar yidalh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

laravel-vue-admin's Issues

菜单和权限修改问题

系统里的菜单和权限点击编辑的时候 参数看到有ID 但是后台方法接受好像不对..

自定义组件的required()属性识别不了

目前测试了几个是识别不了的 CSwitch、RadioGroup、CheckBox,不知道其他的怎么样,例如:
$form->item('gender', '性别')->required()->component(RadioGroup::make(1, [ Radio::make(1, '男'), Radio::make(2, '女'), Radio::make(0, '保密') ]));

image

安装完毕访问提示404

按照说明文档中的安装部分,安装完后数据库表都正常创建了,
但是按说明的访问我的http://vue-admin.test/admin
提示404,请教下是啥原因啊
这个基于vue的话如果有增加页面/组件之类的需要build吗?具体怎么操作呢?

开发版WangEditor无法获取和提交数据

form表单的字段:
$form->item('content', '内容')->vif('is_url', 0)->component(WangEditor::make() ->style("height:400px") ->uploadImgServer(route('admin.image.upload')) ->uploadFileName("file"));

实际表单是空的。

提交的时候,content也没有内容。

Rate组件无法使用

使用rate 组件时,渲染出来是 <rate value="4" attrs="[object Object]" form_data="[object Object]"></rate>
在 vendor\smallruraldog\laravel-vue-admin\resources\js\components\widgets\Grid 目录下添加了 Rate.vue
也执行了 更新静态资源命令,清理视图缓存 ,结果一样,Rate.vue 代码如下

<template>
  <el-rate
    :value="value"
    :style="attrs.style"
    :class="attrs.className"
    :max="attrs.max"
    :disabled="attrs.disabled"
    :allow-half="attrs.allowHalf"
    :low-threshold="attrs.lowThreshold"
    :high-threshold="attrs.highThreshold"
    :colors="attrs.colors"
    :void-color="attrs.voidColor"
    :disabled-void-color="attrs.disabledVoidColor"
    :icon-classes="attrs.iconClasses"
    :void-icon-class="attrs.voidIconClass"
    :disabled-void-icon-class="attrs.disabledVoidIconClass"
    :show-text="attrs.showText"
    :show-score="attrs.showScore"
    :text-color="attrs.textColor"
    :texts="attrs.texts"
    @change="onChange">
  </el-rate>
</template>
<script>
export default {
  props: {
    attrs: Object,
    value: {
      default: true
    }
  },
  data() {
    return {options: this.attrs.options};
  },
  model: {
    prop: "value",
    event: "change"
  },
  methods: {
    onChange(value) {
      this.$emit("change", value);
    }
  }
};
</script>

加油哦,组件问题

1,单选按钮及滑块组件编辑时,未数据初始化;
2,文档未更新,新版本不少函数及组件缺少,但文档中还存在.
3,希望越做越好.

内置组件Checkbox验证bug

当Checkbox添加required()时,只选择一个选项,验证不通过,提示“请填写XX”,选择大于1个就正常了。

请求地址页面缓存问题

请求同一个地址传不同的参数,就不会请求页面
直接请求了数据如:

admin-api/auth/menu?id=1
admin-api/auth/menu?id=2
admin-api/auth/menu?id=3

不会重新请求页面

建议加强布局能力

目前基本上是列表、表单,对于稍微复杂点的页面布局,只能用自定义组件了。建议增强页面布局能力,特别是表单布局能力,例如在表单和布局共用,实现一行多列(多个表单项)

Cascader报错

按照官方文档使用,但是提示
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'order' in 'order clause' (SQL: select * from areasorder byorder = 0,order)

Area模型

`<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use SmallRuralDog\Admin\Traits\ModelTree;

class Area extends Model
{
use ModelTree;
public function children()
{
return $this->hasMany(get_class($this), 'parent_id')->orderBy('id');
}
}`

User控制器表单

$form->item('areas', '所在地')->displayComponent(function () { $areas = new Area(); $allNodes = $areas->toTree(); return Cascader::make()->options($allNodes)->value('id')->label('name')->expandTrigger('hover'); });

English versoin

Hello,

Coming from laravel-admin, I really like this project. But the problem is I cannot understand as it is not in English. Maybe most of the people, like me, are not using it because of the language they don't understand. Please provide an English guide/version.

建议$http的get()方法支持入参

建议改为get(uri,param={}),当param参数为空时,uri不变,当param有信息时,将参数附加至uri,这样可以大大简化前端拼接的麻烦。

建议权限改为树状列表

一般情况下,权限会有一个层级关系,比如文章管理,文章新增、文章编辑、文章删除、文章审核等,如果平行列表将导致权限比较多时看起来很混乱,所以建议改为树状结构,包括权限列表页面和角色、菜单、用户等页面选择权限的表单。

建议可以设置按钮名称和大小

1、目前的“立即创建”、“立即修改”、“关闭”这些按钮名称建议可以配置,这种表达在不同场景不是很准确。
2、建议按钮的大小可以配置,目前大小偏长,不是很美观。
3、建议在弹窗模式下,建议确定类的按钮在右侧,取消类的按钮在左侧,保留elementUI的习惯。

建议对按钮增加权限控制

目前的权限控制局限于菜单和接口层面,在实际开发中很多需要对按钮进行控制,比如用户删除按钮,没有权限就可以让按钮置灰或者隐藏,而不是点击后提示没有权限。建议可以在actions上增加permission属性来控制权限,另外permissions用户登陆后保存在localstorage去,不用每次去后端校验。

建议表格增加浏览器高度参数或获取函数

经常在项目中用到浏览器高度,比如经常用到表格设定高度,使得分页在一屏内展示,这时就需要浏览器高度来动态计算,所以建议增加该参数或者获取方法,然后可以根据该参数来动态计算我们实际需要的高度。

Cascader数据量稍微大点就很卡

我的地区表用Cascader级联,数据量在4000左右,耗时需要10秒左右,而且取数据我用了缓存的,代码如下:
$form->item('area_id', '所在地')->displayComponent(function () { $cacheName = 'area_all_node'; $allNodes = Cache::get($cacheName); if (!$allNodes) { $areas = new Area(); $allNodes = $areas->buildNestedArray([], 100000); } return Cascader::make()->options($allNodes)->value('id')->label('name')->expandTrigger('hover')->emitPath(false); });

我估计这里面渲染有很大问题,麻烦看看。

mac环境下,不显示侧边栏

经排查,resources/js/components/Root.vue 35行,有宽度为0的样式定义
<el-scrollbar wrap-class="scrollbar-wrapper" wrap-style=" width: 0 ">

建议upload组件加入上传图片大小限制

image
现在的upload上传大图片出现报错,建议加上上传大小限制:
`beforeImageUpload(file) {
const isJPG = file.type === 'image/jpeg';
const isLt2M = file.size / 1024 / 1024 < 2;

  if (!isJPG) {
    this.$message.error('上传头像图片只能是 JPG 格式!');
  }
  if (!isLt2M) {
    this.$message.error('上传头像图片大小不能超过 2MB!');
  }
  return isJPG && isLt2M;
},`

找到一个bug

执行这个命令的时候没有发布数据库迁移文件

php artisan vendor:publish --provider="SmallRuralDog\Admin\AdminServiceProvider"

导致执行php artisan admin:install的时候找不到表

表单验证bug

数字验证不通过
$form->item('amount', '数量')->rules(
['type'=>'number', 'message' => '需为数字', 'trigger' => 'blur']
);
输入数字竟然验证不通过。

菜单栏太长显示不全

当菜单名称配置太长时显示不全, 建议左侧菜单可拖拽,或者 鼠标悬停显示全部信息

图片

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.