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 @@ + + 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 @@ + + + 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: {