Przeglądaj źródła

Merge branch 'luckly_dev' into leng_dev

# Conflicts:
#	src/views/admin/role/index.vue
冷冷 5 lat temu
rodzic
commit
0975063cd8

+ 19 - 28
src/const/crud/admin/role.js

@@ -14,6 +14,7 @@
  * this software without specific prior written permission.
  * Author: lengleng (wangiegie@gmail.com)
  */
+import { rule } from "@/util/validateRules";
 export const tableOption = {
   border: true,
   index: true,
@@ -29,52 +30,42 @@ export const tableOption = {
     label: '角色名称',
     prop: 'roleName',
     span: 24,
-    rules: [{
-      required: true,
-      message: '角色名称不能为空',
-      trigger: 'blur'
-    },
-    {
-      min: 3,
-      max: 20,
-      message: '长度在 3 到 20 个字符',
-      trigger: 'blur'
-    }]
+    rules: [
+      { required: true, message: '角色名称不能为空', trigger: 'blur' },
+      { min: 3, max: 20, message: '长度在 3 到 20 个字符', trigger: 'blur' }
+    ]
   }, {
     width: 120,
     label: '角色标识',
     prop: 'roleCode',
     span: 24,
     editDisabled: true,
-    rules: [{
-      required: true,
-      message: '角色标识不能为空',
-      trigger: 'blur'
-    },
-    {
-      min: 3,
-      max: 20,
-      message: '长度在 3 到 20 个字符',
-      trigger: 'blur'
-    }
+    rules: [
+      { required: true, message: '角色标识不能为空', trigger: 'blur' },
+      { min: 3, max: 20, message: '长度在 3 到 20 个字符', trigger: 'blur'},
+      { validator: rule.validatorKey, trigger: 'blur'}
     ]
   }, {
     width: 150,
     label: '角色描述',
     prop: 'roleDesc',
     overHidden: true,
-    span: 24
+    type: 'textarea',
+    span: 24,
+    row: true,
+    minRows: 2,
+    rules: [
+      { max: 128, message: '长度在 128 个字符内', trigger: 'blur' }
+    ]
   }, {
     width: 180,
     label: '数据权限',
     prop: 'dsType',
     type: 'select',
     span: 24,
-    rules: [{
-      required: true,
-      message: '请选择数据权限类型',
-      trigger: 'blur'
-    }],
+    rules: [
+      { required: true, message: '请选择数据权限类型', trigger: 'blur'}
+    ],
     dicData: [{
       label: '全部',
       value: 0

+ 1 - 0
src/const/crud/admin/sys-social-details.js

@@ -23,6 +23,7 @@ export const tableOption = {
   menuAlign: 'center',
   align: 'center',
   viewBtn: true,
+  labelWidth: 120,
   column: [{
     label: 'ID',
     prop: 'id',

+ 4 - 5
src/const/crud/admin/tenant.js

@@ -35,11 +35,10 @@ export const tableOption = {
       label: '租户名称',
       prop: 'name',
       search: true,
-      rules: [{
-        required: true,
-        message: '请输入租户名称',
-        trigger: 'blur'
-      }]
+      rules: [
+        { required: true, message: '请输入租户名称', trigger: 'blur'},
+        { min: 3, max: 32, message: '长度在 3 到 32 个字符', trigger: 'blur'}
+      ]
     },
     {
       label: '租户编号',

+ 24 - 4
src/const/crud/gen/gen.js

@@ -126,20 +126,40 @@ export const tableDsOption = {
     },
     {
       label: '名称',
-      prop: 'name'
+      prop: 'name',
+      rules: [
+        { required: true, message: '请输入名称', trigger: 'blur' },
+        { max: 32, message: '长度在 32 个字符', trigger: 'blur' }
+      ]
     },
     {
       label: 'jdbcUrl',
       prop: 'url',
-      overHidden: true
+      type: 'textarea',
+      span: 24,
+      row: true,
+      minRows: 2,
+      overHidden: true,
+      rules: [
+        { required: true, message: '请输入jdbcUrl', trigger: 'blur' },
+        { max: 128, message: '长度在 128 个字符内', trigger: 'blur' }
+      ]
     },
     {
       label: '用户名',
-      prop: 'username'
+      prop: 'username',
+      rules: [
+        { required: true, message: '请输入用户名', trigger: 'blur' },
+        { max: 32, message: '长度在 32 个字符', trigger: 'blur' }
+      ]
     },
     {
       label: '密码',
-      prop: 'password'
+      prop: 'password',
+      rules: [
+        { required: true, message: '请输入密码', trigger: 'blur' },
+        { max: 32, message: '长度在 32 个字符', trigger: 'blur' }
+      ]
     },
     {
       label: '创建时间',

+ 2 - 1
src/views/admin/dept/index.vue

@@ -153,7 +153,8 @@ export default {
           { required: true, message: '请输入节点编号', trigger: 'blur' }
         ],
         name: [
-          { required: true, message: '请输入部门名称', trigger: 'blur' }
+          { required: true, message: '请输入部门名称', trigger: 'blur' },
+          { min: 3, max: 32, message: '长度在 3 到 32 个字符', trigger: 'blur'}
         ],
         sort: [
           { required: true, message: '请输入排序值', trigger: 'blur' }

+ 117 - 79
src/views/admin/role/index.vue

@@ -18,83 +18,100 @@
 <template>
   <div class="app-container calendar-list-container">
     <basic-container>
-      <avue-crud ref="crud"
-                 :option="tableOption"
-                 :data="list"
-                 :page="page"
-                 v-model="form"
-                 :table-loading="listLoading"
-                 :before-open="handleOpenBefore"
-                 @on-load="getList"
-                 @search-change="handleFilter"
-                 @refresh-change="handleRefreshChange"
-                 @row-update="update"
-                 @row-save="create">
+      <avue-crud
+        ref="crud"
+        :option="tableOption"
+        :data="list"
+        :page="page"
+        v-model="form"
+        :table-loading="listLoading"
+        :before-open="handleOpenBefore"
+        @on-load="getList"
+        @search-change="handleFilter"
+        @refresh-change="handleRefreshChange"
+        @row-update="update"
+        @row-save="create">
 
         <template slot="menuLeft">
-          <el-button v-if="roleManager_btn_add"
-                     class="filter-item"
-                     type="primary"
-                     icon="el-icon-edit"
-                     @click="handleCreate">添加
+          <el-button
+            v-if="roleManager_btn_add"
+            class="filter-item"
+            type="primary"
+            icon="el-icon-edit"
+            @click="handleCreate">添加
           </el-button>
         </template>
-        <template slot="dsScopeForm"
-                  slot-scope="scope">
+        <template slot="dsScopeForm" slot-scope="scope">
           <div v-if="form.dsType == 1">
-            <el-tree ref="scopeTree"
-                     :data="dsScopeData"
-                     :check-strictly="true"
-                     :props="defaultProps"
-                     :default-checked-keys="checkedDsScope"
-                     class="filter-tree"
-                     node-key="id"
-                     highlight-current
-                     show-checkbox />
+            <el-tree
+              ref="scopeTree"
+              :data="dsScopeData"
+              :check-strictly="true"
+              :props="defaultProps"
+              :default-checked-keys="checkedDsScope"
+              class="filter-tree"
+              node-key="id"
+              highlight-current
+              show-checkbox/>
           </div>
         </template>
 
-        <template slot="menu"
-                  slot-scope="scope">
-          <el-button v-if="roleManager_btn_edit"
-                     type="text"
-                     size="mini"
-                     icon="el-icon-edit"
-                     @click="handleUpdate(scope.row,scope.index)">编辑
+        <template
+          slot="menu"
+          slot-scope="scope">
+          <el-button
+            v-if="roleManager_btn_edit"
+            type="text"
+            size="mini"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row,scope.index)">编辑
           </el-button>
-          <el-button v-if="roleManager_btn_del"
-                     type="text"
-                     size="mini"
-                     icon="el-icon-delete"
-                     @click="handleDelete(scope.row,scope.index)">删除
+          <el-button
+            v-if="roleManager_btn_del"
+            type="text"
+            size="mini"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row,scope.index)">删除
           </el-button>
-          <el-button v-if="roleManager_btn_perm"
-                     type="text"
-                     size="mini"
-                     icon="el-icon-plus"
-                     @click="handlePermission(scope.row,scope.index)">权限
+          <el-button
+            v-if="roleManager_btn_perm"
+            type="text"
+            size="mini"
+            icon="el-icon-plus"
+            @click="handlePermission(scope.row,scope.index)">权限
           </el-button>
         </template>
       </avue-crud>
     </basic-container>
-    <el-dialog :visible.sync="dialogPermissionVisible"
-               title="分配权限">
-      <el-tree ref="menuTree"
-               :data="treeData"
-               :default-checked-keys="checkedKeys"
-               :check-strictly="false"
-               :props="defaultProps"
-               :filter-node-method="filterNode"
-               class="filter-tree"
-               node-key="id"
-               highlight-current
-               show-checkbox
-               default-expand-all />
+    <el-dialog
+      :visible.sync="dialogPermissionVisible"
+      :close-on-click-modal="false"
+      title="分配权限">
+      <div class="dialog-main-tree">
+      <el-tree
+        ref="menuTree"
+        :data="treeData"
+        :default-checked-keys="checkedKeys"
+        :check-strictly="false"
+        :props="defaultProps"
+        :filter-node-method="filterNode"
+        class="filter-tree"
+        node-key="id"
+        highlight-current
+        show-checkbox
+        default-expand-all/>
+      </div>
       <div slot="footer"
-           class="dialog-footer">
-        <el-button type="primary"
-                   @click="updatePermession(roleId)">更 新
+        class="dialog-footer">
+        <el-button
+          type="primary"
+                   size="small"
+          @click="updatePermession(roleId)">更 新
         </el-button>
+        <el-button
+	        type="default"
+                   size="small"
+          @click="cancal()">取消</el-button>
       </div>
     </el-dialog>
   </div>
@@ -109,7 +126,7 @@ import { mapGetters } from 'vuex'
 
 export default {
   name: 'TableRole',
-  data () {
+  data() {
     return {
       searchForm: {},
       tableOption: tableOption,
@@ -140,7 +157,7 @@ export default {
       roleManager_btn_perm: false
     }
   },
-  created () {
+  created() {
     this.roleManager_btn_add = this.permissions['sys_role_add']
     this.roleManager_btn_edit = this.permissions['sys_role_edit']
     this.roleManager_btn_del = this.permissions['sys_role_del']
@@ -150,7 +167,7 @@ export default {
     ...mapGetters(['elements', 'permissions'])
   },
   methods: {
-    getList (page, params) {
+    getList(page, params) {
       this.listLoading = true
       fetchList(Object.assign({
         current: page.currentPage,
@@ -163,17 +180,17 @@ export default {
         this.listLoading = false
       })
     },
-    handleRefreshChange () {
+    handleRefreshChange() {
       this.getList(this.page)
     },
-    handleFilter (form) {
+    handleFilter(form) {
       this.searchForm = form
       this.getList(this.page, form)
     },
-    handleCreate () {
+    handleCreate() {
       this.$refs.crud.rowAdd()
     },
-    handleOpenBefore (show) {
+    handleOpenBefore(show) {
       fetchTree().then(response => {
         this.dsScopeData = response.data.data
         if (this.form.dsScope) {
@@ -184,10 +201,13 @@ export default {
       })
       show()
     },
-    handleUpdate (row, index) {
+    handleUpdate(row, index) {
       this.$refs.crud.rowEdit(row, index)
     },
-    handlePermission (row) {
+      cancal () {
+        this.dialogPermissionVisible = false;
+      },
+    handlePermission(row) {
       fetchRoleTree(row.roleId)
         .then(response => {
           this.checkedKeys = response.data.data
@@ -209,7 +229,7 @@ export default {
        * @param temp 临时存放节点id的数组
        * @return 太监节点id数组
        */
-    resolveAllEunuchNodeId (json, idArr, temp) {
+    resolveAllEunuchNodeId(json, idArr, temp) {
       for (let i = 0; i < json.length; i++) {
         const item = json[i]
         // 存在子节点,递归遍历;不存在子节点,将json的id添加到临时数组中
@@ -221,27 +241,27 @@ export default {
       }
       return temp
     },
-    filterNode (value, data) {
+    filterNode(value, data) {
       if (!value) return true
       return data.label.indexOf(value) !== -1
     },
-    getNodeData (data, done) {
+    getNodeData(data, done) {
       done()
     },
-    handleDelete (row, index) {
+    handleDelete(row, index) {
       var _this = this
       this.$confirm('是否确认删除名称为"' + row.roleName + '"' + '"的数据项?', '警告', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
-      }).then(function () {
+      }).then(function() {
         return delObj(row.roleId)
       }).then(() => {
         this.getList(this.page)
         this.$notify.success('删除成功')
       })
     },
-    create (row, done, loading) {
+    create(row, done, loading) {
       if (this.form.dsType === 1) {
         this.form.dsScope = this.$refs.scopeTree.getCheckedKeys().join(',')
       }
@@ -253,7 +273,7 @@ export default {
         loading()
       })
     },
-    update (row, index, done, loading) {
+    update(row, index, done, loading) {
       if (this.form.dsType === 1) {
         this.form.dsScope = this.$refs.scopeTree.getCheckedKeys().join(',')
       }
@@ -265,15 +285,33 @@ export default {
         loading()
       })
     },
-    updatePermession (roleId) {
+    updatePermession(roleId) {
       this.menuIds = ''
       this.menuIds = this.$refs.menuTree.getCheckedKeys().join(',').concat(',').concat(this.$refs.menuTree.getHalfCheckedKeys().join(','))
       permissionUpd(roleId, this.menuIds).then(() => {
         this.dialogPermissionVisible = false
-        this.$store.dispatch('GetMenu', false)
         this.$notify.success('修改成功')
       })
     }
   }
 }
 </script>
+
+<style lang="scss" scoped>
+  .el-dialog__wrapper {
+  .el-dialog {
+    width: 61% !important;
+  .dialog-main-tree {
+    max-height: 400px;
+    overflow-y: auto;
+  }
+  }
+  .el-form-item__label {
+    width: 20% !important;
+    padding-right: 20px;
+  }
+  .el-form-item__content {
+    margin-left: 20% !important;
+  }
+  }
+</style>

+ 3 - 1
src/views/gen/index.vue

@@ -167,7 +167,7 @@
       },
       openBatch() {
         if (this.$refs.crud.tableSelect.length <= 1 || this.$refs.crud.tableSelect.length > 10) {
-          this.$message.error('选中表数量不合法,数量最多10个')
+          this.$message.error('选中表数量不合法,数量最少2个或最10个')
           return false
         }
         let tableName = []
@@ -182,6 +182,8 @@
         handleDown(this.formBatchData).then(() => {
           done()
           this.boxBatch = false
+        }).catch(()=>{
+          done()
         })
       }
     }