用户状态修改

main
ysn 3 days ago
parent 6ebb25b973
commit 802d4a5462
  1. 7
      src/api/login.js
  2. 2
      src/api/user.js
  3. 61
      src/layout/components/Navbar.vue

@ -29,6 +29,13 @@ export function getInfo(data) {
data: data data: data
}) })
} }
export function postUserStateUpdate(data) {
return request({
url: '/users/ops/state/update',
method: 'post',
data
})
}
// 解锁屏幕 // 解锁屏幕
export function unlockScreen(password) { export function unlockScreen(password) {

@ -50,7 +50,7 @@ export function updateAvatar(data) {
export function updateUserState(data) { export function updateUserState(data) {
return request({ return request({
url: '/api/v1/users/ops/state/update', url: '/users/ops/state/update',
method: 'post', method: 'post',
data data
}) })

@ -44,7 +44,6 @@
</el-tooltip> </el-tooltip>
</template> --> </template> -->
<el-dropdown <el-dropdown
class="avatar-container right-menu-item hover-effect" class="avatar-container right-menu-item hover-effect"
trigger="hover" trigger="hover"
@ -54,18 +53,6 @@
<span class="user-nickname"> <span class="user-nickname">
{{ userInfo.name }} {{ userInfo.name }}
</span> </span>
<span class="user-nickname">
<el-link type="primary" :underline="false">
<img :src="config.MINIO_ENDPOINT_HTTPS + userInfo.state_img" />
{{ userInfo.state }}
</el-link>
</span>
<span class="user-nickname" v-if="userInfo.group">
所属单位
<el-link type="primary" :underline="false">
{{ userInfo.group }}
</el-link>
</span>
</div> </div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<router-link to="/user/profile"> <router-link to="/user/profile">
@ -104,6 +91,39 @@
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-dropdown
class="avatar-container right-menu-item hover-effect"
trigger="hover"
>
<div class="avatar-wrapper">
<span class="user-nickname">
<el-link type="primary" :underline="false">
<img :src="config.MINIO_ENDPOINT_HTTPS + userInfo.state_img" />
{{ userInfo.state }}
</el-link>
</span>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-for="item in userStateList"
:key="item.id"
@click.native="handleStateChange(item)"
>
<img :src="config.MINIO_ENDPOINT_HTTPS + item.image" />
{{ item.state }}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="avatar-container right-menu-item hover-effect">
<div class="avatar-wrapper">
<span class="user-nickname" v-if="userInfo.group">
所属单位
<el-link type="primary" :underline="false">
{{ userInfo.group }}
</el-link>
</span>
</div>
</div>
</div> </div>
<!-- 系统设置弹窗 --> <!-- 系统设置弹窗 -->
<SystemSettingDialog ref="systemSettingDialogRef" /> <SystemSettingDialog ref="systemSettingDialogRef" />
@ -127,6 +147,7 @@ import RuoYiDoc from "@/components/RuoYi/Doc";
import HeaderNotice from "./HeaderNotice"; import HeaderNotice from "./HeaderNotice";
import SystemSettingDialog from "./SystemSettingDialog"; import SystemSettingDialog from "./SystemSettingDialog";
import AboutDialog from "./AboutDialog"; import AboutDialog from "./AboutDialog";
import { postUserStateUpdate } from "@/api/login";
export default { export default {
components: { components: {
@ -222,6 +243,20 @@ export default {
}) })
.catch(() => {}); .catch(() => {});
}, },
handleStateChange(item) {
postUserStateUpdate({
state: item.state,
state_id: item.id,
state_img: item.image,
})
.then(() => {
this.$message.success("状态修改成功");
this.$store.dispatch("GetInfo");
})
.catch(() => {
this.$message.error("状态修改失败");
});
},
}, },
}; };
</script> </script>

Loading…
Cancel
Save