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 => {