diff --git a/backend/dvadmin/system/views/message_center.py b/backend/dvadmin/system/views/message_center.py
index eeed516..bb71c3f 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/web/src/components/foreignKey/index.vue b/web/src/components/foreignKey/index.vue
new file mode 100644
index 0000000..d59b741
--- /dev/null
+++ b/web/src/components/foreignKey/index.vue
@@ -0,0 +1,41 @@
+
+
+
+ {{ data }}
+
+
+
diff --git a/web/src/components/manyToMany/index.vue b/web/src/components/manyToMany/index.vue
new file mode 100644
index 0000000..270a0d3
--- /dev/null
+++ b/web/src/components/manyToMany/index.vue
@@ -0,0 +1,46 @@
+
+
+
+ {{item}}
+
+
+
+
diff --git a/web/src/views/system/messageCenter/crud.tsx b/web/src/views/system/messageCenter/crud.tsx
index f96c921..7892021 100644
--- a/web/src/views/system/messageCenter/crud.tsx
+++ b/web/src/views/system/messageCenter/crud.tsx
@@ -4,6 +4,7 @@ import {request} from "/@/utils/service";
import {dictionary} from "/@/utils/dictionary";
import tableSelector from "/@/components/tableSelector/index.vue"
import {shallowRef} from "vue";
+import manyToMany from "/@/components/manyToMany/index.vue"
interface CreateCrudOptionsTypes {
crudOptions: CrudOptions;
@@ -139,13 +140,15 @@ export const createCrudOptions = function ({crudExpose}: { crudExpose: CrudExpos
required: true,
message: '必填项'
}
- ],
-
+ ]
},
- component: {
- name: 'manyToMany',
- valueBinding: 'user_info',
- children: 'name'
+ column:{
+ component: {
+ name: shallowRef(manyToMany),
+ vModel: "modelValue",
+ bindValue:compute(({row}) => {return row.user_info}),
+ displayLabel: 'name'
+ }
}
},
target_role: {
@@ -159,6 +162,12 @@ export const createCrudOptions = function ({crudExpose}: { crudExpose: CrudExpos
component: {
name: shallowRef(tableSelector),
vModel: "modelValue",
+ displayLabel:compute(({row}) => {
+ if(row){
+ return row.role_info;
+ }
+ return null
+ }),
tableConfig: {
url: '/api/system/role/',
label: 'name',
@@ -184,10 +193,13 @@ export const createCrudOptions = function ({crudExpose}: { crudExpose: CrudExpos
}
]
},
- component: {
- name: 'manyToMany',
- valueBinding: 'role_info',
- children: 'name'
+ column:{
+ component: {
+ name: shallowRef(manyToMany),
+ vModel: "modelValue",
+ bindValue:compute(({row}) => {return row.role_info}),
+ displayLabel: 'name'
+ }
}
},
target_dept: {
@@ -233,6 +245,14 @@ export const createCrudOptions = function ({crudExpose}: { crudExpose: CrudExpos
message: '必填项'
}
]
+ },
+ column:{
+ component: {
+ name: shallowRef(manyToMany),
+ vModel: "modelValue",
+ bindValue:compute(({row}) => {return row.dept_info}),
+ displayLabel: 'name'
+ }
}
},
content: {