| | |
| | | private String itemName; |
| | | private String tableColumns; |
| | | private String formEditColumns; |
| | | private String formEditForeignKeyColumns; |
| | | |
| | | public void build() throws Exception { |
| | | init(); |
| | |
| | | .replaceAll("@\\{SYSTEMPACKAGE}",systemPackage) |
| | | .replaceAll("@\\{TABLECOLUMNS}", tableColumns) |
| | | .replaceAll("@\\{FORMEDITCOLUMNS}", formEditColumns) |
| | | .replaceAll("@\\{FORMEDITFOREIGNKEYCOLUMNS}", formEditForeignKeyColumns) |
| | | ; |
| | | writerFile.createNewFile(); |
| | | BufferedWriter writer=new BufferedWriter(new FileWriter(writerFile)); |
| | |
| | | continue; |
| | | } |
| | | sb.append(" {\n") |
| | | .append(" title: '").append(column.getComment()).append("',\n") |
| | | .append(" title: formatMessage('db.").append(table).append(".").append(column.getName()).append("', '").append(column.getComment()).append("'),").append("\n") |
| | | .append(" dataIndex: '"); |
| | | if ("Date".equals(column.getType()) || !Cools.isEmpty(column.getEnums()) || !Cools.isEmpty(column.getForeignKeyMajor())){ |
| | | // 时间、枚举 格式化 主键修饰 |
| | |
| | | sb.append(column.getHumpName()); |
| | | } |
| | | sb.append("',\n") |
| | | .append(" width: 140,\n"); |
| | | .append(" width: 140,\n") |
| | | .append(" ellipsis: true,\n"); |
| | | // if (!Cools.isEmpty(column.getEnums())) { |
| | | // sb.append(" customRender: (column) => {\n"); |
| | | // sb.append(" let typeMap = {"); |
| | |
| | | |
| | | private String createFormEditColumns() { |
| | | StringBuilder sb = new StringBuilder(); |
| | | StringBuilder sb2 = new StringBuilder(); |
| | | ArrayList<String> foreignKeyContains = new ArrayList<>(); |
| | | for (Column column : columns) { |
| | | boolean has = true; |
| | | if (column.isPrimaryKey() |
| | | || column.getHumpName().equals("deleted") |
| | | || column.getHumpName().equals("hostId") |
| | |
| | | } |
| | | |
| | | sb.append(" <a-form-item \n"); |
| | | sb.append(" label=\"").append(column.getComment()).append("\" \n"); |
| | | sb.append(" :label=\"formatMessage('db.").append(table).append(".").append(column.getName()).append("', '").append(column.getComment()).append("') ").append("\" \n"); |
| | | sb.append(" name=\"").append(column.getHumpName()).append("\" \n"); |
| | | sb.append(" style=\"width: 250px;\" \n"); |
| | | |
| | |
| | | sb.append(" ]\"\n"); |
| | | sb.append(" >\n"); |
| | | sb.append(" </a-select>\n"); |
| | | has = false; |
| | | } |
| | | |
| | | // 时间 |
| | | if ("Date".equals(column.getType())) { |
| | | sb.append(" <a-select \n"); |
| | | sb.append(" <a-date-picker \n"); |
| | | sb.append(" v-model:value=\"formData.").append(column.getHumpName()).append("\" \n"); |
| | | sb.append(" show-time \n"); |
| | | sb.append(" format=\"YYYY-MM-DD HH:mm:ss\" \n"); |
| | | sb.append(" value-format=\"YYYY-MM-DD HH:mm:ss\" \n"); |
| | | sb.append(" /> \n"); |
| | | has = false; |
| | | } |
| | | |
| | | // 关联表 |
| | | if (!Cools.isEmpty(column.getForeignKey())) { |
| | | // sb.append(" showSearch\n") |
| | | // .append(" debounceTime={300}\n") |
| | | // .append(" request={async ({ keyWords }) => {\n") |
| | | // .append(" const resp = await Http.doPostForm('api/").append(GeneratorUtils.firstCharConvert(column.getForeignKey())).append("/query', { condition: keyWords });\n") |
| | | // .append(" return resp.data;\n") |
| | | // .append(" }}\n"); |
| | | if (!foreignKeyContains.contains(column.getForeignKey())) { |
| | | sb2.append("const ").append(column.getForeignKey()).append("QueryList = ref(null); \n"); |
| | | sb2.append(column.getForeignKey()).append("Query();\n"); |
| | | sb2.append("function ").append(column.getForeignKey()).append("Query() { \n"); |
| | | sb2.append(" postForm('/api/").append(column.getForeignKey().toLowerCase()).append("/query', {}).then(resp => { \n"); |
| | | sb2.append(" let result = resp.data;\n"); |
| | | sb2.append(" ").append(column.getForeignKey()).append("QueryList.value = result.data;\n"); |
| | | sb2.append(" })\n"); |
| | | sb2.append("}\n"); |
| | | |
| | | foreignKeyContains.add(column.getForeignKey()); |
| | | } |
| | | |
| | | sb.append(" <a-select \n"); |
| | | sb.append(" v-model:value=\"formData.").append(column.getHumpName()).append("\" \n"); |
| | | sb.append(" placeholder=\"Select users\" \n"); |
| | | sb.append(" style=\"width: 100%\" \n"); |
| | | sb.append(" show-search \n"); |
| | | sb.append(" :options=\"").append(column.getForeignKey()).append("QueryList\" \n"); |
| | | sb.append(" optionFilterProp=\"label\" \n"); |
| | | sb.append(" optionLabelProp=\"label\" \n"); |
| | | sb.append(" > \n"); |
| | | sb.append(" </a-select>\n"); |
| | | has = false; |
| | | } |
| | | |
| | | if (has) { |
| | | sb.append(" <a-input \n"); |
| | | sb.append(" v-model:value=\"formData.").append(column.getHumpName()).append("\" \n"); |
| | | sb.append(" /> \n"); |
| | | has = false; |
| | | } |
| | | |
| | | sb.append(" </a-form-item>\n"); |
| | | |
| | | } |
| | | |
| | | formEditForeignKeyColumns = sb2.toString(); |
| | | return sb.toString(); |
| | | } |
| | | |