给所有组件添加name属性预防未知bug!!!

This commit is contained in:
puhui999
2023-04-14 21:32:11 +08:00
parent 44c18473d7
commit b93491579c
133 changed files with 1126 additions and 993 deletions

View File

@ -1,5 +1,5 @@
<template>
<Form ref="formRef" :rules="rules" :schema="schema" :labelWidth="80">
<Form ref="formRef" :labelWidth="80" :rules="rules" :schema="schema">
<template #sex="form">
<el-radio-group v-model="form['sex']">
<el-radio :label="1">{{ t('profile.user.man') }}</el-radio>
@ -8,9 +8,9 @@
</template>
</Form>
<XButton :title="t('common.save')" @click="submit()" />
<XButton type="danger" :title="t('common.reset')" @click="init()" />
<XButton :title="t('common.reset')" type="danger" @click="init()" />
</template>
<script setup lang="ts">
<script lang="ts" name="BasicInfo" setup>
import type { FormRules } from 'element-plus'
import { ElMessage } from 'element-plus'

View File

@ -5,41 +5,48 @@
</div>
<ul class="list-group list-group-striped">
<li class="list-group-item">
<Icon icon="ep:user" class="mr-5px" />{{ t('profile.user.username') }}
<Icon class="mr-5px" icon="ep:user" />
{{ t('profile.user.username') }}
<div class="pull-right">{{ userInfo?.username }}</div>
</li>
<li class="list-group-item">
<Icon icon="ep:phone" class="mr-5px" />{{ t('profile.user.mobile') }}
<Icon class="mr-5px" icon="ep:phone" />
{{ t('profile.user.mobile') }}
<div class="pull-right">{{ userInfo?.mobile }}</div>
</li>
<li class="list-group-item">
<Icon icon="fontisto:email" class="mr-5px" />{{ t('profile.user.email') }}
<Icon class="mr-5px" icon="fontisto:email" />
{{ t('profile.user.email') }}
<div class="pull-right">{{ userInfo?.email }}</div>
</li>
<li class="list-group-item">
<Icon icon="carbon:tree-view-alt" class="mr-5px" />{{ t('profile.user.dept') }}
<div class="pull-right" v-if="userInfo?.dept">{{ userInfo?.dept.name }}</div>
<Icon class="mr-5px" icon="carbon:tree-view-alt" />
{{ t('profile.user.dept') }}
<div v-if="userInfo?.dept" class="pull-right">{{ userInfo?.dept.name }}</div>
</li>
<li class="list-group-item">
<Icon icon="ep:suitcase" class="mr-5px" />{{ t('profile.user.posts') }}
<div class="pull-right" v-if="userInfo?.posts">
<Icon class="mr-5px" icon="ep:suitcase" />
{{ t('profile.user.posts') }}
<div v-if="userInfo?.posts" class="pull-right">
{{ userInfo?.posts.map((post) => post.name).join(',') }}
</div>
</li>
<li class="list-group-item">
<Icon icon="icon-park-outline:peoples" class="mr-5px" />{{ t('profile.user.roles') }}
<div class="pull-right" v-if="userInfo?.roles">
<Icon class="mr-5px" icon="icon-park-outline:peoples" />
{{ t('profile.user.roles') }}
<div v-if="userInfo?.roles" class="pull-right">
{{ userInfo?.roles.map((role) => role.name).join(',') }}
</div>
</li>
<li class="list-group-item">
<Icon icon="ep:calendar" class="mr-5px" />{{ t('profile.user.createTime') }}
<Icon class="mr-5px" icon="ep:calendar" />
{{ t('profile.user.createTime') }}
<div class="pull-right">{{ formatDate(userInfo?.createTime) }}</div>
</li>
</ul>
</div>
</template>
<script setup lang="ts">
<script lang="ts" name="ProfileUser" setup>
import { formatDate } from '@/utils/formatTime'
import UserAvatar from './UserAvatar.vue'
@ -62,6 +69,7 @@ onMounted(async () => {
position: relative;
height: 120px;
}
.list-group-striped > .list-group-item {
border-left: 0;
border-right: 0;
@ -82,6 +90,7 @@ onMounted(async () => {
padding: 11px 0px;
font-size: 13px;
}
.pull-right {
float: right !important;
}

View File

@ -10,13 +10,13 @@
<InputPassword v-model="password.confirmPassword" strength />
</el-form-item>
<el-form-item>
<XButton type="primary" @click="submit(formRef)" :title="t('common.save')" />
<XButton type="danger" :title="t('common.reset')" @click="reset(formRef)" />
<XButton :title="t('common.save')" type="primary" @click="submit(formRef)" />
<XButton :title="t('common.reset')" type="danger" @click="reset(formRef)" />
</el-form-item>
</el-form>
</template>
<script setup lang="ts">
import type { FormRules, FormInstance } from 'element-plus'
<script lang="ts" name="ResetPwd" setup>
import type { FormInstance, FormRules } from 'element-plus'
import { InputPassword } from '@/components/InputPassword'
import { updateUserPassword } from '@/api/system/user/profile'

View File

@ -2,17 +2,18 @@
<div class="change-avatar">
<CropperAvatar
ref="cropperRef"
:value="avatar"
:showBtn="false"
@change="handelUpload"
:btnProps="{ preIcon: 'ant-design:cloud-upload-outlined' }"
:showBtn="false"
:value="avatar"
width="120px"
@change="handelUpload"
/>
</div>
</template>
<script setup lang="ts">
<script lang="ts" name="UserAvatar" setup>
import { propTypes } from '@/utils/propTypes'
import { uploadAvatar } from '@/api/system/user/profile'
const props = defineProps({
img: propTypes.string.def('')
})
@ -27,7 +28,7 @@ const handelUpload = async ({ data }) => {
}
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
.change-avatar {
img {
display: block;