From ec1962db7f138734b3d7eb7ac760b529c648bfb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8C=BF=E5=B0=8F=E5=A4=A9?= <1638245306@qq.com> Date: Sun, 26 Feb 2023 21:36:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=8F=98=E5=8C=96:=201.?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=87=AA=E5=AE=9A=E4=B9=89=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=8F=B0;=202.=E4=BF=AE=E5=A4=8D=E6=B6=88=E6=81=AF=E4=B8=AD?= =?UTF-8?q?=E5=BF=83bug;=203.=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=AF=86=E7=A0=81bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dvadmin/system/views/message_center.py | 6 +- backend/dvadmin/system/views/user.py | 4 +- web/package.json | 1 + .../dashboard/workbench/components/about.vue | 32 + .../dashboard/workbench/components/index.js | 13 + .../dashboard/workbench/components/time.vue | 58 ++ .../dashboard/workbench/components/ver.vue | 44 ++ .../workbench/components/welcome.vue | 113 ++++ web/src/views/dashboard/workbench/index.vue | 623 ++++++++++-------- 9 files changed, 613 insertions(+), 281 deletions(-) create mode 100644 web/src/views/dashboard/workbench/components/about.vue create mode 100644 web/src/views/dashboard/workbench/components/index.js create mode 100644 web/src/views/dashboard/workbench/components/time.vue create mode 100644 web/src/views/dashboard/workbench/components/ver.vue create mode 100644 web/src/views/dashboard/workbench/components/welcome.vue diff --git a/backend/dvadmin/system/views/message_center.py b/backend/dvadmin/system/views/message_center.py index 072db85..fbc23ce 100644 --- a/backend/dvadmin/system/views/message_center.py +++ b/backend/dvadmin/system/views/message_center.py @@ -121,12 +121,12 @@ class MessageCenterCreateSerializer(CustomModelSerializer): users = initial_data.get('target_user', []) if target_type in [1]: # 按角色 target_role = initial_data.get('target_role',[]) - users = Users.objects.exclude(is_deleted=True).filter(role__id__in=target_role).values_list('id', flat=True) + users = Users.objects.filter(role__id__in=target_role).values_list('id', flat=True) if target_type in [2]: # 按部门 target_dept = initial_data.get('target_dept',[]) - users = Users.objects.exclude(is_deleted=True).filter(dept__id__in=target_dept).values_list('id', flat=True) + users = Users.objects.filter(dept__id__in=target_dept).values_list('id', flat=True) if target_type in [3]: # 系统通知 - users = Users.objects.exclude(is_deleted=True).values_list('id', flat=True) + users = Users.objects.values_list('id', flat=True) targetuser_data = [] for user in users: targetuser_data.append({ diff --git a/backend/dvadmin/system/views/user.py b/backend/dvadmin/system/views/user.py index 046c2b6..dcc4d80 100644 --- a/backend/dvadmin/system/views/user.py +++ b/backend/dvadmin/system/views/user.py @@ -219,10 +219,12 @@ class ExportUserProfileSerializer(CustomModelSerializer): class UserProfileImportSerializer(CustomModelSerializer): + password = serializers.CharField(required=True, max_length=50, error_messages={"required": "登录密码不能为空"}) + def save(self, **kwargs): data = super().save(**kwargs) password = hashlib.new( - "md5", str(self.initial_data.get("password", "")).encode(encoding="UTF-8") + "md5", str(self.initial_data.get("password", "admin123456")).encode(encoding="UTF-8") ).hexdigest() data.set_password(password) data.save() diff --git a/web/package.json b/web/package.json index b835106..dc88cd4 100644 --- a/web/package.json +++ b/web/package.json @@ -42,6 +42,7 @@ "sortablejs": "^1.10.1", "ua-parser-js": "^0.7.20", "vue": "2.7.14", + "vue-grid-layout": "^2.4.0", "vue-i18n": "^8.15.1", "vue-infinite-scroll": "^2.0.2", "vue-router": "^3.6.5", diff --git a/web/src/views/dashboard/workbench/components/about.vue b/web/src/views/dashboard/workbench/components/about.vue new file mode 100644 index 0000000..e8571d8 --- /dev/null +++ b/web/src/views/dashboard/workbench/components/about.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/web/src/views/dashboard/workbench/components/index.js b/web/src/views/dashboard/workbench/components/index.js new file mode 100644 index 0000000..4d5867f --- /dev/null +++ b/web/src/views/dashboard/workbench/components/index.js @@ -0,0 +1,13 @@ +import { markRaw } from 'vue' + +const resultComps = {} +const requireComponent = require.context( + './', // 在当前目录下查找 + false, // 不遍历子文件夹 + /\.vue$/ // 正则匹配 以 .vue结尾的文件 +) +requireComponent.keys().forEach(fileName => { + const comp = requireComponent(fileName) + resultComps[fileName.replace(/^\.\/(.*)\.\w+$/, '$1')] = comp.default +}) +export default markRaw(resultComps) diff --git a/web/src/views/dashboard/workbench/components/time.vue b/web/src/views/dashboard/workbench/components/time.vue new file mode 100644 index 0000000..d9ae761 --- /dev/null +++ b/web/src/views/dashboard/workbench/components/time.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/web/src/views/dashboard/workbench/components/ver.vue b/web/src/views/dashboard/workbench/components/ver.vue new file mode 100644 index 0000000..841a2ee --- /dev/null +++ b/web/src/views/dashboard/workbench/components/ver.vue @@ -0,0 +1,44 @@ + + + diff --git a/web/src/views/dashboard/workbench/components/welcome.vue b/web/src/views/dashboard/workbench/components/welcome.vue new file mode 100644 index 0000000..87229fb --- /dev/null +++ b/web/src/views/dashboard/workbench/components/welcome.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/web/src/views/dashboard/workbench/index.vue b/web/src/views/dashboard/workbench/index.vue index 9c15a8d..88e7227 100644 --- a/web/src/views/dashboard/workbench/index.vue +++ b/web/src/views/dashboard/workbench/index.vue @@ -1,313 +1,382 @@ -