wuxw
2019-08-09 9d6533137ca2e5e2d659b22ee6c3ac2e0b1c2045
java110-code-generator/src/main/java/com/java110/code/web/GeneratorManagerComponent.java
@@ -39,6 +39,7 @@
        JSONArray tmpConditions = data.getJSONArray("conditions");
        StringBuffer conditionInput = new StringBuffer();
        StringBuffer vcCreate = new StringBuffer();
        for(int condIndex = 0 ; condIndex <  tmpConditions.size(); condIndex ++){
@@ -49,31 +50,47 @@
            }
            if(condIndex % 3 == 0 || condIndex % 3 == 1) {
                conditionInput.append("<div class=\"col-sm-4\">\n");
                conditionInput.append("<div class=\"col-sm-4\" ");
            }else if(condIndex % 3 == 2){
                conditionInput.append("<div class=\"col-sm-3\">\n");
                conditionInput.append("<div class=\"col-sm-3\" ");
            }
            if (condIndex > 2) {
                conditionInput.append("v-if=\"" + data.getString("templateCode") + "ManageInfo.moreCondition == true\">\n");
            } else {
                conditionInput.append(">\n");
            }
            if("choose".equals(tmpCond.getString("inputType"))){
                conditionInput.append("                            <div class=\"form-group input-group\">\n" +
                        "                                <input type=\"text\" placeholder=\"请选择"+tmpCond.getString("name")+"\" v-model=\""+ data.getString("templateCode")+"ManageInfo."+tmpCond.getString("code")+"\" class=\" form-control\">\n" +
                        "                                <input type=\"text\" placeholder=\"请选择" + tmpCond.getString("name") +
                        "\" v-model=\"" + data.getString("templateCode") + "ManageInfo.conditions." + tmpCond.getString("code") + "\" class=\" form-control\">\n" +
                        "                                <div class=\"input-group-prepend\">\n" +
                        "                                    <button type=\"button\" class=\"btn btn-primary btn-sm\"><i\n" +
                        "                                    <button type=\"button\" class=\"btn btn-primary btn-sm\" v-on:click=\"_open" + toUpperCaseFirstOne(tmpCond.getString("componentName")) + "Method()\"><i\n" +
                        "                                            class=\"glyphicon glyphicon-search\"></i> 选择\n" +
                        "                                    </button>\n" +
                        "                                </div>\n" +
                        "                            </div>\n");
                if (tmpCond.containsKey("componentName")) {
                    vcCreate.append("<vc:create name=\"" + tmpCond.getString("componentName") + "\"\n" +
                            "               emit" + toUpperCaseFirstOne(tmpCond.getString("componentName")) + "=\"" + data.getString("templateCode") + "Manage\"\n" +
                            "               emitLoadData=\"" + data.getString("templateCode") + "Manage\"\n" +
                            "    ></vc:create>\n");
                }
            }else if("input".equals(tmpCond.getString("inputType"))){
                conditionInput.append("<div class=\"form-group\">\n" +
                        "                                <input type=\"text\" placeholder=\"请输入"+tmpCond.getString("name")+"\" v-model=\""+ data.getString("templateCode")+"ManageInfo."+tmpCond.getString("code")+"\" class=\" form-control\">\n" +
                        "                                <input type=\"text\" placeholder=\"请输入" + tmpCond.getString("name") + "\" v-model=\"" + data.getString("templateCode") + "ManageInfo.conditions." + tmpCond.getString("code") + "\" class=\" form-control\">\n" +
                        "                            </div>");
            }
                conditionInput.append("                        </div>");
            if(condIndex == 2){
                conditionInput.append("<div class=\"col-sm-1\">\n" +
                        "                            <button type=\"button\" class=\"btn btn-primary btn-sm\"><i\n" +
                        "                                    class=\"glyphicon glyphicon-search\"></i> 查询\n" +
                        "                            <button type=\"button\" class=\"btn btn-primary btn-sm\" v-on:click=\"_query" + toUpperCaseFirstOne(data.getString("templateCode")) + "Method()><i\n" +
                        "                                    class=\"glyphicon glyphicon-search\" \"></i> 查询\n" +
                        "                            </button>\n" +
                        "                        </div>");
            }else if(condIndex % 3 == 2){
@@ -89,6 +106,7 @@
        }
        fileContext = fileContext.replace("@@conditionInput@@", conditionInput.toString());
        fileContext = fileContext.replace("@@vcCreate@@", vcCreate.toString());
        if(tmpConditions.size() > 3){
            fileContext = fileContext.replace("@@moreCondition@@","<button type=\"button\"  class=\"btn btn-link btn-sm\" style=\"margin-right:10px;\"  v-on:click=\"_moreCondition()\">更多</button>");
@@ -108,9 +126,10 @@
        JSONArray columns = data.getJSONArray("columns");
        for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
            JSONObject column = columns.getJSONObject(columnIndex);
            if (column.getBoolean("show")) {
            thSb.append("                            <th class=\"text-center\">" + column.getString("cnCode") + "</th>\n");
            tdSb.append("                            <td class=\"text-center\">{{" + data.getString("templateCode") + "." + column.getString("code") + "}}</td>\n");
            }
        }
        thSb.append("                            <th class=\"text-center\">操作</th>\n");
        tdSb.append("                            <td class=\"text-center\"><div class=\"btn-group\">\n" +
@@ -122,7 +141,6 @@
        fileContext = fileContext.replace("@@columnsCnCode@@", thSb.toString())
                                .replace("@@columnsName@@", tdSb.toString());
        String writePath = this.getClass().getResource("/").getPath()
@@ -145,6 +163,41 @@
        String fileContext = sb.toString();
        fileContext = super.replaceTemplateContext(fileContext, data);
        //处理查询条件
        JSONArray tmpConditions = data.getJSONArray("conditions");
        StringBuffer conditionInput = new StringBuffer();
        StringBuffer conditionMethod = new StringBuffer();
        StringBuffer conditionEvent = new StringBuffer();
        for (int condIndex = 0; condIndex < tmpConditions.size(); condIndex++) {
            JSONObject tmpCond = tmpConditions.getJSONObject(condIndex);
            conditionInput.append(tmpCond.getString("code") + ":'',\n");
            if(tmpCond.containsKey("key")){
                conditionInput.append(tmpCond.getString("key") + ":'',\n");
            }
            if (tmpCond.containsKey("componentName")) {
                conditionMethod.append(",\n _open" + toUpperCaseFirstOne(tmpCond.getString("componentName")) + "Method:function(){\n" +
                        "                vc.emit('" + tmpCond.getString("componentName") + "','open" + toUpperCaseFirstOne(tmpCond.getString("componentName")) + "Model',{});\n" +
                        "\n" +
                        "            }"
                );
                conditionEvent.append("vc.on('" + data.getString("templateCode") + "Manage','" + tmpCond.getString("componentName") + "',function(_param){\n" +
                        "              vc.copyObject(_param,vc.component." + data.getString("templateCode") + "ManageInfo.conditions);\n" +
                        "            });\n");
            }
        }
        fileContext = fileContext.replace("@@conditions@@", conditionInput.toString());
        fileContext = fileContext.replace("@@extendMethods@@", conditionMethod.toString());
        fileContext = fileContext.replace("@@extendEvent@@", conditionEvent.toString());
        String writePath = this.getClass().getResource("/").getPath()
                +"out/web/component/"+data.getString("templateCode")+"Package/"+data.getString("templateCode")+"-manage/"+data.getString("templateCode")+"Manage.js";
@@ -178,6 +231,7 @@
    /**
     * 生成接口类
     *
     * @param data
     */
    private void genneratorIListSmo(JSONObject data){
@@ -195,6 +249,7 @@
    /**
     * 生成接口类
     *
     * @param data
     */
    private void genneratorListSmoImpl(JSONObject data){
@@ -212,6 +267,7 @@
    /**
     * 生成API 侦听处理类
     *
     * @param data
     */
    private void genneratorListListener(JSONObject data){