diff --git a/src/modules/smart-code/views/codeDesign/CodeDesignPage.config.ts b/src/modules/smart-code/views/codeDesign/CodeDesignPage.config.ts index 355df4a1a..98e01e1f7 100644 --- a/src/modules/smart-code/views/codeDesign/CodeDesignPage.config.ts +++ b/src/modules/smart-code/views/codeDesign/CodeDesignPage.config.ts @@ -1,4 +1,5 @@ import type { FormSchema } from '@/components/Form'; +import { SmartColumn } from '@/components/SmartTable'; type ButtonType = | 'SEARCH' @@ -12,7 +13,9 @@ type ButtonType = | 'ZOOM' | 'REFRESH' | 'SHOW_SEARCH' - | 'PRINT'; + | 'PRINT' + | 'USE_YN_TRUE' + | 'USE_YN_FALSE'; interface Button { key: ButtonType; @@ -196,6 +199,11 @@ export const formSchemas = (t: Function): FormSchema[] => { required: true, }, // ------------ 第五行 --------------------- + { + label: '权限前缀', + field: 'permissionPrefix', + component: 'Input', + }, { label: t('generator.views.code.title.relateTable'), field: 'addendumTableList', @@ -234,6 +242,14 @@ const letButtonList: Button[] = [ key: 'DELETE', value: '删除', }, + { + key: 'USE_YN_TRUE', + value: '启用', + }, + { + key: 'USE_YN_FALSE', + value: '停用', + }, ]; const rightButtonList: Button[] = [ @@ -329,3 +345,406 @@ const rowButtonTypeList = (t: Function) => [ value: 'TEXT', }, ]; + +/** + * 获取table column + */ +export const getTableFiledColumns = (): SmartColumn[] => { + return [ + { + field: 'columnName', + title: '{generator.views.tableField.title.columnName}', + width: 160, + align: 'left', + headerAlign: 'center', + }, + { + field: 'typeName', + title: '{generator.views.tableField.title.typeName}', + width: 120, + }, + { + field: 'columnSize', + title: '{generator.views.tableField.title.columnSize}', + width: 120, + }, + { + field: 'decimalDigits', + title: '{generator.views.tableField.title.decimalDigits}', + width: 120, + }, + { + field: 'columnDef', + title: '{generator.views.tableField.title.columnDef}', + width: 120, + }, + { + field: 'nullable', + title: '{generator.views.tableField.title.nullable}', + width: 120, + autoClass: 'Boolean', + formatter({ row }) { + const value = row.nullable; + if (value === 0) { + return '否'; + } + return '是'; + }, + }, + { + field: 'remarks', + title: '{generator.views.tableField.title.remarks}', + minWidth: 120, + align: 'left', + headerAlign: 'center', + }, + { + field: 'primaryKey', + title: '{generator.views.tableField.title.primaryKey}', + width: 120, + autoClass: 'Boolean', + formatter({ row }) { + const value = row.primaryKey; + if (value) { + return '是'; + } + return ''; + }, + }, + { + field: 'indexed', + title: '{generator.views.tableField.title.indexed}', + width: 120, + autoClass: 'Boolean', + formatter({ row }) { + const value = row.indexed; + if (value) { + return '是'; + } + return ''; + }, + }, + ]; +}; + +export const getPageSearchSettingColumn = (t: Function): SmartColumn[] => { + const controlFormatMap = {}; + const controlFormatList = controlList.map(({ key, value }) => { + const label = t(value); + controlFormatMap[key] = label; + return { + label: label, + value: key, + }; + }); + + return [ + { + title: '{generator.views.tableField.title.columnName}', + field: 'columnName', + width: 160, + align: 'left', + headerAlign: 'center', + }, + { + title: '{generator.views.tableSetting.title.title}', + field: 'title', + width: 160, + align: 'left', + headerAlign: 'center', + editRender: { + name: 'AInput', + autofocus: true, + }, + }, + { + title: '{generator.views.formSetting.title.controlType}', + field: 'controlType', + width: 150, + editRender: { + name: 'ASelect', + autofocus: true, + props: (row) => { + return { + disabled: !row.visible, + options: controlFormatList, + }; + }, + }, + formatter({ row }) { + const value = row.controlType; + if (!value) { + return ''; + } + return controlFormatMap[value]; + }, + }, + { + title: '{generator.views.formSetting.title.readonly}', + field: 'readonly', + width: 110, + editRender: { + name: 'ASwitch', + props: (row) => { + return { + disabled: !row.visible, + }; + }, + }, + formatter({ row }) { + const value = row.readonly; + if (value) { + return '是'; + } + return '否'; + }, + autoClass: 'Boolean', + }, + { + title: '{generator.views.tableSetting.title.visible}', + field: 'visible', + width: 110, + editRender: { + name: 'ASwitch', + }, + formatter({ row }) { + const value = row.visible; + if (value) { + return '是'; + } + return '否'; + }, + autoClass: 'Boolean', + }, + { + title: '{generator.views.tableSetting.title.hidden}', + field: 'hidden', + width: 110, + editRender: { + name: 'ASwitch', + props: (row) => { + return { + disabled: !row.visible, + }; + }, + }, + formatter({ row }) { + const value = row.hidden; + if (value) { + return '是'; + } + return '否'; + }, + autoClass: 'Boolean', + }, + { + title: '{generator.views.formSetting.title.used}', + field: 'used', + width: 120, + editRender: { + name: 'ASwitch', + props: (row) => { + return { + disabled: !row.visible, + }; + }, + }, + formatter({ row }) { + const value = row.used; + if (value) { + return '是'; + } + return '否'; + }, + autoClass: 'Boolean', + }, + { + title: '{generator.views.searchSetting.title.searchSymbol}', + field: 'searchSymbol', + width: 120, + editRender: { + name: 'ASelect', + autofocus: true, + props: (row) => { + return { + disabled: !row.visible, + options: searchSymbolList.map((item) => { + return { + label: item, + value: item, + }; + }), + }; + }, + }, + }, + { + title: '{generator.views.formSetting.title.useTableSearch}', + field: 'useTableSearch', + width: 110, + editRender: { + name: 'ASwitch', + props: (row) => { + return { + disabled: !row.visible, + }; + }, + }, + formatter({ row }) { + const value = row.useTableSearch; + if (value) { + return '是'; + } + return '否'; + }, + autoClass: 'Boolean', + }, + { + title: '{generator.views.code.table.tableName}', + field: 'tableName', + width: 120, + editRender: { + name: 'AInput', + autofocus: true, + props: (row) => { + return { + disabled: !(row.useTableSearch && row.visible), + }; + }, + }, + }, + { + title: '{generator.views.formSetting.title.keyColumnName}', + field: 'keyColumnName', + width: 120, + editRender: { + name: 'AInput', + autofocus: true, + props: (row) => { + return { + disabled: !(row.useTableSearch && row.visible), + }; + }, + }, + }, + { + title: '{generator.views.formSetting.title.valueColumnName}', + field: 'valueColumnName', + width: 120, + editRender: { + name: 'AInput', + autofocus: true, + props: (row) => { + return { + disabled: !(row.useTableSearch && row.visible), + }; + }, + }, + }, + { + title: '{generator.views.formSetting.title.tableWhere}', + field: 'tableWhere', + minWidth: 180, + editRender: { + name: 'AInput', + autofocus: true, + props: (row) => { + return { + disabled: !(row.useTableSearch && row.visible), + }; + }, + }, + }, + { + title: '{generator.views.code.table.remarks}', + field: 'remarks', + minWidth: 160, + align: 'left', + headerAlign: 'center', + }, + ]; +}; + +const controlList = [ + { + key: 'INPUT', + value: 'generator.views.code.title.controlList.input', + }, + { + key: 'TEXTAREA', + value: 'generator.views.code.title.controlList.textarea', + }, + { + key: 'NUMBER', + value: 'generator.views.code.title.controlList.number', + }, + { + key: 'PASSWORD', + value: 'generator.views.code.title.controlList.password', + }, + { + key: 'SELECT', + value: 'generator.views.code.title.controlList.select', + }, + { + key: 'TRANSFER', + value: 'generator.views.code.title.controlList.transfer', + }, + { + key: 'SELECT_TABLE', + value: 'generator.views.code.title.controlList.selectTable', + }, + { + key: 'RADIO', + value: 'generator.views.code.title.controlList.radio', + }, + { + key: 'CHECKBOX', + value: 'generator.views.code.title.controlList.checkbox', + }, + { + key: 'SWITCH_TYPE', + value: 'generator.views.code.title.controlList.switch_type', + }, + { + key: 'DATE', + value: 'generator.views.code.title.controlList.date', + }, + { + key: 'TIME', + value: 'generator.views.code.title.controlList.time', + }, + { + key: 'DATETIME', + value: 'generator.views.code.title.controlList.datetime', + }, + { + key: 'FILE', + value: 'generator.views.code.title.controlList.file', + }, + { + key: 'DATA_DICT', + value: 'generator.views.design.title.controlList.dataDict', + }, + { + key: 'CATEGORY_DICT', + value: 'generator.views.design.title.controlList.categoryDict', + }, +]; + +/** + * 查询标识列表 + */ +export const searchSymbolList = [ + '=', + 'like', + '>', + '>=', + '<', + '<=', + 'in', + 'notIn', + 'notLike', + 'likeLeft', + 'likeRight', +]; diff --git a/src/modules/smart-code/views/codeDesign/CodeDesignPage.vue b/src/modules/smart-code/views/codeDesign/CodeDesignPage.vue index 926439964..eb2f0a6dc 100644 --- a/src/modules/smart-code/views/codeDesign/CodeDesignPage.vue +++ b/src/modules/smart-code/views/codeDesign/CodeDesignPage.vue @@ -113,7 +113,7 @@ import TableFieldTable from './componenets/TableFieldTable/TableFieldTable.vue'; import PageTableSetting from './componenets/PageTableSetting/PageTableSetting.vue'; import PageFormSetting from './componenets/PageFromSetting/PageFormSetting.vue'; - import PageSearchSetting from './componenets/PageSearchSetting/PageSearchSetting.vue'; + import PageSearchSetting from './componenets/PageSearchSetting/PageSearchSettingOld.vue'; import { Icon } from '@/components/Icon'; import PageAddendumTableChoseModal from './componenets/PageAddendumTableChoseModal.vue'; diff --git a/src/modules/smart-code/views/codeDesign/componenets/PageFromSetting/PageFormSetting.vue b/src/modules/smart-code/views/codeDesign/componenets/PageFromSetting/PageFormSetting.vue index 849b04a1d..4cd9b943b 100644 --- a/src/modules/smart-code/views/codeDesign/componenets/PageFromSetting/PageFormSetting.vue +++ b/src/modules/smart-code/views/codeDesign/componenets/PageFromSetting/PageFormSetting.vue @@ -156,7 +156,7 @@ data[field] = item[field]; }); return Object.assign(data, { - title: data.remarks, + title: data.remarks || data.javaProperty, readonly: false, visible: true, hidden: false, diff --git a/src/modules/smart-code/views/codeDesign/componenets/PageSearchSetting/PageSearchSetting.vue b/src/modules/smart-code/views/codeDesign/componenets/PageSearchSetting/PageSearchSetting.vue index 5f4c8326a..45bba6673 100644 --- a/src/modules/smart-code/views/codeDesign/componenets/PageSearchSetting/PageSearchSetting.vue +++ b/src/modules/smart-code/views/codeDesign/componenets/PageSearchSetting/PageSearchSetting.vue @@ -1,159 +1,80 @@ - - diff --git a/src/modules/smart-code/views/codeDesign/componenets/PageSearchSetting/PageSearchSettingOld.vue b/src/modules/smart-code/views/codeDesign/componenets/PageSearchSetting/PageSearchSettingOld.vue new file mode 100644 index 000000000..94838ebb2 --- /dev/null +++ b/src/modules/smart-code/views/codeDesign/componenets/PageSearchSetting/PageSearchSettingOld.vue @@ -0,0 +1,380 @@ + + + + + diff --git a/src/modules/smart-code/views/codeDesign/componenets/TableFieldTable/TableFieldTable.vue b/src/modules/smart-code/views/codeDesign/componenets/TableFieldTable/TableFieldTable.vue index 25b603d56..54a878446 100644 --- a/src/modules/smart-code/views/codeDesign/componenets/TableFieldTable/TableFieldTable.vue +++ b/src/modules/smart-code/views/codeDesign/componenets/TableFieldTable/TableFieldTable.vue @@ -1,105 +1,24 @@ -