fix(缺陷管理): 缺陷管理表格增加对自定义多选框的友好展示
--bug=1036382 --user=宋天阳 【缺陷管理】创建缺陷-多选输入框字段显示错误 https://www.tapd.cn/55049933/s/1477706
This commit is contained in:
parent
1ea17a964c
commit
9621269bab
|
@ -3,6 +3,7 @@ import JSEncrypt from 'jsencrypt';
|
||||||
import { BatchActionQueryParams, MsTableColumnData } from '@/components/pure/ms-table/type';
|
import { BatchActionQueryParams, MsTableColumnData } from '@/components/pure/ms-table/type';
|
||||||
|
|
||||||
import { BugEditCustomField, CustomFieldItem } from '@/models/bug-management';
|
import { BugEditCustomField, CustomFieldItem } from '@/models/bug-management';
|
||||||
|
import type { CustomAttributes } from '@/models/caseManagement/featureCase';
|
||||||
|
|
||||||
import { isObject } from './is';
|
import { isObject } from './is';
|
||||||
import { json } from 'stream/consumers';
|
import { json } from 'stream/consumers';
|
||||||
|
@ -685,7 +686,11 @@ export function parseQueryParams(url: string): QueryParam[] {
|
||||||
*/
|
*/
|
||||||
export function customFieldDataToTableData(customFieldData: Record<string, any>[], customFields: BugEditCustomField[]) {
|
export function customFieldDataToTableData(customFieldData: Record<string, any>[], customFields: BugEditCustomField[]) {
|
||||||
if (!customFieldData || !customFields) return {};
|
if (!customFieldData || !customFields) return {};
|
||||||
|
|
||||||
const tableData: Record<string, any> = {};
|
const tableData: Record<string, any> = {};
|
||||||
|
const multipleExcludes = ['MULTIPLE_SELECT', 'CHECKBOX', 'MULTIPLE_MEMBER'];
|
||||||
|
const selectExcludes = ['MEMBER', 'RADIO', 'SELECT'];
|
||||||
|
|
||||||
customFieldData.forEach((field) => {
|
customFieldData.forEach((field) => {
|
||||||
const customField = customFields.find((item) => item.fieldId === field.id);
|
const customField = customFields.find((item) => item.fieldId === field.id);
|
||||||
if (!customField) return;
|
if (!customField) return;
|
||||||
|
@ -697,9 +702,9 @@ export function customFieldDataToTableData(customFieldData: Record<string, any>[
|
||||||
}
|
}
|
||||||
// 后端返回来的数据这个字段没值
|
// 后端返回来的数据这个字段没值
|
||||||
field.type = customField.type;
|
field.type = customField.type;
|
||||||
if (['SELECT', 'RADIO'].includes(field.type) && Array.isArray(field.options)) {
|
if (selectExcludes.includes(field.type) && Array.isArray(field.options)) {
|
||||||
tableData[field.id] = field.options.find((option) => option.value === field.value)?.text;
|
tableData[field.id] = field.options.find((option) => option.value === field.value)?.text;
|
||||||
} else if (['MUTIPLE_SELECT', 'CHECKBOX'].includes(field.type) && Array.isArray(field.options)) {
|
} else if (multipleExcludes.includes(field.type) && Array.isArray(field.options)) {
|
||||||
// 多值的类型后端返回的是json字符串
|
// 多值的类型后端返回的是json字符串
|
||||||
field.value = JSON.parse(field.value);
|
field.value = JSON.parse(field.value);
|
||||||
tableData[field.id] = field.value
|
tableData[field.id] = field.value
|
||||||
|
|
Loading…
Reference in New Issue