172 lines
3.4 KiB
TypeScript
172 lines
3.4 KiB
TypeScript
import type { FormSchemaGetter } from '#/adapter/form';
|
||
import type { VxeGridProps } from '#/adapter/vxe-table';
|
||
|
||
import { getDictOptions } from '#/utils/dict';
|
||
import { renderDict } from '#/utils/render';
|
||
|
||
export const querySchema: FormSchemaGetter = () => [
|
||
{
|
||
component: 'Input',
|
||
fieldName: 'areaCode',
|
||
label: '城市编码',
|
||
},
|
||
{
|
||
component: 'Input',
|
||
fieldName: 'areaName',
|
||
label: '城市名称',
|
||
},
|
||
{
|
||
component: 'Select',
|
||
componentProps: {
|
||
// 可选从DictEnum中获取 DictEnum.WY_QYJB 便于维护
|
||
options: getDictOptions('wy_qyjb'),
|
||
},
|
||
fieldName: 'areaLevel',
|
||
label: '101 省级 202 市州 303 区县',
|
||
},
|
||
{
|
||
component: 'Input',
|
||
fieldName: 'parentAreaCode',
|
||
label: '父级城市编码',
|
||
},
|
||
{
|
||
component: 'Input',
|
||
fieldName: 'parentAreaName',
|
||
label: '父级城市名称',
|
||
},
|
||
{
|
||
component: 'Input',
|
||
fieldName: 'lon',
|
||
label: '经度',
|
||
},
|
||
{
|
||
component: 'Input',
|
||
fieldName: 'lat',
|
||
label: '维度',
|
||
},
|
||
{
|
||
component: 'Input',
|
||
fieldName: 'dataState',
|
||
label: '数据状态:1有效,0无效',
|
||
},
|
||
];
|
||
|
||
// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新
|
||
// export const columns: () => VxeGridProps['columns'] = () => [
|
||
export const columns: VxeGridProps['columns'] = [
|
||
{ type: 'checkbox', width: 60 },
|
||
{
|
||
title: '主键ID',
|
||
field: 'id',
|
||
},
|
||
{
|
||
title: '城市编码',
|
||
field: 'areaCode',
|
||
},
|
||
{
|
||
title: '城市名称',
|
||
field: 'areaName',
|
||
},
|
||
{
|
||
title: '101 省级 202 市州 303 区县',
|
||
field: 'areaLevel',
|
||
slots: {
|
||
default: ({ row }) => {
|
||
// 可选从DictEnum中获取 DictEnum.WY_QYJB 便于维护
|
||
return renderDict(row.areaLevel, 'wy_qyjb');
|
||
},
|
||
},
|
||
},
|
||
{
|
||
title: '父级城市编码',
|
||
field: 'parentAreaCode',
|
||
},
|
||
{
|
||
title: '父级城市名称',
|
||
field: 'parentAreaName',
|
||
},
|
||
{
|
||
title: '经度',
|
||
field: 'lon',
|
||
},
|
||
{
|
||
title: '维度',
|
||
field: 'lat',
|
||
},
|
||
{
|
||
title: '数据状态:1有效,0无效',
|
||
field: 'dataState',
|
||
},
|
||
{
|
||
field: 'action',
|
||
fixed: 'right',
|
||
slots: { default: 'action' },
|
||
title: '操作',
|
||
width: 180,
|
||
},
|
||
];
|
||
|
||
export const modalSchema: FormSchemaGetter = () => [
|
||
{
|
||
label: '主键ID',
|
||
fieldName: 'id',
|
||
component: 'Input',
|
||
rules: 'required',
|
||
},
|
||
{
|
||
label: '城市编码',
|
||
fieldName: 'areaCode',
|
||
component: 'Input',
|
||
dependencies: {
|
||
show: () => false,
|
||
triggerFields: [''],
|
||
},
|
||
},
|
||
{
|
||
label: '城市名称',
|
||
fieldName: 'areaName',
|
||
component: 'Input',
|
||
rules: 'required',
|
||
},
|
||
{
|
||
label: '101 省级 202 市州 303 区县',
|
||
fieldName: 'areaLevel',
|
||
component: 'Select',
|
||
componentProps: {
|
||
// 可选从DictEnum中获取 DictEnum.WY_QYJB 便于维护
|
||
options: getDictOptions('wy_qyjb'),
|
||
},
|
||
rules: 'selectRequired',
|
||
},
|
||
{
|
||
label: '父级城市编码',
|
||
fieldName: 'parentAreaCode',
|
||
component: 'Input',
|
||
rules: 'required',
|
||
},
|
||
{
|
||
label: '父级城市名称',
|
||
fieldName: 'parentAreaName',
|
||
component: 'Input',
|
||
rules: 'required',
|
||
},
|
||
{
|
||
label: '经度',
|
||
fieldName: 'lon',
|
||
component: 'Input',
|
||
rules: 'required',
|
||
},
|
||
{
|
||
label: '维度',
|
||
fieldName: 'lat',
|
||
component: 'Input',
|
||
rules: 'required',
|
||
},
|
||
{
|
||
label: '数据状态:1有效,0无效',
|
||
fieldName: 'dataState',
|
||
component: 'Input',
|
||
rules: 'required',
|
||
},
|
||
];
|