From 71eec9cfbd22dd36b39cc46b1d8a7dff9a28727d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8C=BF=E5=B0=8F=E5=A4=A9?= <1638245306@qq.com> Date: Thu, 18 Jan 2024 22:12:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBUG:=201.=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E4=B8=8D=E5=8A=A0=E8=BD=BD=E7=9B=AE=E6=A0=87?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98;=202.=E5=9C=B0=E5=8C=BA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8A=A0=E8=BD=BD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/system/views/area.py | 9 ++-- web/src/components/tableSelector/index.vue | 11 ++-- web/src/views/system/messageCenter/crud.tsx | 58 ++++++++++++--------- web/src/views/system/user/crud.tsx | 3 ++ 4 files changed, 44 insertions(+), 37 deletions(-) diff --git a/backend/dvadmin/system/views/area.py b/backend/dvadmin/system/views/area.py index cd681d7..dfa2353 100644 --- a/backend/dvadmin/system/views/area.py +++ b/backend/dvadmin/system/views/area.py @@ -60,12 +60,9 @@ class AreaViewSet(CustomModelViewSet): del params['page'] if limit: del params['limit'] - if params: - if pcode: - queryset = self.queryset.filter(enable=True, pcode=pcode) - else: - queryset = self.queryset.filter(enable=True) + if params and pcode: + queryset = self.queryset.filter(enable=True, pcode=pcode) else: - queryset = self.queryset.filter(enable=True, pcode__isnull=True) + queryset = self.queryset.filter(enable=True) return queryset diff --git a/web/src/components/tableSelector/index.vue b/web/src/components/tableSelector/index.vue index 98c6acb..7ad3cad 100644 --- a/web/src/components/tableSelector/index.vue +++ b/web/src/components/tableSelector/index.vue @@ -43,7 +43,7 @@ import {defineProps, onMounted, reactive, ref, toRaw, watch} from 'vue' import {dict} from '@fast-crud/fast-crud' import XEUtils from 'xe-utils' - +import {request} from '/@/utils/service' const props = defineProps({ modelValue: {}, tableConfig: { @@ -71,6 +71,7 @@ watch(multipleSelection, // 监听multipleSelection的变化, if (!tableConfig.isMultiple) { data.value = value ? value[tableConfig.label] : null } else { + const result = value ? value.map((item: any) => { return item[tableConfig.label] }) : null @@ -125,10 +126,10 @@ const getDict = async () => { limit: pageConfig.limit, search: search.value } - const dicts = dict({url: url, params: params}) - await dicts.reloadDict() - const dictData: any = dicts.data - const {data, page, limit, total} = dictData + const {data, page, limit, total} = await request({ + url:url, + params:params + }) pageConfig.page = page pageConfig.limit = limit pageConfig.total = total diff --git a/web/src/views/system/messageCenter/crud.tsx b/web/src/views/system/messageCenter/crud.tsx index f77626e..5733194 100644 --- a/web/src/views/system/messageCenter/crud.tsx +++ b/web/src/views/system/messageCenter/crud.tsx @@ -1,40 +1,45 @@ import * as api from './api'; -import { dict, useCompute, PageQuery, AddReq, DelReq, EditReq, CrudExpose, CrudOptions } from '@fast-crud/fast-crud'; +import {dict, useCompute, PageQuery, AddReq, DelReq, EditReq, CrudExpose, CrudOptions} from '@fast-crud/fast-crud'; import tableSelector from '/@/components/tableSelector/index.vue'; import {shallowRef, computed, ref, inject} from 'vue'; import manyToMany from '/@/components/manyToMany/index.vue'; import {auth} from '/@/utils/authFunction' -const { compute } = useCompute(); +import {createCrudOptions as userCrudOptions } from "/@/views/system/user/crud"; +import {request} from '/@/utils/service' +const {compute} = useCompute(); interface CreateCrudOptionsTypes { - crudOptions: CrudOptions; + crudOptions: CrudOptions; } -export const createCrudOptions = function ({ crudExpose, tabActivted }: { crudExpose: CrudExpose; tabActivted: any }): CreateCrudOptionsTypes { - const pageRequest = async (query: PageQuery) => { - if (tabActivted.value === 'receive') { - return await api.GetSelfReceive(query); - } - return await api.GetList(query); - }; - const editRequest = async ({ form, row }: EditReq) => { - form.id = row.id; - return await api.UpdateObj(form); - }; - const delRequest = async ({ row }: DelReq) => { - return await api.DelObj(row.id); - }; - const addRequest = async ({ form }: AddReq) => { - return await api.AddObj(form); - }; +export const createCrudOptions = function ({ + crudExpose, + tabActivted + }: { crudExpose: CrudExpose; tabActivted: any }): CreateCrudOptionsTypes { + const pageRequest = async (query: PageQuery) => { + if (tabActivted.value === 'receive') { + return await api.GetSelfReceive(query); + } + return await api.GetList(query); + }; + const editRequest = async ({form, row}: EditReq) => { + form.id = row.id; + return await api.UpdateObj(form); + }; + const delRequest = async ({row}: DelReq) => { + return await api.DelObj(row.id); + }; + const addRequest = async ({form}: AddReq) => { + return await api.AddObj(form); + }; - const viewRequest = async ({ row }: { row: any }) => { - return await api.GetObj(row.id); - }; + const viewRequest = async ({row}: { row: any }) => { + return await api.GetObj(row.id); + }; - const IsReadFunc = computed(() => { - return tabActivted.value === 'receive'; - }); + const IsReadFunc = computed(() => { + return tabActivted.value === 'receive'; + }); return { @@ -292,6 +297,7 @@ export const createCrudOptions = function ({ crudExpose, tabActivted }: { crudEx { prop: 'name', label: '部门名称', + width: 150, }, { prop: 'status_label', diff --git a/web/src/views/system/user/crud.tsx b/web/src/views/system/user/crud.tsx index 9e234f8..b8d2e9c 100644 --- a/web/src/views/system/user/crud.tsx +++ b/web/src/views/system/user/crud.tsx @@ -372,6 +372,9 @@ export const createCrudOptions = function ({crudExpose}: CreateCrudOptionsProps) form: { show: false, }, + column: { + minWidth: 400, //最小列宽 + }, }, ...commonCrudConfig({ dept_belong_id: {