diff --git a/src/api/tool/model.js b/src/api/tool/model.js new file mode 100644 index 0000000..47bb2fd --- /dev/null +++ b/src/api/tool/model.js @@ -0,0 +1,111 @@ +import request from '@/router/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api/blade-develop/model/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api/blade-develop/model/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api/blade-develop/model/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api/blade-develop/model/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api/blade-develop/model/submit', + method: 'post', + data: row + }) +} + +export const getTableList = (datasourceId) => { + return request({ + url: '/api/blade-develop/model/table-list', + method: 'get', + params: { + datasourceId, + } + }) +} + +export const getTableInfo = (modelId, datasourceId) => { + return request({ + url: '/api/blade-develop/model/table-info', + method: 'get', + params: { + modelId, + datasourceId, + } + }) +} + +export const getTableInfoByName = (tableName, datasourceId) => { + return request({ + url: '/api/blade-develop/model/table-info', + method: 'get', + params: { + tableName, + datasourceId, + } + }) +} + +export const getModelPrototype = (modelId, datasourceId) => { + return request({ + url: '/api/blade-develop/model/model-prototype', + method: 'get', + params: { + modelId, + datasourceId, + } + }) +} + +export const submitModelPrototype = (row) => { + return request({ + url: '/api/blade-develop/model-prototype/submit-list', + method: 'post', + data: row + }) +} + + +export const prototypeDetail = (modelId) => { + return request({ + url: '/api/blade-develop/model-prototype/select', + method: 'get', + params: { + modelId, + } + }) +} diff --git a/src/const/tool/model.js b/src/const/tool/model.js new file mode 100644 index 0000000..1883012 --- /dev/null +++ b/src/const/tool/model.js @@ -0,0 +1,312 @@ +export const switchDic = [ + { + label: "", + value: 0 + }, + { + label: "", + value: 1 + } +]; + +export const entityDic = [ + { + label: "String", + value: "java.lang.String" + }, + { + label: "Integer", + value: "java.lang.Integer" + }, + { + label: "Long", + value: "java.lang.Long" + }, + { + label: "Double", + value: "java.lang.Double" + }, + { + label: "BigDecimal", + value: "java.math.BigDecimal" + }, + { + label: "Boolean", + value: "java.lang.Boolean" + }, + { + label: "Date", + value: "java.util.Date" + } +]; + +export const componentDic = [ + { + label: "单行文本", + value: "input" + }, + { + label: "多行文本", + value: "textarea" + }, + { + label: "下拉选项", + value: "select" + }, + { + label: "树形下拉选项", + value: "tree" + }, + { + label: "单选框", + value: "radio" + }, + { + label: "多选框", + value: "checkbox" + }, + { + label: "开关框", + value: "switch" + }, + { + label: "日期框", + value: "date" + } +]; + +export const queryDic = [ + { + label: "等于", + value: "equal" + }, + { + label: "不等于", + value: "notequal" + }, + { + label: "大于", + value: "gt" + }, + { + label: "大于等于", + value: "ge" + }, + { + label: "小于", + value: "lt" + }, + { + label: "小于等于", + value: "le" + }, + { + label: "区间", + value: "between" + }, + { + label: "模糊", + value: "like" + }, + { + label: "左模糊", + value: "likeleft" + }, + { + label: "右模糊", + value: "likeright" + } +]; + +export const templateDic = [ + { + label: "单表", + value: "crud" + }, + { + label: "主子表", + value: "sub" + }, + { + label: "树表", + value: "tree" + } +]; + +export const option = { + height: 'auto', + searchShow: true, + searchMenuSpan: 6, + tip: false, + border: true, + index: true, + viewBtn: true, + selection: true, + menuWidth: 250, + column: [ + { + label: "数据源", + prop: "datasourceId", + search: true, + span: 24, + type: "select", + dicUrl: "/api/blade-develop/datasource/select", + props: { + label: "name", + value: "id" + }, + rules: [{ + required: true, + message: "请选择数据源", + trigger: "blur" + }] + }, + { + label: "物理表名", + prop: "modelTable", + type: "tree", + slot: true, + dicData: [], + props: { + label: "comment", + value: "name" + }, + rules: [{ + required: true, + message: "请输入数据库表名", + trigger: "blur" + }] + }, + { + label: "模型类名", + prop: "modelClass", + rules: [{ + required: true, + message: "请输入模型类名", + trigger: "blur" + }] + }, + { + label: "模型名称", + prop: "modelName", + search: true, + rules: [{ + required: true, + message: "请输入模型名称", + trigger: "blur" + }] + }, + { + label: "模型编号", + prop: "modelCode", + search: true, + rules: [{ + required: true, + message: "请输入模型编号", + trigger: "blur" + }] + }, + { + label: "模型备注", + prop: "modelRemark", + hide: true, + span: 24, + }, + ] +}; + +export const optionModel = { + border: true, + index: true, + addBtn: false, + editBtn: false, + addRowBtn: false, + cellBtn: false, + cancelBtn: false, + tip: false, + menu: false, + selection: true, + column: [{ + label: '物理列名', + prop: 'jdbcName', + }, { + label: '物理类型', + prop: 'jdbcType', + }, { + label: '实体列名', + prop: 'propertyName', + cell: true, + }, { + label: '实体类型', + prop: 'propertyEntity', + type: "select", + dicData: entityDic, + cell: true, + }, { + label: '字段说明', + prop: 'comment', + cell: true, + }, { + label: '列表显示', + prop: 'isList', + type: 'switch', + dicData: switchDic, + align: 'center', + width: 80, + cell: true, + }, { + label: '表单显示', + prop: 'isForm', + type: 'switch', + dicData: switchDic, + align: 'center', + width: 80, + cell: true, + }, { + label: '独占一行', + prop: 'isRow', + type: 'switch', + dicData: switchDic, + align: 'center', + width: 80, + cell: true, + }, { + label: '必填', + prop: 'isRequired', + type: 'switch', + dicData: switchDic, + align: 'center', + width: 80, + cell: true, + }, { + label: '组件类型', + prop: 'componentType', + type: "select", + dicData: componentDic, + cell: true, + }, { + label: '字典编码', + prop: 'dictCode', + type: "select", + dicUrl: "/api/blade-system/dict/select", + props: { + label: "dictValue", + value: "code" + }, + cell: true, + }, { + label: '查询配置', + prop: 'isQuery', + type: 'switch', + dicData: switchDic, + align: 'center', + width: 80, + cell: true, + }, { + label: '查询类型', + prop: 'queryType', + type: "select", + dicData: queryDic, + cell: true, + }] +}; diff --git a/src/views/tool/code.vue b/src/views/tool/code.vue index bfaf9ff..87d6237 100644 --- a/src/views/tool/code.vue +++ b/src/views/tool/code.vue @@ -48,6 +48,9 @@ + +