Commit 3f575aaf7796b40a97ab92f30b11cb764974ab1a
1 parent
44c5b7bb
debug
Showing
4 changed files
with
41 additions
and
30 deletions
README.md
| @@ -29,9 +29,16 @@ cnlive-community-web-vue 中国网+智慧社区平台 | @@ -29,9 +29,16 @@ cnlive-community-web-vue 中国网+智慧社区平台 | ||
| 29 | + test.community.api.cnlive.com | 29 | + test.community.api.cnlive.com |
| 30 | + test.community.web.cnlive.com | 30 | + test.community.web.cnlive.com |
| 31 | 31 | ||
| 32 | -## 测试账号(超管) | ||
| 33 | - * 账号 123 | ||
| 34 | - * 密码 cmnt123 | 32 | +## 测试账号 |
| 33 | + * 超级管理员 | ||
| 34 | + * 账号 123 | ||
| 35 | + * 密码 cmnt123 | ||
| 36 | + * 物业管理员 | ||
| 37 | + * 账号 15810787172 | ||
| 38 | + * 密码 15810787172 | ||
| 39 | + * 商务管理员 | ||
| 40 | + * 账号 15810787171 | ||
| 41 | + * 密码 15810787171 | ||
| 35 | 42 | ||
| 36 | ## 发布方式 | 43 | ## 发布方式 |
| 37 | + 服务器地址:120.92.119.11 | 44 | + 服务器地址:120.92.119.11 |
src/views/permission/edit.vue
| @@ -36,6 +36,13 @@ const rules = reactive({ | @@ -36,6 +36,13 @@ const rules = reactive({ | ||
| 36 | trigger: "change", | 36 | trigger: "change", |
| 37 | }, | 37 | }, |
| 38 | ], | 38 | ], |
| 39 | + type: [ | ||
| 40 | + { | ||
| 41 | + required: true, | ||
| 42 | + message: "请选择权限类型", | ||
| 43 | + trigger: "change", | ||
| 44 | + }, | ||
| 45 | + ], | ||
| 39 | }); | 46 | }); |
| 40 | /** | 47 | /** |
| 41 | * 数字输入框,值改变,排序值赋给表单数据中priority | 48 | * 数字输入框,值改变,排序值赋给表单数据中priority |
| @@ -80,14 +87,14 @@ onMounted(() => { | @@ -80,14 +87,14 @@ onMounted(() => { | ||
| 80 | form.dataType = useRoute().query.dataType; | 87 | form.dataType = useRoute().query.dataType; |
| 81 | if (form.dataType === "add") { | 88 | if (form.dataType === "add") { |
| 82 | form.data.parentId = useRoute().query.id; | 89 | form.data.parentId = useRoute().query.id; |
| 83 | - if(useRoute().query.type.toString() === '1') { | ||
| 84 | - form.data.type = '2' | 90 | + if (useRoute().query.type.toString() === "1") { |
| 91 | + form.data.type = "2"; | ||
| 85 | } | 92 | } |
| 86 | } else { | 93 | } else { |
| 87 | Object.keys(form.data).map((key) => { | 94 | Object.keys(form.data).map((key) => { |
| 88 | form.data[key] = useRoute().query[key]; | 95 | form.data[key] = useRoute().query[key]; |
| 89 | }); | 96 | }); |
| 90 | - form.data.type = form.data.type? form.data.type.toString(): '' | 97 | + form.data.type = form.data.type ? form.data.type.toString() : ""; |
| 91 | } | 98 | } |
| 92 | }); | 99 | }); |
| 93 | </script> | 100 | </script> |
| @@ -116,22 +123,22 @@ onMounted(() => { | @@ -116,22 +123,22 @@ onMounted(() => { | ||
| 116 | <el-form-item label="权限名称" prop="name" style="width: 100%"> | 123 | <el-form-item label="权限名称" prop="name" style="width: 100%"> |
| 117 | <el-input | 124 | <el-input |
| 118 | v-model.trim="form.data.name" | 125 | v-model.trim="form.data.name" |
| 119 | - placeholder="请填写角色名称" | 126 | + placeholder="请填写权限名称" |
| 120 | maxlength="15" | 127 | maxlength="15" |
| 121 | /> | 128 | /> |
| 122 | </el-form-item> | 129 | </el-form-item> |
| 123 | - <el-form-item label="关键字" prop="keyword" style="width: 50%"> | 130 | + <el-form-item label="关键字" prop="keyword" style="width: 100%"> |
| 124 | <el-input | 131 | <el-input |
| 125 | v-model.trim="form.data.keyword" | 132 | v-model.trim="form.data.keyword" |
| 126 | placeholder="请填写关键字" | 133 | placeholder="请填写关键字" |
| 127 | - maxlength="20" | 134 | + maxlength="200" |
| 128 | /> | 135 | /> |
| 129 | </el-form-item> | 136 | </el-form-item> |
| 130 | - <el-form-item label="路径" prop="url" style="width: 50%"> | 137 | + <el-form-item label="路径" prop="url" style="width: 100%"> |
| 131 | <el-input | 138 | <el-input |
| 132 | v-model.trim="form.data.url" | 139 | v-model.trim="form.data.url" |
| 133 | placeholder="请填写路径" | 140 | placeholder="请填写路径" |
| 134 | - maxlength="15" | 141 | + maxlength="200" |
| 135 | /> | 142 | /> |
| 136 | </el-form-item> | 143 | </el-form-item> |
| 137 | <el-form-item label="排序" prop="priority" style="width: 100%"> | 144 | <el-form-item label="排序" prop="priority" style="width: 100%"> |
| @@ -148,7 +155,10 @@ onMounted(() => { | @@ -148,7 +155,10 @@ onMounted(() => { | ||
| 148 | <!-- 二级菜单可以创建三级菜单或者按钮 --> | 155 | <!-- 二级菜单可以创建三级菜单或者按钮 --> |
| 149 | <!-- 三级菜单只能创建按钮 --> | 156 | <!-- 三级菜单只能创建按钮 --> |
| 150 | <el-form-item label="权限类型" prop="type" style="width: 100%"> | 157 | <el-form-item label="权限类型" prop="type" style="width: 100%"> |
| 151 | - <el-radio-group v-model="form.data.type" :disabled="form.dataType === 'edit'"> | 158 | + <el-radio-group |
| 159 | + v-model="form.data.type" | ||
| 160 | + :disabled="form.dataType === 'edit'" | ||
| 161 | + > | ||
| 152 | <el-radio label="1" disabled>一级菜单</el-radio> | 162 | <el-radio label="1" disabled>一级菜单</el-radio> |
| 153 | <el-radio label="2" :disabled="useRoute().query.type !== '1'" | 163 | <el-radio label="2" :disabled="useRoute().query.type !== '1'" |
| 154 | >二级菜单</el-radio | 164 | >二级菜单</el-radio |
src/views/role/edit.vue
| @@ -11,7 +11,6 @@ const { | @@ -11,7 +11,6 @@ const { | ||
| 11 | let form = reactive({ | 11 | let form = reactive({ |
| 12 | data: { | 12 | data: { |
| 13 | roleName: "", | 13 | roleName: "", |
| 14 | - code: "", | ||
| 15 | roleDesc: "", | 14 | roleDesc: "", |
| 16 | }, | 15 | }, |
| 17 | dataType: "", | 16 | dataType: "", |
| @@ -28,13 +27,6 @@ const rules = reactive({ | @@ -28,13 +27,6 @@ const rules = reactive({ | ||
| 28 | trigger: "blur", | 27 | trigger: "blur", |
| 29 | }, | 28 | }, |
| 30 | ], | 29 | ], |
| 31 | - code: [ | ||
| 32 | - { | ||
| 33 | - required: true, | ||
| 34 | - message: "请填写角色代码", | ||
| 35 | - trigger: "blur", | ||
| 36 | - }, | ||
| 37 | - ], | ||
| 38 | }); | 30 | }); |
| 39 | /** | 31 | /** |
| 40 | * 表单重置 | 32 | * 表单重置 |
| @@ -103,13 +95,6 @@ onMounted(() => { | @@ -103,13 +95,6 @@ onMounted(() => { | ||
| 103 | maxlength="15" | 95 | maxlength="15" |
| 104 | /> | 96 | /> |
| 105 | </el-form-item> | 97 | </el-form-item> |
| 106 | - <el-form-item label="角色代码" prop="code" style="width: 100%"> | ||
| 107 | - <el-input | ||
| 108 | - v-model.trim="form.data.code" | ||
| 109 | - placeholder="请填写角色代码" | ||
| 110 | - maxlength="15" | ||
| 111 | - /> | ||
| 112 | - </el-form-item> | ||
| 113 | <el-form-item style="width: 100%"> | 98 | <el-form-item style="width: 100%"> |
| 114 | <el-button type="primary" @click="submitForm(ruleFormRef)" | 99 | <el-button type="primary" @click="submitForm(ruleFormRef)" |
| 115 | >提交</el-button | 100 | >提交</el-button |
src/views/user/index.vue
| @@ -116,7 +116,7 @@ const handleUpdate = async (obj: any, type: string) => { | @@ -116,7 +116,7 @@ const handleUpdate = async (obj: any, type: string) => { | ||
| 116 | res = await userPwd({ | 116 | res = await userPwd({ |
| 117 | userId: obj.id, | 117 | userId: obj.id, |
| 118 | }); | 118 | }); |
| 119 | - } | 119 | + } |
| 120 | if (res?.data) { | 120 | if (res?.data) { |
| 121 | ElMessage({ | 121 | ElMessage({ |
| 122 | type: "success", | 122 | type: "success", |
| @@ -190,7 +190,7 @@ onMounted(() => { | @@ -190,7 +190,7 @@ onMounted(() => { | ||
| 190 | </el-table-column> | 190 | </el-table-column> |
| 191 | <el-table-column prop="roleList" label="角色" align="center"> | 191 | <el-table-column prop="roleList" label="角色" align="center"> |
| 192 | <template #default="scope"> | 192 | <template #default="scope"> |
| 193 | - {{scope.row.roleList.map(i => i.roleName).join(',')}} | 193 | + {{ scope.row.roleList.map((i) => i.roleName).join(",") }} |
| 194 | </template> | 194 | </template> |
| 195 | </el-table-column> | 195 | </el-table-column> |
| 196 | <el-table-column prop="createTime" label="注册时间" align="center"> | 196 | <el-table-column prop="createTime" label="注册时间" align="center"> |
| @@ -222,7 +222,16 @@ onMounted(() => { | @@ -222,7 +222,16 @@ onMounted(() => { | ||
| 222 | >角色</router-link | 222 | >角色</router-link |
| 223 | ></el-button | 223 | ></el-button |
| 224 | > | 224 | > |
| 225 | - <el-button type="text" @click="handleDelete(scope.row)" | 225 | + <!-- 用户:商务管理员、机构管理员,不允许删除。 --> |
| 226 | + <el-button | ||
| 227 | + type="text" | ||
| 228 | + @click="handleDelete(scope.row)" | ||
| 229 | + v-show=" | ||
| 230 | + ![ | ||
| 231 | + 'SUPER_ADMIN', | ||
| 232 | + 'BUSINESS_ADMIN', | ||
| 233 | + ].includes(scope.row.roleList.map(i => i.code).join(',')) | ||
| 234 | + " | ||
| 226 | >删除</el-button | 235 | >删除</el-button |
| 227 | > | 236 | > |
| 228 | </template> | 237 | </template> |