Files
guoju0808/ry-vue3/src/views/leader/Account.vue
T
郭庆泰 cf5790229a refactor: 合并 biz_support_unit/biz_execution_unit/biz_service_org 为 biz_org, 删除 2 张孤儿表, 改 biz_person.work_unit → org_id FK
主要改动:
- SQL: biz_support_unit → biz_org, 加 org_type, 加 business_nature; 删 biz_execution_unit, biz_service_org
- SQL: biz_project.support_unit_id/name + service_org_id/name → org_id/name/type
- SQL: biz_meeting.support_unit_name → org_name
- SQL: biz_person.work_unit → org_id (FK)
- 后端: 新 BizOrg entity/mapper/service/controller
- 后端: BizProject/BizMeeting 字段重命名
- 后端: 删 12 个 BizSupportUnit/BizExecutionUnit/BizServiceOrg Java 文件
- 后端: BizPersonImportVO.workUnit → orgName (导入时查 biz_org 取 org_id)
- 后端: BizAuthController.registerExecutor 完整实现 (原 registerSupplier stub)
- 前端: 新 admin/Orgs.vue + manager/Orgs.vue (原 SupportUnits)
- 前端: RegisterExecutor.vue (原 RegisterSupplier, 单页 2 步)
- 前端: sponsor/executor/manager 多个文件 workUnit → orgId/orgName 重命名
- 前端: 统一 supplier → executor, 业务命名 sponsor(赞助方) / executor(执行方=供应商)
- 前端: 全工程 execution → executor (company type / role / person unit_type)
2026-08-15 12:41:10 +08:00

80 lines
2.7 KiB
Vue

<template>
<!--
原型: 账号信息.html
SIDEBAR: ['项目列表', '人员管理', '会议管理']
列头 (top 285-335, left): 姓名
说明: 项目主管的个人账号信息页, 含手机号/修改密码
-->
<div class="leader-account">
<p class="page-sub">查看与维护您的账号信息</p>
<div class="page-card">
<el-form :model="form" label-width="120px" style="max-width:560px">
<el-form-item label="账号">
<el-input :model-value="store.user?.userName" disabled />
</el-form-item>
<el-form-item label="姓名">
<el-input :model-value="store.user?.nickName || store.user?.userName" disabled />
</el-form-item>
<el-form-item label="角色">
<el-input :model-value="roleLabel" disabled />
</el-form-item>
<el-form-item label="手机号">
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
<el-divider>修改密码</el-divider>
<el-form-item label="原密码">
<el-input v-model="form.oldPwd" type="password" show-password placeholder="请输入原密码" />
</el-form-item>
<el-form-item label="新密码">
<el-input v-model="form.newPwd" type="password" show-password placeholder="请输入新密码" />
</el-form-item>
<el-form-item label="确认密码">
<el-input v-model="form.confirmPwd" type="password" show-password placeholder="请再次输入新密码" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSave">保存</el-button>
<el-button @click="onCancel">取消</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script setup>
import { reactive, computed } from 'vue'
import { useUserStore } from '@/store/user'
import { ElMessage } from 'element-plus'
const store = useUserStore()
const roleLabel = computed(() => {
const r = store.user?.role
if (r === 'leader') return '项目主管'
if (r === 'sponsor') return '支持方'
if (r === 'expert') return '专家'
if (r === 'executor') return '执行方'
return r || '-'
})
const form = reactive({
phone: store.user?.phonenumber || '',
oldPwd: '', newPwd: '', confirmPwd: ''
})
function onSave() {
if (form.newPwd && form.newPwd !== form.confirmPwd) {
ElMessage.error('两次输入密码不一致'); return
}
ElMessage.success('已保存')
}
function onCancel() { form.oldPwd = ''; form.newPwd = ''; form.confirmPwd = '' }
</script>
<style scoped>
.leader-account { padding: 16px; }
.page-sub { font-size: 13px; color: #909399; margin-bottom: 16px; }
.page-card { background: #fff; border-radius: 4px; padding: 24px; border: 1px solid #ebeef5; }
</style>