<template>
<CollapseContainer title="安全设置" :canExpan="false">
<List>
<template v-for="item in list" :key="item.key">
<ListItem>
<ListItemMeta>
<template #title>
{{ item.title }}
<div class="extra" v-if="item.extra" @click="extraClick(item.key)">
{{ item.extra }}
</div>
</template>
<template #description>
<div>{{ item.description }} </div>
</template>
</ListItemMeta>
</ListItem>
</template>
</List>
</CollapseContainer>
<UpdatePassword ref="updatePasswordRef" />
</template>
<script lang="ts">
import { List } from 'ant-design-vue';
import { defineComponent, ref } from 'vue';
import { CollapseContainer } from '/@/components/Container/index';
import { secureSettingList } from './data';
import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
import { useUserStore } from '/@/store/modules/user';
import { useMessage } from '/@/hooks/web/useMessage';
export default defineComponent({
components: {
CollapseContainer,
List,
ListItem: List.Item,
ListItemMeta: List.Item.Meta,
UpdatePassword: createAsyncComponent(() => import('/@/layouts/default/header/components/user-dropdown/UpdatePassword.vue')),
},
setup() {
const { createMessage } = useMessage();
const userStore = useUserStore();
const updatePasswordRef = ref();
function extraClick(key) {
if (key == '1') {
updatePasswordRef.value.show(userStore.getUserInfo.username);
} else {
createMessage.warning('暂不支持');
}
}
return {
updatePasswordRef,
extraClick,
list: secureSettingList,
};
},
});
</script>
<style lang="less" scoped>
.extra {
float: right;
margin-top: 10px;
margin-right: 30px;
font-weight: normal;
color: #1890ff;
cursor: pointer;
}
</style>