parent
							
								
									24ff29b98a
								
							
						
					
					
						commit
						28ff2b5816
					
				| 
						 | 
				
			
			@ -6,3 +6,5 @@ VUE_APP_BASE_API = 'http://127.0.0.1:8000'
 | 
			
		|||
 | 
			
		||||
# 路由懒加载
 | 
			
		||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
 | 
			
		||||
PORT=8080
 | 
			
		||||
TITLE = 'dvAdmin管理系统'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,8 @@
 | 
			
		|||
{
 | 
			
		||||
  "name": "ruoyi",
 | 
			
		||||
  "version": "3.3.0",
 | 
			
		||||
  "description": "若依管理系统",
 | 
			
		||||
  "author": "若依",
 | 
			
		||||
  "description": "dvAdmin管理系统",
 | 
			
		||||
  "author": "dvAdmin",
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "dev": "vue-cli-service serve",
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +26,7 @@
 | 
			
		|||
    "vue",
 | 
			
		||||
    "admin",
 | 
			
		||||
    "dashboard",
 | 
			
		||||
    "ruoyi-ui",
 | 
			
		||||
    "element-ui",
 | 
			
		||||
    "boilerplate",
 | 
			
		||||
    "admin-template",
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +34,7 @@
 | 
			
		|||
  ],
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "https://gitee.com/y_project/RuoYi-Vue.git"
 | 
			
		||||
    "url": "https://gitee.com/liqianglog/django-vue-admin.git"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@riophae/vue-treeselect": "0.4.0",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ import request from '@/utils/request'
 | 
			
		|||
// 查询菜单列表
 | 
			
		||||
export function listMenu(query) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/system/menu/list',
 | 
			
		||||
    url: '/permission/menus/',
 | 
			
		||||
    method: 'get',
 | 
			
		||||
    params: query
 | 
			
		||||
  })
 | 
			
		||||
| 
						 | 
				
			
			@ -12,7 +12,7 @@ export function listMenu(query) {
 | 
			
		|||
// 查询菜单详细
 | 
			
		||||
export function getMenu(menuId) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/system/menu/' + menuId,
 | 
			
		||||
    url: '/permission/menus/' + menuId,
 | 
			
		||||
    method: 'get'
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -57,4 +57,4 @@ export function delMenu(menuId) {
 | 
			
		|||
    url: '/system/menu/' + menuId,
 | 
			
		||||
    method: 'delete'
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
import { login, logout, getInfo } from '@/api/login'
 | 
			
		||||
import { getToken, setToken, removeToken } from '@/utils/auth'
 | 
			
		||||
import {console} from "vuedraggable/src/util/helper";
 | 
			
		||||
 | 
			
		||||
const user = {
 | 
			
		||||
  state: {
 | 
			
		||||
| 
						 | 
				
			
			@ -50,17 +51,17 @@ const user = {
 | 
			
		|||
    GetInfo({ commit, state }) {
 | 
			
		||||
      return new Promise((resolve, reject) => {
 | 
			
		||||
        getInfo(state.token).then(res => {
 | 
			
		||||
          const user = res.user
 | 
			
		||||
          const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
 | 
			
		||||
          if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
 | 
			
		||||
            commit('SET_ROLES', res.roles)
 | 
			
		||||
            commit('SET_PERMISSIONS', res.permissions)
 | 
			
		||||
          const user = res.data.user
 | 
			
		||||
          const avatar = user.avatar === "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
 | 
			
		||||
          if (res.data.roles && res.data.roles.length > 0) { // 验证返回的roles是否是一个非空数组
 | 
			
		||||
            commit('SET_ROLES', res.data.roles)
 | 
			
		||||
            commit('SET_PERMISSIONS', res.data.permissions)
 | 
			
		||||
          } else {
 | 
			
		||||
            commit('SET_ROLES', ['ROLE_DEFAULT'])
 | 
			
		||||
          }
 | 
			
		||||
          commit('SET_NAME', user.userName)
 | 
			
		||||
          commit('SET_NAME', user.name)
 | 
			
		||||
          commit('SET_AVATAR', avatar)
 | 
			
		||||
          resolve(res)
 | 
			
		||||
          resolve(res.data)
 | 
			
		||||
        }).catch(error => {
 | 
			
		||||
          reject(error)
 | 
			
		||||
        })
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,33 +46,38 @@
 | 
			
		|||
      row-key="menuId"
 | 
			
		||||
      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
 | 
			
		||||
    >
 | 
			
		||||
      <el-table-column prop="menuName" label="菜单名称" :show-overflow-tooltip="true" width="160"></el-table-column>
 | 
			
		||||
      <el-table-column prop="name" label="菜单名称" :show-overflow-tooltip="true" width="160"></el-table-column>
 | 
			
		||||
      <el-table-column prop="icon" label="图标" align="center" width="100">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <svg-icon :icon-class="scope.row.icon" />
 | 
			
		||||
          <svg-icon :icon-class="scope.row.icon || ''" />
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column prop="orderNum" label="排序" width="60"></el-table-column>
 | 
			
		||||
      <el-table-column prop="perms" label="权限标识" :show-overflow-tooltip="true"></el-table-column>
 | 
			
		||||
      <el-table-column prop="component" label="组件路径" :show-overflow-tooltip="true"></el-table-column>
 | 
			
		||||
      <el-table-column prop="component_path" label="组件路径" :show-overflow-tooltip="true"></el-table-column>
 | 
			
		||||
      <el-table-column prop="status" label="状态" :formatter="statusFormat" width="80"></el-table-column>
 | 
			
		||||
      <el-table-column label="创建时间" align="center" prop="createTime">
 | 
			
		||||
      <el-table-column label="更新时间" align="center" prop="update_datetime">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <span>{{ parseTime(scope.row.createTime) }}</span>
 | 
			
		||||
          <span>{{ parseTime(scope.row.update_datetime) }}</span>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="创建时间" align="center" prop="create_datetime">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <span>{{ parseTime(scope.row.create_datetime) }}</span>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <el-button size="mini" 
 | 
			
		||||
            type="text" 
 | 
			
		||||
            icon="el-icon-edit" 
 | 
			
		||||
          <el-button size="mini"
 | 
			
		||||
            type="text"
 | 
			
		||||
            icon="el-icon-edit"
 | 
			
		||||
            @click="handleUpdate(scope.row)"
 | 
			
		||||
            v-hasPermi="['system:menu:edit']"
 | 
			
		||||
          >修改</el-button>
 | 
			
		||||
          <el-button 
 | 
			
		||||
            size="mini" 
 | 
			
		||||
            type="text" 
 | 
			
		||||
            icon="el-icon-plus" 
 | 
			
		||||
          <el-button
 | 
			
		||||
            size="mini"
 | 
			
		||||
            type="text"
 | 
			
		||||
            icon="el-icon-plus"
 | 
			
		||||
            @click="handleAdd(scope.row)"
 | 
			
		||||
            v-hasPermi="['system:menu:add']"
 | 
			
		||||
          >新增</el-button>
 | 
			
		||||
| 
						 | 
				
			
			@ -207,12 +212,12 @@
 | 
			
		|||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { listMenu, getMenu, delMenu, addMenu, updateMenu } from "@/api/system/menu";
 | 
			
		||||
import Treeselect from "@riophae/vue-treeselect";
 | 
			
		||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 | 
			
		||||
import IconSelect from "@/components/IconSelect";
 | 
			
		||||
  import {addMenu, delMenu, getMenu, listMenu, updateMenu} from "@/api/system/menu";
 | 
			
		||||
  import Treeselect from "@riophae/vue-treeselect";
 | 
			
		||||
  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 | 
			
		||||
  import IconSelect from "@/components/IconSelect";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  export default {
 | 
			
		||||
  name: "Menu",
 | 
			
		||||
  components: { Treeselect, IconSelect },
 | 
			
		||||
  data() {
 | 
			
		||||
| 
						 | 
				
			
			@ -257,7 +262,7 @@ export default {
 | 
			
		|||
  created() {
 | 
			
		||||
    this.getList();
 | 
			
		||||
    this.getDicts("sys_show_hide").then(response => {
 | 
			
		||||
      this.visibleOptions = response.data;
 | 
			
		||||
      this.visibleOptions = response.data.results;
 | 
			
		||||
    });
 | 
			
		||||
    this.getDicts("sys_normal_disable").then(response => {
 | 
			
		||||
      this.statusOptions = response.data;
 | 
			
		||||
| 
						 | 
				
			
			@ -272,7 +277,7 @@ export default {
 | 
			
		|||
    getList() {
 | 
			
		||||
      this.loading = true;
 | 
			
		||||
      listMenu(this.queryParams).then(response => {
 | 
			
		||||
        this.menuList = this.handleTree(response.data, "menuId");
 | 
			
		||||
        this.menuList = this.handleTree(response.data.results, "id");
 | 
			
		||||
        this.loading = false;
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -296,19 +301,10 @@ export default {
 | 
			
		|||
        this.menuOptions.push(menu);
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 显示状态字典翻译
 | 
			
		||||
    visibleFormat(row, column) {
 | 
			
		||||
      if (row.menuType == "F") {
 | 
			
		||||
        return "";
 | 
			
		||||
      }
 | 
			
		||||
      return this.selectDictLabel(this.visibleOptions, row.visible);
 | 
			
		||||
    },
 | 
			
		||||
    // 菜单状态字典翻译
 | 
			
		||||
    statusFormat(row, column) {
 | 
			
		||||
      if (row.menuType == "F") {
 | 
			
		||||
        return "";
 | 
			
		||||
      }
 | 
			
		||||
      return this.selectDictLabel(this.statusOptions, row.status);
 | 
			
		||||
      console.log(2,row,column)
 | 
			
		||||
      return row.status
 | 
			
		||||
    },
 | 
			
		||||
    // 取消按钮
 | 
			
		||||
    cancel() {
 | 
			
		||||
| 
						 | 
				
			
			@ -397,4 +393,4 @@ export default {
 | 
			
		|||
    }
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
</script>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,7 @@ function resolve(dir) {
 | 
			
		|||
  return path.join(__dirname, dir)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const name = defaultSettings.title || '若依管理系统' // 标题
 | 
			
		||||
const name = defaultSettings.title || 'dvAdmin管理系统' // 标题
 | 
			
		||||
 | 
			
		||||
const port = process.env.port || process.env.npm_config_port || 80 // 端口
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue