Browse Source

Merge pull request #103 from go-admin-team/dev

docs📝 :更新版本号,修复菜单名称问题(#55)
wenjianzhang 4 years ago
parent
commit
12ccbcdd45

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "go-admin",
-  "version": "1.3.1rc.0",
+  "version": "1.3.1rc.1",
   "description": "A magical vue admin. An out-of-box UI solution for enterprise applications. Newest development stack of vue. Lots of awesome features",
   "author": "https://github.com/wenjianzhang",
   "license": "MIT",

+ 2 - 311
src/router/index.js

@@ -78,36 +78,11 @@ export const constantRoutes = [
       {
         path: 'dashboard',
         component: () => import('@/views/dashboard/index'),
-        name: '首页',
+        name: 'Dashboard',
         meta: { title: '首页', icon: 'dashboard', affix: true }
       }
     ]
   },
-  // {
-  //   path: '/documentation',
-  //   component: Layout,
-  //   children: [
-  //     {
-  //       path: 'index',
-  //       component: () => import('@/views/documentation/index'),
-  //       name: 'Documentation',
-  //       meta: { title: 'Documentation', icon: 'documentation', affix: true }
-  //     }
-  //   ]
-  // },
-  // {
-  //   path: '/guide',
-  //   component: Layout,
-  //   redirect: '/guide/index',
-  //   children: [
-  //     {
-  //       path: 'index',
-  //       component: () => import('@/views/guide/index'),
-  //       name: 'Guide',
-  //       meta: { title: 'Guide', icon: 'guide', noCache: true }
-  //     }
-  //   ]
-  // },
   {
     path: '/profile',
     component: Layout,
@@ -117,7 +92,7 @@ export const constantRoutes = [
       {
         path: 'index',
         component: () => import('@/views/profile/index'),
-        name: '个人中心',
+        name: 'Profile',
         meta: { title: '个人中心', icon: 'user', noCache: true }
       }
     ]
@@ -129,291 +104,7 @@ export const constantRoutes = [
  * the routes that need to be dynamically loaded based on user roles
  */
 export const asyncRoutes = [
-  // {
-  //   path: '/upms', // 权限管理跟路由
-  //   component: Layout,
-  //   name: 'Upms',
-  //   meta: { title: '权限管理', icon: 'system' },
-  //   children: [
-  //     {
-  //       path: 'sysuser',
-  //       name: 'Sysuser',
-  //       component: () => import('@/views/sysuser/index'),
-  //       meta: { title: '用户管理', icon: 'user' }
-  //     },
-  //     {
-  //       path: 'menu',
-  //       name: 'Menu',
-  //       component: () => import('@/views/menu/index'),
-  //       meta: { title: '菜单管理', icon: 'tree-table' }
-  //     },
-  //     {
-  //       path: 'role',
-  //       name: 'Role',
-  //       component: () => import('@/views/role/index'),
-  //       meta: { title: '角色管理', icon: 'peoples' }
-  //     }
-  //   ]
-  // },
-  // {
-  //   path: '/permission',
-  //   component: Layout,
-  //   redirect: '/permission/page',
-  //   alwaysShow: true, // will always show the root menu
-  //   name: 'Permission',
-  //   meta: {
-  //     title: 'Permission',
-  //     icon: 'lock',
-  //     roles: ['admin', 'editor'] // you can set roles in root nav
-  //   },
-  //   children: [
-  //     {
-  //       path: 'page',
-  //       component: () => import('@/views/permission/page'),
-  //       name: 'PagePermission',
-  //       meta: {
-  //         title: 'Page Permission',
-  //         icon: 'icon',
-  //         roles: ['admin'] // or you can only set roles in sub nav
-  //       }
-  //     },
-  //     {
-  //       path: 'directive',
-  //       component: () => import('@/views/permission/directive'),
-  //       name: 'DirectivePermission',
-  //       meta: {
-  //         icon: 'icon',
-  //         title: 'Directive Permission'
 
-  //         // if do not set roles, means: this page does not require permission
-  //       }
-  //     },
-  //     {
-  //       path: 'role',
-  //       component: () => import('@/views/permission/role'),
-  //       name: 'RolePermission',
-  //       meta: {
-  //         title: 'Role Permission',
-  //         icon: 'icon',
-  //         roles: ['admin']
-  //       }
-  //     }
-  //   ]
-  // },
-
-  // {
-  //   path: '/icon',
-  //   component: Layout,
-  //   children: [
-  //     {
-  //       path: 'index',
-  //       component: () => import('@/views/icons/index'),
-  //       name: 'Icons',
-  //       meta: { title: 'Icons', icon: 'icon', noCache: true }
-  //     }
-  //   ]
-  // },
-  /** when your routing map is too long, you can split it into small modules **/
-  // componentsRouter,
-  // chartsRouter,
-  // nestedRouter,
-  // tableRouter,
-
-  // {
-  //   path: '/example',
-  //   component: Layout,
-  //   redirect: '/example/list',
-  //   name: 'Example',
-  //   meta: {
-  //     title: 'Example',
-  //     icon: 'example'
-  //   },
-  //   children: [
-  //     {
-  //       path: 'create',
-  //       component: () => import('@/views/example/create'),
-  //       name: 'CreateArticle',
-  //       meta: { title: 'Create Article', icon: 'edit' }
-  //     },
-  //     {
-  //       path: 'edit/:id(\\d+)',
-  //       component: () => import('@/views/example/edit'),
-  //       name: 'EditArticle',
-  //       meta: { title: 'Edit Article', noCache: true, activeMenu: '/example/list' },
-  //       hidden: true
-  //     },
-  //     {
-  //       path: 'list',
-  //       component: () => import('@/views/example/list'),
-  //       name: 'ArticleList',
-  //       meta: { title: 'Article List', icon: 'list' }
-  //     }
-  //   ]
-  // },
-
-  // {
-  //   path: '/tab',
-  //   component: Layout,
-  //   children: [
-  //     {
-  //       path: 'index',
-  //       component: () => import('@/views/tab/index'),
-  //       name: 'Tab',
-  //       meta: { title: 'Tab', icon: 'tab' }
-  //     }
-  //   ]
-  // },
-
-  // {
-  //   path: '/error',
-  //   component: Layout,
-  //   redirect: 'noRedirect',
-  //   name: 'ErrorPages',
-  //   meta: {
-  //     title: 'Error Pages',
-  //     icon: '404'
-  //   },
-  //   children: [
-  //     {
-  //       path: '401',
-  //       component: () => import('@/views/error-page/401'),
-  //       name: 'Page401',
-  //       meta: { title: '401', noCache: true }
-  //     },
-  //     {
-  //       path: '404',
-  //       component: () => import('@/views/error-page/404'),
-  //       name: 'Page404',
-  //       meta: { title: '404', noCache: true }
-  //     }
-  //   ]
-  // }
-
-  // {
-  //   path: '/error-log',
-  //   component: Layout,
-  //   children: [
-  //     {
-  //       path: 'log',
-  //       component: () => import('@/views/error-log/index'),
-  //       name: 'ErrorLog',
-  //       meta: { title: 'Error Log', icon: 'bug' }
-  //     }
-  //   ]
-  // },
-
-  // {
-  //   path: '/excel',
-  //   component: Layout,
-  //   redirect: '/excel/export-excel',
-  //   name: 'Excel',
-  //   meta: {
-  //     title: 'Excel',
-  //     icon: 'excel'
-  //   },
-  //   children: [
-  //     {
-  //       path: 'export-excel',
-  //       component: () => import('@/views/excel/export-excel'),
-  //       name: 'ExportExcel',
-  //       meta: { title: 'Export Excel' }
-  //     },
-  //     {
-  //       path: 'export-selected-excel',
-  //       component: () => import('@/views/excel/select-excel'),
-  //       name: 'SelectExcel',
-  //       meta: { title: 'Export Selected' }
-  //     },
-  //     {
-  //       path: 'export-merge-header',
-  //       component: () => import('@/views/excel/merge-header'),
-  //       name: 'MergeHeader',
-  //       meta: { title: 'Merge Header' }
-  //     },
-  //     {
-  //       path: 'upload-excel',
-  //       component: () => import('@/views/excel/upload-excel'),
-  //       name: 'UploadExcel',
-  //       meta: { title: 'Upload Excel' }
-  //     }
-  //   ]
-  // },
-
-  // {
-  //   path: '/zip',
-  //   component: Layout,
-  //   redirect: '/zip/download',
-  //   alwaysShow: true,
-  //   name: 'Zip',
-  //   meta: { title: 'Zip', icon: 'zip' },
-  //   children: [
-  //     {
-  //       path: 'download',
-  //       component: () => import('@/views/zip/index'),
-  //       name: 'ExportZip',
-  //       meta: { title: 'Export Zip' }
-  //     }
-  //   ]
-  // },
-
-  // {
-  //   path: '/pdf',
-  //   component: Layout,
-  //   redirect: '/pdf/index',
-  //   children: [
-  //     {
-  //       path: 'index',
-  //       component: () => import('@/views/pdf/index'),
-  //       name: 'PDF',
-  //       meta: { title: 'PDF', icon: 'pdf' }
-  //     }
-  //   ]
-  // },
-  // {
-  //   path: '/pdf/download',
-  //   component: () => import('@/views/pdf/download'),
-  //   hidden: true
-  // },
-
-  // {
-  //   path: '/theme',
-  //   component: Layout,
-  //   children: [
-  //     {
-  //       path: 'index',
-  //       component: () => import('@/views/theme/index'),
-  //       name: 'Theme',
-  //       meta: { title: 'Theme', icon: 'theme' }
-  //     }
-  //   ]
-  // },
-
-  // {
-  //   path: '/clipboard',
-  //   component: Layout,
-  //   children: [
-  //     {
-  //       path: 'index',
-  //       component: () => import('@/views/clipboard/index'),
-  //       name: 'ClipboardDemo',
-  //       meta: { title: 'Clipboard', icon: 'clipboard' }
-  //     }
-  //   ]
-  // },
-
-  // {
-  //   path: 'external-link',
-  //   component: Layout,
-  //   children: [
-  //     {
-  //       path: 'https://github.com/PanJiaChen/vue-element-admin',
-  //       meta: { title: 'External Link', icon: 'link' }
-  //     }
-  //   ]
-  // },
-
-  // 404 page must be placed at the end !!!
-  // { path: '*', redirect: '/404', hidden: true }
 ]
 
 const createRouter = () => new Router({

+ 7 - 2
src/views/syscategory/index.vue

@@ -150,6 +150,7 @@
               <el-input
                 v-model="form.sort"
                 placeholder="排序"
+                type="number"
               />
             </el-form-item>
             <el-form-item label="状态" prop="status">
@@ -227,7 +228,8 @@ export default {
       // 表单校验
       rules: {
         name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
-        status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
+        status: [{ required: true, message: '状态不能为空', trigger: 'blur' }],
+        sort: [{ required: true, message: '排序不能为空', trigger: 'blur' }]
       }
     }
   },
@@ -260,7 +262,7 @@ export default {
         ID: undefined,
         name: undefined,
         img: undefined,
-        sort: undefined,
+        sort: 999,
         status: undefined,
         remark: undefined
       }
@@ -307,6 +309,7 @@ export default {
       const ID = row.id || this.ids
       getSysCategory(ID).then(response => {
         this.form = response.data
+        this.form.status = String(this.form.status)
         this.open = true
         this.title = '修改分类管理'
         this.isEdit = true
@@ -316,6 +319,8 @@ export default {
     submitForm: function() {
       this.$refs['form'].validate(valid => {
         if (valid) {
+          this.form.sort = parseInt(this.form.sort)
+          this.form.status = parseInt(this.form.status)
           if (this.form.id !== undefined) {
             updateSysCategory(this.form).then(response => {
               if (response.code === 200) {

+ 12 - 16
src/views/syscontent/create.vue

@@ -2,7 +2,7 @@
   <BasicLayout>
     <template #wrapper>
       <el-card class="box-card">
-        <el-form ref="form" :model="form" label-width="80px" class="form-container">
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px" class="form-container">
           <el-form-item label="分类" prop="cateId">
             <el-select
               v-model="form.cateId"
@@ -36,14 +36,7 @@
             </el-select>
           </el-form-item>
           <el-form-item label="内容" prop="content">
-            <!-- <el-input
-                v-model="form.content"
-                type="textarea"
-                :rows="2"
-                placeholder="请输入内容"
-              /> -->
             <Tinymce ref="editor" v-model="form.content" :height="400" />
-            <!-- <rict-text v-model="form.content" :height="400" /> -->
           </el-form-item>
           <el-form-item label="备注" prop="remark">
             <el-input
@@ -55,21 +48,18 @@
             <el-input
               v-model="form.sort"
               placeholder="排序"
+              type="number"
             />
           </el-form-item>
           <el-form-item>
             <el-button v-loading="loading" style="margin-left: 10px;" type="success" @click="submitForm">
-              Publish
+              提交
             </el-button>
             <el-button v-loading="loading" type="warning" @click="draftForm">
-              Draft
+              取消
             </el-button>
           </el-form-item>
         </el-form>
-        <!-- <div slot="footer">
-          <el-button type="primary" @click="submitForm">确 定</el-button>
-          <el-button @click="cancel">取 消</el-button>
-        </div> -->
       </el-card>
     </template>
   </BasicLayout>
@@ -96,7 +86,9 @@ export default {
       loading: false,
       postForm: Object.assign({}, defaultForm),
       // 表单参数
-      form: {},
+      form: {
+        sort: 999
+      },
       statusOptions: [],
       // 关系表类型
       cateIdOptions: [],
@@ -104,7 +96,8 @@ export default {
       rules: {
         cateId: [{ required: true, message: '分类id不能为空', trigger: 'blur' }],
         name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
-        status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
+        status: [{ required: true, message: '状态不能为空', trigger: 'blur' }],
+        sort: [{ required: true, message: '排序不能为空', trigger: 'blur' }]
       }
     }
   },
@@ -128,6 +121,9 @@ export default {
       console.log(this.form)
       this.$refs['form'].validate(valid => {
         if (valid) {
+          this.form.cateId = parseInt(this.form.cateId)
+          this.form.status = parseInt(this.form.status)
+          this.form.sort = parseInt(this.form.sort)
           addSysContent(this.form).then(response => {
             if (response.code === 200) {
               this.msgSuccess('新增成功')

+ 12 - 19
src/views/syscontent/edit.vue

@@ -2,7 +2,7 @@
   <BasicLayout>
     <template #wrapper>
       <el-card class="box-card">
-        <el-form ref="form" :model="form" label-width="80px" class="form-container">
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px" class="form-container">
           <el-form-item label="分类" prop="cateId">
             <el-select
               v-model="form.cateId"
@@ -36,14 +36,7 @@
             </el-select>
           </el-form-item>
           <el-form-item label="内容" prop="content">
-            <!-- <el-input
-                v-model="form.content"
-                type="textarea"
-                :rows="2"
-                placeholder="请输入内容"
-              /> -->
             <Tinymce ref="editor" v-model="form.content" :height="400" />
-            <!-- <rict-text v-model="form.content" :height="400" /> -->
           </el-form-item>
           <el-form-item label="备注" prop="remark">
             <el-input
@@ -59,17 +52,13 @@
           </el-form-item>
           <el-form-item>
             <el-button v-loading="loading" style="margin-left: 10px;" type="success" @click="submitForm">
-              保存
+              保 
             </el-button>
             <el-button v-loading="loading" type="warning" @click="draftForm">
-              Draft
+              取 消
             </el-button>
           </el-form-item>
         </el-form>
-        <!-- <div slot="footer">
-          <el-button type="primary" @click="submitForm">确 定</el-button>
-          <el-button @click="cancel">取 消</el-button>
-        </div> -->
       </el-card>
     </template>
   </BasicLayout>
@@ -79,16 +68,13 @@
 import { getSysContent, updateSysContent } from '@/api/syscontent'
 import { listSysCategory } from '@/api/syscategory'
 
-// import FileChoose from '@/components/FileChoose'
 import Tinymce from '@/components/Tinymce'
-// import RictText from '@/components/richtext'
 const defaultForm = {
   status: 'draft'
 }
 export default {
   name: 'CreateArticle',
   components: {
-    // FileChoose,
     Tinymce
   },
   data() {
@@ -102,9 +88,10 @@ export default {
       cateIdOptions: [],
       // 表单校验
       rules: {
-        cateId: [{ required: true, message: '分类id不能为空', trigger: 'blur' }],
+        cateId: [{ required: true, message: '分类必选', trigger: 'blur' }],
         name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
-        status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
+        status: [{ required: true, message: '状态不能为空', trigger: 'blur' }],
+        sort: [{ required: true, message: '排序不能为空', trigger: 'blur' }]
       }
     }
   },
@@ -112,6 +99,9 @@ export default {
     const id = this.$route.params && this.$route.params.id
     getSysContent(id).then(response => {
       this.form = response.data
+      this.form.cateId = String(this.form.cateId)
+      this.form.status = String(this.form.status)
+      this.form.sort = String(this.form.sort)
     })
     this.getSysCategoryItems()
     this.getDicts('sys_content_status').then(response => {
@@ -132,6 +122,9 @@ export default {
       console.log(this.form)
       this.$refs['form'].validate(valid => {
         if (valid) {
+          this.form.cateId = parseInt(this.form.cateId)
+          this.form.status = parseInt(this.form.status)
+          this.form.sort = parseInt(this.form.sort)
           updateSysContent(this.form).then(response => {
             if (response.code === 200) {
               this.msgSuccess('修改成功')

+ 0 - 8
src/views/syscontent/index.vue

@@ -184,14 +184,6 @@ export default {
         cateId: undefined,
         name: undefined,
         status: undefined
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-        cateId: [{ required: true, message: '分类id不能为空', trigger: 'blur' }],
-        name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
-        status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
       }
     }
   },