| | |
| | | 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)); |
| | |
| | | |
| | | 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(" ]\"\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(); |
| | | } |
| | | |