Xxuwei95fix bugs
d22e32d1创建于 2025年12月11日历史提交
import { FormSchema, BasicColumn } from '/@/components/Table';

import { DescItem } from '/@/components/Description';



export const descSchema: DescItem[] = [

  {

    label: 'ID',

    field: 'id',

  },

  {

    label: '名称',

    field: 'name',

  },

  {

    label: '所属数据源',

    field: 'datasource_id',

  },

  {

    label: '简介描述',

    field: 'description',

  },

  {

    label: '模型配置',

    field: 'model_conf',

    render(val) {

      return JSON.stringify(val);

    },

  },

  {

    label: '额外参数',

    field: 'ext_params',

    render(val) {

      return JSON.stringify(val);

    },

  },

  {

    label: '是否可封装接口',

    field: 'can_interface',

    render(val) {

      return JSON.stringify(val);

    },

  },

  {

    label: '字段信息',

    field: 'fields',

    render(val) {

      return JSON.stringify(val);

    },

  },

];



// 基本信息表单Schema(详情只读)

export const infoFormSchema: FormSchema[] = [

  {

    label: 'ID',

    field: 'id',

    component: 'Input',

  },

  {

    label: '名称',

    field: 'name',

    component: 'Input',

  },

  {

    label: '所属数据源',

    field: 'datasource_id',

    component: 'Input',

  },

  {

    label: '模型类型',

    field: 'type',

    component: 'Input',

  },

  {

    label: '简介描述',

    field: 'description',

    component: 'InputTextArea',

  },

  {

    label: '模型配置',

    field: 'model_conf',

    component: 'MonacoEditor',

    componentProps: {

      language: 'json',

    },

  },

  {

    label: '额外参数',

    field: 'ext_params',

    component: 'MonacoEditor',

    componentProps: {

      language: 'json',

    },

  },

  {

    label: '是否可封装接口',

    field: 'can_interface',

    component: 'RadioGroup',

    componentProps: {

      options: [

        { label: '是', value: 1 },

        { label: '否', value: 0 },

      ],

    },

  },

];



// 字段列表表格列配置

export const fieldColumns: BasicColumn[] = [

  {

    title: '字段名',

    align: 'center',

    dataIndex: 'field_name',

    width: 150,

  },

  {

    title: '字段值',

    align: 'center',

    dataIndex: 'field_value',

    width: 150,

  },

  {

    title: '类型',

    align: 'center',

    dataIndex: 'ext_params',

    width: 120,

    customRender: ({ record }) => {

      return record.ext_params?.type || '';

    },

  },

  {

    title: '是否同步',

    align: 'center',

    dataIndex: 'is_sync',

    width: 100,

    customRender: ({ text }) => {

      return text == 1 ? '是' : '否';

    },

  },

  {

    title: '描述',

    align: 'center',

    dataIndex: 'description',

  },

];



//表单数据

export const formSchema: FormSchema[] = [

  {

    label: '名称',

    field: 'name',

    required: true,

    component: 'Input',

  },

  {

    label: '所属数据源',

    field: 'datasource_id',

    slot: 'datasource_id',

    required: true,

    component: 'Input',

  },

  {

    label: '类型',

    field: 'type',

    required: true,

    slot: 'type',

    component: 'Input',

  },

  {

    label: '',

    field: 'model_conf',

    slot: 'model_conf',

    required: false,

    defaultValue: {},

    component: 'InputTextArea',

  },

  {

    label: '额外参数',

    field: 'ext_params',

    required: false,

    component: 'MonacoEditor',

    defaultValue: '{}',

    componentProps: {

      language: 'json',

    },

  },

  {

    label: '是否可封装接口',

    field: 'can_interface',

    defaultValue: 1,

    required: true,

    component: 'RadioGroup',

    componentProps: {

      options: [

        { label: '是', value: 1 },

        { label: '否', value: 0 },

      ],

    },

  },

  {

    label: '简介描述',

    field: 'description',

    required: false,

    component: 'InputTextArea',

  },

  // TODO 主键隐藏字段,目前写死为ID

  {

    label: '',

    field: 'id',

    component: 'Input',

    show: false,

  },

];