From bc5815416b07d34c7cae42279b680087e3e6a031 Mon Sep 17 00:00:00 2001 From: dk <1260500659@qq.com> Date: Fri, 3 Jul 2026 17:34:48 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=B7=A5=E4=BD=9C=E5=8F=8D=E9=A6=88?= =?UTF-8?q?=E3=80=81=E5=B7=A5=E4=BD=9C=E6=97=A5=E5=BF=97):=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=B6=85=E5=A4=A7=E5=B0=BA=E5=AF=B8=E5=AF=B9=E8=AF=9D?= =?UTF-8?q?=E6=A1=86=E9=A2=84=E8=AE=BE=E5=B9=B6=E4=BC=98=E5=8C=96=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD=E3=80=82=20-=20?= =?UTF-8?q?=E5=9C=A8=20BusinessFormDialog=20=E7=BB=84=E4=BB=B6=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20xl=20=E5=B0=BA=E5=AF=B8=E9=A2=84=E8=AE=BE?= =?UTF-8?q?=EF=BC=8C=E5=AE=BD=E5=BA=A6=E8=AE=BE=E7=BD=AE=E4=B8=BA=201200px?= =?UTF-8?q?=20-=20=E7=A7=BB=E9=99=A4=20feedback-search.vue=20=E4=B8=AD?= =?UTF-8?q?=E5=BA=9F=E5=BC=83=E7=9A=84=20useDict=20=E9=92=A9=E5=AD=90?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=20-=20=E5=B0=86=E5=8F=8D=E9=A6=88=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E7=9A=84=E7=8A=B6=E6=80=81=E9=80=89=E6=8B=A9=E5=99=A8?= =?UTF-8?q?=E4=BB=8E=E6=99=AE=E9=80=9A=E4=B8=8B=E6=8B=89=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E7=B1=BB=E5=9E=8B=EF=BC=8C=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E5=80=BC=E8=BD=AC=E6=8D=A2=E9=80=BB=E8=BE=91=20-=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=8F=8D=E9=A6=88=E5=88=9D=E5=A7=8B=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E4=B8=AD=E7=9A=84=E7=8A=B6=E6=80=81=E5=80=BC?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E4=BB=8E=E6=95=B0=E5=AD=97=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=20-=20=E4=BB=BB=E5=8A=A1=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E5=AF=B9=E8=AF=9D=E6=A1=86=E4=BD=BF=E7=94=A8=20xl=20?= =?UTF-8?q?=E9=A2=84=E8=AE=BE=E4=BB=A5=E8=8E=B7=E5=BE=97=E6=9B=B4=E5=A4=A7?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=8C=BA=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/custom/business-form-dialog.vue | 5 +++-- src/views/feedback/index.vue | 2 +- src/views/feedback/modules/feedback-search.vue | 12 ++++++------ .../execution/modules/task-worklog-dialog.vue | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/components/custom/business-form-dialog.vue b/src/components/custom/business-form-dialog.vue index 9cc58c3..3d8abf7 100644 --- a/src/components/custom/business-form-dialog.vue +++ b/src/components/custom/business-form-dialog.vue @@ -7,7 +7,7 @@ defineOptions({ inheritAttrs: false }); -type DialogPreset = 'sm' | 'md' | 'lg'; +type DialogPreset = 'sm' | 'md' | 'lg' | 'xl'; interface Props { title: string; @@ -50,7 +50,8 @@ const visible = defineModel({ const DIALOG_WIDTH_MAP: Record = { sm: '520px', md: '720px', - lg: '960px' + lg: '960px', + xl: '1200px' }; const dialogWidth = computed(() => props.width ?? DIALOG_WIDTH_MAP[props.preset]); diff --git a/src/views/feedback/index.vue b/src/views/feedback/index.vue index 6ed1809..826da6f 100644 --- a/src/views/feedback/index.vue +++ b/src/views/feedback/index.vue @@ -45,7 +45,7 @@ function canEditRow(row: Api.Feedback.FeedbackItem) { } function getInitSearchParams(): Api.Feedback.FeedbackSearchParams { - return { pageNo: 1, pageSize: 20, type: undefined, status: 1, title: undefined, creator: undefined }; + return { pageNo: 1, pageSize: 20, type: undefined, status: '1', title: undefined, creator: undefined }; } function transformPageResult( diff --git a/src/views/feedback/modules/feedback-search.vue b/src/views/feedback/modules/feedback-search.vue index 1029942..576f2c4 100644 --- a/src/views/feedback/modules/feedback-search.vue +++ b/src/views/feedback/modules/feedback-search.vue @@ -2,7 +2,6 @@ import { computed, onMounted, ref } from 'vue'; import { FEEDBACK_STATUS_DICT_CODE } from '@/constants/dict'; import { fetchGetUserSimpleList } from '@/service/api'; -import { useDict } from '@/hooks/business/dict'; import TableSearchFields, { type SearchField } from '@/components/custom/table-search-fields.vue'; defineOptions({ name: 'FeedbackSearch' }); @@ -14,9 +13,8 @@ const emit = defineEmits<{ const model = defineModel('model', { required: true }); -// 提交人下拉选项(全员简易列表;value 取用户 id,ID 铁律 string) +// 提交人下拉选项(全员简表;value 使用用户 id,ID 铁律 string) const userOptions = ref<{ label: string; value: string }[]>([]); -const { dictOptions: statusOptions } = useDict(FEEDBACK_STATUS_DICT_CODE); // 分类保留在左侧分面;搜索区补充标题关键词、提交人、状态 const fields = computed(() => [ @@ -32,9 +30,11 @@ const fields = computed(() => [ { key: 'status', label: '状态', - type: 'select', + type: 'dict', + dictCode: FEEDBACK_STATUS_DICT_CODE, placeholder: '请选择状态', - options: statusOptions.value + resolveValue: value => (value === null || value === undefined || value === '' ? undefined : String(value)), + transformValue: value => (value === null || value === undefined || value === '' ? undefined : String(value)) } ]); @@ -50,7 +50,7 @@ function reset() { } function search() { - // 输入期不实时 trim(避免受控 input 吃掉词间空格);提交前规整一次,空串归一为 undefined + // 输入期不实时 trim,避免受控 input 吃掉词间空格;提交前规整一次,空串归一为 undefined model.value.title = model.value.title?.trim() || undefined; emit('search'); } diff --git a/src/views/project/project/execution/modules/task-worklog-dialog.vue b/src/views/project/project/execution/modules/task-worklog-dialog.vue index e2f92fa..b663ca6 100644 --- a/src/views/project/project/execution/modules/task-worklog-dialog.vue +++ b/src/views/project/project/execution/modules/task-worklog-dialog.vue @@ -51,7 +51,7 @@ watch(visible, value => {