From 3599f2891044c8c17a46a15c3c00605a33c5b083 Mon Sep 17 00:00:00 2001
From: Jerry <707344974@qq.com>
Date: Thu, 15 Aug 2024 14:55:26 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BF=AE=E6=94=B9=E5=A4=B4?=
=?UTF-8?q?=E5=83=8F=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
OrangeFormsOpen-VUE3/components.d.ts | 1 +
.../src/api/system/LoginController.ts | 6 +-
.../src/common/staticDict/combined.ts | 1 +
.../components/formModifyHeadImage/index.vue | 83 +++++++++++++++++++
.../src/components/layout/index.vue | 6 +-
.../online/components/OnlineCustomUpload.vue | 7 +-
.../online/components/OnlineCustomWidget.vue | 7 +-
.../OnlinePageRender/OnlineEditForm/index.vue | 6 +-
.../online/OnlinePageRender/hooks/useForm.ts | 5 +-
OrangeFormsOpen-VUE3/src/store/login.ts | 4 +
10 files changed, 112 insertions(+), 14 deletions(-)
create mode 100644 OrangeFormsOpen-VUE3/src/components/layout/components/formModifyHeadImage/index.vue
diff --git a/OrangeFormsOpen-VUE3/components.d.ts b/OrangeFormsOpen-VUE3/components.d.ts
index 511ccc44..da3cfcc6 100644
--- a/OrangeFormsOpen-VUE3/components.d.ts
+++ b/OrangeFormsOpen-VUE3/components.d.ts
@@ -77,6 +77,7 @@ declare module 'vue' {
InputNumberRange: typeof import('./src/components/InputNumberRange/index.vue')['default']
Layout: typeof import('./src/components/layout/index.vue')['default']
LayoutComponentsBreadCrumb: typeof import('./src/components/layout/components/BreadCrumb.vue')['default']
+ LayoutComponentsFormModifyHeadImage: typeof import('./src/components/layout/components/formModifyHeadImage/index.vue')['default']
LayoutComponentsFormModifyPassword: typeof import('./src/components/layout/components/formModifyPassword/index.vue')['default']
LayoutComponentsMultiColumn: typeof import('./src/components/layout/components/multi-column.vue')['default']
LayoutComponentsMultiColumnMenu: typeof import('./src/components/layout/components/multi-column-menu.vue')['default']
diff --git a/OrangeFormsOpen-VUE3/src/api/system/LoginController.ts b/OrangeFormsOpen-VUE3/src/api/system/LoginController.ts
index 67611667..29593af1 100644
--- a/OrangeFormsOpen-VUE3/src/api/system/LoginController.ts
+++ b/OrangeFormsOpen-VUE3/src/api/system/LoginController.ts
@@ -1,9 +1,9 @@
-import { API_CONTEXT } from '../config';
import { loginParam, LoginUserInfo } from '@/types/upms/login';
import { UserInfo } from '@/types/upms/user';
import { BaseController } from '@/api/BaseController';
import { RequestOption, TableData } from '@/common/http/types';
import { ANY_OBJECT } from '@/types/generic';
+import { API_CONTEXT } from '../config';
export default class LoginController extends BaseController {
static login(params: loginParam) {
@@ -17,4 +17,8 @@ export default class LoginController extends BaseController {
static changePassword(params: ANY_OBJECT, httpOptions?: RequestOption) {
return super.post(API_CONTEXT + '/upms/login/changePassword', params, httpOptions);
}
+
+ static changeHeadImageUrl() {
+ return API_CONTEXT + '/upms/login/changeHeadImage';
+ }
}
diff --git a/OrangeFormsOpen-VUE3/src/common/staticDict/combined.ts b/OrangeFormsOpen-VUE3/src/common/staticDict/combined.ts
index 6f36a004..92eb0d82 100644
--- a/OrangeFormsOpen-VUE3/src/common/staticDict/combined.ts
+++ b/OrangeFormsOpen-VUE3/src/common/staticDict/combined.ts
@@ -1,3 +1,4 @@
+// eslint-disable-next-line import/namespace
import * as generatedDict from './generated';
import * as baseDict from './index';
diff --git a/OrangeFormsOpen-VUE3/src/components/layout/components/formModifyHeadImage/index.vue b/OrangeFormsOpen-VUE3/src/components/layout/components/formModifyHeadImage/index.vue
new file mode 100644
index 00000000..e116a74f
--- /dev/null
+++ b/OrangeFormsOpen-VUE3/src/components/layout/components/formModifyHeadImage/index.vue
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
diff --git a/OrangeFormsOpen-VUE3/src/components/layout/index.vue b/OrangeFormsOpen-VUE3/src/components/layout/index.vue
index d0cd63d6..4f38d681 100644
--- a/OrangeFormsOpen-VUE3/src/components/layout/index.vue
+++ b/OrangeFormsOpen-VUE3/src/components/layout/index.vue
@@ -135,11 +135,12 @@ import { SysMenuBindType, SysOnlineFormType } from '@/common/staticDict';
import LoginController from '@/api/system/LoginController';
import { MenuItem } from '@/types/upms/menu';
import { useUpload } from '@/common/hooks/useUpload';
+import { useCommon } from '@/common/hooks/useCommon';
import Sidebar from './components/Sidebar.vue';
import BreadCrumb from './components/BreadCrumb.vue';
import TagPanel from './components/TagPanel.vue';
-import { useCommon } from '@/common/hooks/useCommon';
import FormModifyPassword from './components/formModifyPassword/index.vue';
+import FormModifyHeadImage from './components/formModifyHeadImage/index.vue';
const { Dialog } = useCommon();
const router = useRouter();
@@ -340,6 +341,9 @@ const handleCommand = (command: string) => {
case 'modifyPassword':
Dialog.show('修改密码', FormModifyPassword, { area: '500px' }, {});
break;
+ case 'modifyHeadImage':
+ Dialog.show('修改头像', FormModifyHeadImage, { area: '500px' }, {});
+ break;
default:
ElMessage.warning(`click on item ${command}`);
break;
diff --git a/OrangeFormsOpen-VUE3/src/online/components/OnlineCustomUpload.vue b/OrangeFormsOpen-VUE3/src/online/components/OnlineCustomUpload.vue
index 8bd1a93d..716078f6 100644
--- a/OrangeFormsOpen-VUE3/src/online/components/OnlineCustomUpload.vue
+++ b/OrangeFormsOpen-VUE3/src/online/components/OnlineCustomUpload.vue
@@ -170,9 +170,10 @@ const uploadWidgetImpl = reactive(
const getDisabledStatus = () => {
if (form().isEdit) return true;
- const formWidgetAuth: ANY_OBJECT | null = form().formAuth && form().formAuth() && form().formAuth().pc
- ? form().formAuth().pc[pps.widget.variableName]
- : null;
+ const formWidgetAuth: ANY_OBJECT | null =
+ form().formAuth && form().formAuth() && form().formAuth().pc
+ ? form().formAuth().pc[props.widget.variableName]
+ : null;
if (formWidgetAuth && formWidgetAuth.disabled) return true;
return props.widget.props.disabled;
};
diff --git a/OrangeFormsOpen-VUE3/src/online/components/OnlineCustomWidget.vue b/OrangeFormsOpen-VUE3/src/online/components/OnlineCustomWidget.vue
index ccde1c7c..d227eb15 100644
--- a/OrangeFormsOpen-VUE3/src/online/components/OnlineCustomWidget.vue
+++ b/OrangeFormsOpen-VUE3/src/online/components/OnlineCustomWidget.vue
@@ -355,9 +355,10 @@ const getWidgetProps = computed(() => {
});
const getDisabledStatus = () => {
- const formWidgetAuth: ANY_OBJECT | null = form().formAuth && form().formAuth() && form().formAuth().pc
- ? form().formAuth().pc[pps.widget.variableName]
- : null;
+ const formWidgetAuth: ANY_OBJECT | null =
+ form().formAuth && form().formAuth() && form().formAuth().pc
+ ? form().formAuth().pc[pps.widget.variableName]
+ : null;
if (formWidgetAuth && formWidgetAuth.disabled) return true;
return pps.widget.props.disabled;
};
diff --git a/OrangeFormsOpen-VUE3/src/pages/online/OnlinePageRender/OnlineEditForm/index.vue b/OrangeFormsOpen-VUE3/src/pages/online/OnlinePageRender/OnlineEditForm/index.vue
index bb8b4382..c6c9984e 100644
--- a/OrangeFormsOpen-VUE3/src/pages/online/OnlinePageRender/OnlineEditForm/index.vue
+++ b/OrangeFormsOpen-VUE3/src/pages/online/OnlinePageRender/OnlineEditForm/index.vue
@@ -482,9 +482,9 @@ const initFormData = () => {
// 如果是复制,清空主键以及自动编码字段
let clearColumnList: string[] = [];
if (isRelation.value) {
- formData[masterTable.value.relation.variableName] = {
- ...dialogParams.value.rowData,
- };
+ Object.keys(dialogParams.value.rowData).forEach(key => {
+ formData[masterTable.value.relation.variableName][key] = dialogParams.value.rowData[key];
+ });
clearFormData(formData[masterTable.value.relation.variableName], clearColumnList);
resolve();
} else {
diff --git a/OrangeFormsOpen-VUE3/src/pages/online/OnlinePageRender/hooks/useForm.ts b/OrangeFormsOpen-VUE3/src/pages/online/OnlinePageRender/hooks/useForm.ts
index 2a0e48f4..24e86642 100644
--- a/OrangeFormsOpen-VUE3/src/pages/online/OnlinePageRender/hooks/useForm.ts
+++ b/OrangeFormsOpen-VUE3/src/pages/online/OnlinePageRender/hooks/useForm.ts
@@ -144,9 +144,8 @@ export const useForm = (props: ANY_OBJECT, formRef: Ref | null = n
}
};
const getWidgetVisible = widget => {
- const formWidgetAuth: ANY_OBJECT | null = formAuth.value && formAuth.value.pc
- ? formAuth.value.pc[widget.variableName]
- : null;
+ const formWidgetAuth: ANY_OBJECT | null =
+ formAuth.value && formAuth.value.pc ? formAuth.value.pc[widget.variableName] : null;
if (formWidgetAuth && formWidgetAuth.hide) return false;
return true;
};
diff --git a/OrangeFormsOpen-VUE3/src/store/login.ts b/OrangeFormsOpen-VUE3/src/store/login.ts
index 97d6b637..94a20843 100644
--- a/OrangeFormsOpen-VUE3/src/store/login.ts
+++ b/OrangeFormsOpen-VUE3/src/store/login.ts
@@ -19,6 +19,10 @@ export default defineStore('login', {
setUserInfo(info: UserInfo) {
this.userInfo = initUserInfo(info);
},
+ setHeadImage(headImage: (string & { downloadUri: string; filename: string }) | null) {
+ if (this.userInfo == null) return;
+ this.userInfo.headImageUrl = headImage;
+ },
},
persist: {
// 开启持久存储