refactor(ui): 剩余编辑/新增类表单弹窗统一改为右侧抽屉
承接 CrudTable formMode 默认 drawer,把页面自带的表单弹窗也统一成抽屉(direction=rtl,尺寸沿用原宽度):批量调整职务 780、编辑角色/编辑用户/支付网关配置 600、编辑工单 720、凭证详情分录编辑 900、申请企业邮箱 420、修改邮箱密码 400、编辑/新增联系人 420、申请 Gitea 账号 420、修改 Gitea 密码/一键迁移头像 400/420、修改名字/修改密码 420、邀请成员 460、修改群名 420、创建群聊 520。 保留居中弹窗(非编辑表单):EntityPicker/MultiEntityPicker 选择面板、应用市场安装与应用-职务绑定(内嵌 CrudTable)、AppConfigPage 的同步/复制/移除确认、拒绝入驻申请、审计日志与站内信详情、资产预览、写信与发送消息。 已部署:102 assets 校验一致,入口 /assets/index-xaOjq6Ha.js。
This commit is contained in:
1 parent
f23a7d229f
commit
35d9fb681d
11 files changed
+42
-38
No files matched your search
@@ -384,7 +384,7 @@ watch(visible, (v) => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<el-dialog v-model="visible" :title="dialogTitle" width="780px" destroy-on-close>
|
||||
<el-drawer v-model="visible" :title="dialogTitle" direction="rtl" :size="780" destroy-on-close>
|
||||
<div class="batch-pos-grid">
|
||||
<!-- 目标/员工选择区 -->
|
||||
<div class="batch-pos-panel">
|
||||
@@ -434,7 +434,7 @@ watch(visible, (v) => {
|
||||
批量新增职务
|
||||
</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -265,7 +265,7 @@ const roleList = computed(() => userStore.userInfo?.Roles?.length ? userStore.us
|
||||
</el-card>
|
||||
|
||||
<!-- 修改名字对话框 -->
|
||||
<el-dialog v-model="nameDialogVisible" title="修改名字" width="420px" :close-on-click-modal="false">
|
||||
<el-drawer v-model="nameDialogVisible" title="修改名字" direction="rtl" :size="420" :close-on-click-modal="false">
|
||||
<el-form label-width="80px" @submit.prevent>
|
||||
<el-form-item label="新名字">
|
||||
<el-input
|
||||
@@ -281,10 +281,10 @@ const roleList = computed(() => userStore.userInfo?.Roles?.length ? userStore.us
|
||||
<el-button @click="nameDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="nameSubmitting" @click="submitName">保存</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
|
||||
<!-- 修改密码对话框 -->
|
||||
<el-dialog v-model="pwdDialogVisible" title="修改密码" width="420px" :close-on-click-modal="false">
|
||||
<el-drawer v-model="pwdDialogVisible" title="修改密码" direction="rtl" :size="420" :close-on-click-modal="false">
|
||||
<el-form label-width="80px" @submit.prevent>
|
||||
<el-form-item label="旧密码">
|
||||
<el-input v-model="pwdForm.UserOldPassword" type="password" show-password placeholder="请输入旧密码" />
|
||||
@@ -306,7 +306,7 @@ const roleList = computed(() => userStore.userInfo?.Roles?.length ? userStore.us
|
||||
<el-button @click="pwdDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="pwdSubmitting" @click="submitPassword">确认修改</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -200,10 +200,11 @@ async function changeStatus(next: number, label: string): Promise<void> {
|
||||
</div>
|
||||
|
||||
<!-- 凭证详情/分录编辑弹窗 -->
|
||||
<el-dialog
|
||||
<el-drawer
|
||||
v-model="detailVisible"
|
||||
title="凭证详情"
|
||||
width="900px"
|
||||
direction="rtl"
|
||||
:size="900"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
>
|
||||
@@ -302,7 +303,7 @@ async function changeStatus(next: number, label: string): Promise<void> {
|
||||
</el-button>
|
||||
<el-button @click="detailVisible = false">关闭</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
@@ -182,7 +182,7 @@ async function submitUploadAvatar(): Promise<void> {
|
||||
</div>
|
||||
|
||||
<!-- 申请弹窗 -->
|
||||
<el-dialog v-model="applyVisible" title="申请 Gitea 账号" width="420px">
|
||||
<el-drawer v-model="applyVisible" title="申请 Gitea 账号" direction="rtl" :size="420">
|
||||
<el-form label-width="90px">
|
||||
<el-form-item label="用户名">
|
||||
<el-input v-model="applyForm.GiteaLogin" placeholder="如 zhangsan(3~39 位)" maxlength="39" />
|
||||
@@ -202,10 +202,10 @@ async function submitUploadAvatar(): Promise<void> {
|
||||
<el-button @click="applyVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="applying" @click="submitApply">申请</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
|
||||
<!-- 修改密码弹窗 -->
|
||||
<el-dialog v-model="changePwdVisible" title="修改 Gitea 密码" width="400px">
|
||||
<el-drawer v-model="changePwdVisible" title="修改 Gitea 密码" direction="rtl" :size="400">
|
||||
<el-form label-width="90px">
|
||||
<el-form-item label="新密码">
|
||||
<el-input v-model="changePwdForm.NewPassword" type="password" show-password placeholder="8~64 位,含字母和数字" />
|
||||
@@ -218,10 +218,10 @@ async function submitUploadAvatar(): Promise<void> {
|
||||
<el-button @click="changePwdVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="changingPwd" @click="submitChangePassword">确认修改</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
|
||||
<!-- 头像迁移弹窗 -->
|
||||
<el-dialog v-model="avatarVisible" title="一键迁移 GERP 头像" width="420px">
|
||||
<el-drawer v-model="avatarVisible" title="一键迁移 GERP 头像" direction="rtl" :size="420">
|
||||
<el-form label-width="90px">
|
||||
<el-form-item label="Gitea 密码">
|
||||
<el-input v-model="avatarForm.Password" type="password" show-password placeholder="用于认证您的 Gitea 账号" />
|
||||
@@ -234,7 +234,7 @@ async function submitUploadAvatar(): Promise<void> {
|
||||
<el-button @click="avatarVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="uploadingAvatar" @click="submitUploadAvatar">开始迁移</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -1017,10 +1017,11 @@ function isSelected(id: string): boolean {
|
||||
</div>
|
||||
|
||||
<!-- 申请邮箱弹窗 -->
|
||||
<el-dialog
|
||||
<el-drawer
|
||||
v-model="applyVisible"
|
||||
:title="`申请企业邮箱${mailboxCount ? `(已申请 ${mailboxCount} / 5)` : ''}`"
|
||||
width="420px"
|
||||
direction="rtl"
|
||||
:size="420"
|
||||
>
|
||||
<el-form label-width="80px">
|
||||
<el-form-item label="邮箱名">
|
||||
@@ -1039,7 +1040,7 @@ function isSelected(id: string): boolean {
|
||||
<el-button @click="applyVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitApply">申请</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
|
||||
<!-- 写信弹窗(回复/转发复用) -->
|
||||
<el-dialog v-model="composeVisible" title="写信" width="640px">
|
||||
@@ -1079,7 +1080,7 @@ function isSelected(id: string): boolean {
|
||||
</el-dialog>
|
||||
|
||||
<!-- 改密弹窗 -->
|
||||
<el-dialog v-model="changePwdVisible" title="修改邮箱密码" width="400px">
|
||||
<el-drawer v-model="changePwdVisible" title="修改邮箱密码" direction="rtl" :size="400">
|
||||
<el-form label-width="80px">
|
||||
<el-form-item label="当前密码">
|
||||
<el-input v-model="changePwdForm.OldPassword" type="password" show-password placeholder="请输入当前邮箱密码" />
|
||||
@@ -1095,10 +1096,10 @@ function isSelected(id: string): boolean {
|
||||
<el-button @click="changePwdVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="submitChangePassword">确认修改</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
|
||||
<!-- 联系人新增/编辑弹窗 -->
|
||||
<el-dialog v-model="contactVisible" :title="contactForm.ContactEmail ? '编辑联系人' : '新增联系人'" width="420px">
|
||||
<el-drawer v-model="contactVisible" :title="contactForm.ContactEmail ? '编辑联系人' : '新增联系人'" direction="rtl" :size="420">
|
||||
<el-form label-width="70px">
|
||||
<el-form-item label="姓名">
|
||||
<el-input v-model="contactForm.ContactName" placeholder="联系人姓名(可选)" maxlength="128" />
|
||||
@@ -1111,7 +1112,7 @@ function isSelected(id: string): boolean {
|
||||
<el-button @click="contactVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="contactSaving" @click="saveContact">保存</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -341,10 +341,11 @@ onMounted(() => {
|
||||
</div>
|
||||
|
||||
<!-- 新增/编辑弹窗 -->
|
||||
<el-dialog
|
||||
<el-drawer
|
||||
v-model="editVisible"
|
||||
:title="isEdit ? `编辑 - ${PLATFORM_LABELS[form.Platform] || form.Platform}` : '新增支付网关配置'"
|
||||
width="600px"
|
||||
direction="rtl"
|
||||
:size="600"
|
||||
>
|
||||
<el-form :model="form" label-position="top">
|
||||
<el-form-item label="平台 *">
|
||||
@@ -392,7 +393,7 @@ onMounted(() => {
|
||||
<el-button @click="editVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="saving" @click="saveConfig">保存</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -269,7 +269,7 @@ watch(roleUUID, () => {
|
||||
</template>
|
||||
|
||||
<!-- 编辑弹窗 -->
|
||||
<el-dialog v-model="editDialogVisible" title="编辑角色" width="600px" destroy-on-close>
|
||||
<el-drawer v-model="editDialogVisible" title="编辑角色" direction="rtl" :size="600" destroy-on-close>
|
||||
<el-form :model="editForm" label-width="120px" label-position="right">
|
||||
<el-form-item
|
||||
v-for="col in formColumns"
|
||||
@@ -345,7 +345,7 @@ watch(roleUUID, () => {
|
||||
<el-button @click="editDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="editSubmitting" @click="handleSubmit">保存</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</DetailPage>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -397,7 +397,7 @@ watch(userUUID, () => {
|
||||
</template>
|
||||
|
||||
<!-- 编辑弹窗:基于列定义动态渲染 -->
|
||||
<el-dialog v-model="editDialogVisible" title="编辑用户" width="600px" destroy-on-close>
|
||||
<el-drawer v-model="editDialogVisible" title="编辑用户" direction="rtl" :size="600" destroy-on-close>
|
||||
<el-form :model="editForm" label-width="120px" label-position="right">
|
||||
<el-form-item
|
||||
v-for="col in formColumns"
|
||||
@@ -480,7 +480,7 @@ watch(userUUID, () => {
|
||||
<el-button @click="editDialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="editSubmitting" @click="handleSubmit">保存</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</DetailPage>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -197,10 +197,11 @@ watch(
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<el-dialog
|
||||
<el-drawer
|
||||
:model-value="modelValue"
|
||||
title="新建群聊"
|
||||
width="520px"
|
||||
direction="rtl"
|
||||
:size="520"
|
||||
:close-on-click-modal="false"
|
||||
@update:model-value="Emit('update:modelValue', $event)"
|
||||
@closed="ResetAndLoad"
|
||||
@@ -262,7 +263,7 @@ watch(
|
||||
<el-button @click="Close">取消</el-button>
|
||||
<el-button type="primary" :loading="Submitting" :disabled="!CanSubmit" @click="Submit">创建</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
@@ -990,7 +990,7 @@ onBeforeUnmount(() => {
|
||||
<GroupCreateDialog v-model="GroupCreateVisible" :entry="Entry" @created="OnGroupCreated" />
|
||||
|
||||
<!-- 邀请成员 -->
|
||||
<el-dialog v-model="InviteVisible" title="邀请成员" width="460px" :close-on-click-modal="false">
|
||||
<el-drawer v-model="InviteVisible" title="邀请成员" direction="rtl" :size="460" :close-on-click-modal="false">
|
||||
<el-select
|
||||
v-model="InviteSelected"
|
||||
multiple
|
||||
@@ -1013,16 +1013,16 @@ onBeforeUnmount(() => {
|
||||
<el-button @click="InviteVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="InviteSubmitting" @click="SubmitInvite">邀请</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
|
||||
<!-- 修改群名 -->
|
||||
<el-dialog v-model="RenameVisible" title="修改群名" width="420px" :close-on-click-modal="false">
|
||||
<el-drawer v-model="RenameVisible" title="修改群名" direction="rtl" :size="420" :close-on-click-modal="false">
|
||||
<el-input v-model="RenameTitle" maxlength="40" show-word-limit placeholder="请输入群名称" />
|
||||
<template #footer>
|
||||
<el-button @click="RenameVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="RenameSubmitting" @click="SubmitRename">保存</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@ onMounted(() => {
|
||||
</el-card>
|
||||
|
||||
<!-- 编辑弹窗 -->
|
||||
<el-dialog v-model="editVisible" title="编辑工单" width="720px" destroy-on-close>
|
||||
<el-drawer v-model="editVisible" title="编辑工单" direction="rtl" :size="720" destroy-on-close>
|
||||
<el-form :model="editRow" label-width="110px" label-position="right">
|
||||
<el-form-item v-for="col in editableColumns" :key="col.field" :label="col.title">
|
||||
<!-- entityPicker:指派人等关联实体选择 -->
|
||||
@@ -309,7 +309,7 @@ onMounted(() => {
|
||||
<el-button @click="editVisible = false">取消</el-button>
|
||||
<el-button type="primary" :loading="editSaving" @click="submitEdit">保存</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
Reference in new issue
Block a user