Commit 3f575aaf7796b40a97ab92f30b11cb764974ab1a

Authored by 杨泽宇
1 parent 44c5b7bb

debug

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(() =&gt; { @@ -116,22 +123,22 @@ onMounted(() =&gt; {
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(() =&gt; { @@ -148,7 +155,10 @@ onMounted(() =&gt; {
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(() =&gt; { @@ -103,13 +95,6 @@ onMounted(() =&gt; {
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) =&gt; { @@ -116,7 +116,7 @@ const handleUpdate = async (obj: any, type: string) =&gt; {
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(() =&gt; { @@ -190,7 +190,7 @@ onMounted(() =&gt; {
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(() =&gt; { @@ -222,7 +222,16 @@ onMounted(() =&gt; {
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>