import { h } from 'vue';
|
import { BasicColumn, FormSchema } from '/@@/components/Table';
|
@foreach (var column in Model.TableField){
|
if(column.EffectType == "Upload"){
|
@:import { uploadFile } from '/@@/api/sys/admin';
|
}else if(column.EffectType == "ForeignKey"){
|
@:import { get@(column.FkEntityName)Dropdown } from '/@@/api/main/@(Model.ClassName)';
|
}else if(column.EffectType == "DictSelector"){
|
@:import { getDataList } from '/@@/api/sys/admin';
|
}else if(column.EffectType == "ApiTreeSelector"){
|
@:import { get@(column.FkEntityName)Tree } from '/@@/api/main/@(Model.ClassName)';
|
}else if(column.EffectType == "ConstSelector"){
|
@:import { codeToName, getSelector } from '/@@/utils/helper/constSelectorHelper';
|
}else if(column.EffectType == "Switch"){
|
@:import { Switch } from 'ant-design-vue';
|
}
|
}
|
export const columns: BasicColumn[] = [
|
@foreach (var column in Model.TableField){
|
if(column.WhetherTable == "Y"){
|
@:{
|
@:title: '@column.ColumnComment',
|
@:dataIndex: '@column.LowerPropertyName',
|
@:sorter: true,
|
if(column.EffectType == "Upload"){
|
@:slots: { customRender: '@(column.LowerPropertyName)' },
|
}else if(column.EffectType == "ForeignKey"){
|
@:customRender: ({ record }) => {
|
@:return record.fk@(column.PropertyName).@(column.LowerFkDisplayColumnsList?.First());
|
@:},
|
}else if(column.EffectType == "Switch"){
|
@:customRender: ({ record }) => {
|
@:return h(@(column.EffectType), { checked: record.@(column.LowerPropertyName) });
|
@:},
|
}else if(column.EffectType == "ConstSelector"){
|
@:customRender: ({ record }) => {
|
@:return codeToName(record.@(column.LowerPropertyName), '@(column.DictTypeCode)');
|
@:},
|
}
|
@:},
|
}
|
|
}
|
];
|
|
export const searchFormSchema: FormSchema[] = [
|
@foreach (var column in Model.WhetherQueryList){
|
@:{
|
@:field: '@column.LowerPropertyName',
|
@:label: '@column.ColumnComment',
|
@:colProps: { span: 8 },
|
if(column.EffectType == "ForeignKey"){
|
@:component: 'ApiSelect',
|
@:componentProps: {
|
@:api: get@(column.FkEntityName)Dropdown,
|
@:labelField: 'label',
|
@:valueField: 'value',
|
@:},
|
}else if(column.EffectType == "DictSelector"){
|
@:component: 'ApiSelect',
|
@:componentProps: {
|
@:api: getDataList,
|
@:params: '@(column.DictTypeCode)',
|
@:fieldNames: {
|
@:label: 'label',
|
@:value: 'value',
|
@:},
|
@:},
|
}else if(column.EffectType == "ConstSelector"){
|
@:component: 'Select',
|
@:componentProps: {
|
@:options: getSelector('@(column.DictTypeCode)'),
|
@:fieldNames: {
|
@:label: 'name',
|
@:value: 'code',
|
@:},
|
@:},
|
}else if(column.EffectType == "ApiTreeSelector"){
|
@:component: '@(column.EffectType)',
|
@:componentProps: {
|
@:api: get@(column.FkEntityName)Tree,
|
@:},
|
}
|
else if(column.NetType?.TrimEnd('?') == "DateTime" && column.QueryType == "~"){
|
@:component: 'RangePicker',
|
@:componentProps: {
|
@: valueFormat:"YYYY-MM-DD"
|
@:},
|
} else {
|
@:component: 'Input',
|
}
|
|
@:},
|
}
|
];
|
|
export const formSchema: FormSchema[] = [
|
@foreach (var column in Model.TableField){
|
@:{
|
@:label: '@column.ColumnComment',
|
@:field: '@column.LowerPropertyName',
|
if(column.EffectType == "ForeignKey"){
|
@:component: 'ApiSelect',
|
@:componentProps: {
|
@:api: get@(column.FkEntityName)Dropdown,
|
@:labelField: 'label',
|
@:valueField: 'value',
|
@:},
|
}else if(column.EffectType == "DictSelector"){
|
@:component: 'ApiSelect',
|
@:componentProps: {
|
@:api: getDataList,
|
@:params: '@(column.DictTypeCode)',
|
@:fieldNames: {
|
@:label: 'label',
|
@:value: 'value',
|
@:},
|
@:},
|
}else if(column.EffectType == "ConstSelector"){
|
@:component: 'Select',
|
@:componentProps: {
|
@:options: getSelector('@(column.DictTypeCode)'),
|
@:fieldNames: {
|
@:label: 'name',
|
@:value: 'code',
|
@:},
|
@:},
|
}else if(column.EffectType == "ApiTreeSelector"){
|
@:component: '@(column.EffectType)',
|
@:componentProps: {
|
@:api: get@(column.FkEntityName)Tree,
|
@:},
|
}else if(column.EffectType == "Switch"){
|
@:component: '@(column.EffectType)',
|
@:componentProps: {
|
@:checkedChildren: '是',
|
@:unCheckedChildren: '否',
|
@:},
|
}else{
|
@:component: '@column.EffectType',
|
}
|
if(column.WhetherRequired == "Y"){
|
@:required: true,
|
}else{
|
@:required: false,
|
}
|
if(column.EffectType == "Upload"){
|
@:componentProps: {
|
@:maxNumber: 1,
|
@:api: uploadFile,
|
@:},
|
}
|
if(column.LowerPropertyName == "id"){
|
@:show: false,
|
}
|
@:colProps: { span: 12 },
|
@:},
|
}
|
];
|