{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\main\\systemManagement\\MenuManger.vue?vue&type=template&id=2db77009&scoped=true&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\main\\systemManagement\\MenuManger.vue","mtime":1667327530028},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\loaders\\templateLoader.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["\n<el-container class=\"fullheight\" style=\"border: 1px solid #eee;background-color:#fff\">\n    <ht-menu-manager\n        ref=\"htMenuManager\"\n        @node-click=\"handleNodeClick\"\n        :showEdit=\"false\"\n        node-key=\"id\"\n        hide-menu\n        @menu-action=\"menuAction\"\n    />\n    <el-container v-if=\"editMenuFormVisible\">\n        <el-header class=\"hearder-buttons\">\n            <ht-submit-button\n                url=\"/sys/sysMenu/v1/save\"\n                context=\"portal\"\n                :model=\"menu\"\n                scope-name=\"editMenuForm\"\n                @before-save-data=\"beforeSaveData\"\n                @after-save-data=\"afterSaveData\"\n                v-if=\"\n                    !menu.id ||\n                    (!menu.tenantId &&\n                        ($store.state.login.currentUser.userAttrs\n                            .tenantId == -1 ||\n                            !$store.state.login.currentUser.userAttrs\n                                .tenantId)) ||\n                    $store.state.login.currentUser.userAttrs.tenantId ==\n                        menu.tenantId\n                \"\n                >{{ menu.id ? '更新' : '保存' }}</ht-submit-button\n            >\n            <el-button\n                type=\"primary\"\n                plain\n                @click=\"addSysMethods\"\n                title=\"添加接口\"\n                >添加接口</el-button\n            >\n        </el-header>\n        <el-main>\n            <el-form\n                data-vv-scope=\"editMenuForm\"\n                :model=\"menu\"\n                size=\"mini\"\n                :inline=\"true\"\n            >\n                <ht-form-item\n                    v-if=\"hasParent\"\n                    label=\"上级菜单\"\n                    label-width=\"150px\"\n                >\n                    <ht-input\n                        name=\"parent-menu-name\"\n                        v-model=\"currentNodeData.name\"\n                        autocomplete=\"off\"\n                        disabled\n                    ></ht-input>\n                </ht-form-item>\n                <ht-form-item\n                    v-if=\"hasParent\"\n                    label=\"上级菜单别名\"\n                    label-width=\"150px\"\n                >\n                    <ht-input\n                        name=\"parent-menu-alias\"\n                        v-model=\"currentNodeData.alias\"\n                        autocomplete=\"off\"\n                        style=\"width: 400px\"\n                        disabled\n                    ></ht-input>\n                </ht-form-item>\n                <br />\n                <ht-form-item label=\"菜单名称\" label-width=\"150px\">\n                    <ht-input\n                        name=\"menu-name\"\n                        v-model=\"menu.name\"\n                        autocomplete=\"off\"\n                        :validate=\"'required'\"\n                        :maxlength=\"12\"\n                        :showWordLimit=\"true\"\n                    ></ht-input>\n                </ht-form-item>\n                <ht-form-item\n                    v-if=\"!isHref\"\n                    label=\"菜单别名\"\n                    label-width=\"150px\"\n                >\n                    <ht-input\n                        name=\"menu-alias\"\n                        v-model=\"menu.alias\"\n                        :disabled=\"menu.id ? true : false\"\n                        autocomplete=\"off\"\n                        style=\"width: 400px\"\n                        :validate=\"\n                            'required|alpha_dash|isExist:${portal}/sys/sysMenu/v1/isMenuExistByAlias?alias=,' +\n                            menu.alias\n                        \"\n                        :maxlength=\"50\"\n                        :showWordLimit=\"true\"\n                    ></ht-input>\n                </ht-form-item>\n                <ht-form-item\n                    label=\"Url地址\"\n                    v-if=\"isHref\"\n                    label-width=\"150px\"\n                >\n                    <ht-input\n                        name=\"menu-href\"\n                        v-model=\"menu.href\"\n                        autocomplete=\"off\"\n                        style=\"width: 400px\"\n                    ></ht-input>\n                </ht-form-item>\n                <br />\n                <ht-form-item\n                    v-if=\"false\"\n                    label=\"菜单图标\"\n                    label-width=\"150px\"\n                >\n                    <span\n                        class=\"icon iconfont\"\n                        :class=\"menu.menuIcon\"\n                    ></span>\n                    <IconDialog\n                        @selected=\"icons\"\n                        style=\"display: inherit\"\n                    />\n                </ht-form-item>\n                <ht-form-item label=\"菜单排序\" label-width=\"150px\">\n                    <ht-input\n                        name=\"menu-sn\"\n                        v-model=\"menu.sn\"\n                        autocomplete=\"off\"\n                        validate=\"required|numeric\"\n                        :maxlength=\"9\"\n                        :showWordLimit=\"true\"\n                    ></ht-input>\n                </ht-form-item>\n                <ht-form-item\n                    v-if=\"!isHref && !isFrontMenu\"\n                    label=\"activeTab\"\n                    label-width=\"150px\"\n                    title=\"三级菜单默认显示的tab\"\n                >\n                    <ht-input\n                        name=\"menu-icon\"\n                        v-model=\"menu.activeTab\"\n                        autocomplete=\"off\"\n                        style=\"width: 400px\"\n                        :maxlength=\"50\"\n                        :showWordLimit=\"true\"\n                    ></ht-input>\n                </ht-form-item>\n                <!-- <ht-form-item v-if=\"isHref\" label=\"注意事项\" label-width=\"150px\">\n        <div style=\"color:red;width:400px;\">管理端菜单添加Url三级菜单时“Url地址”不需要填写，可以为空。</div>\n      </ht-form-item> -->\n                <br />\n                <ht-form-item\n                    label=\"标签页风格\"\n                    label-width=\"150px\"\n                    title=\"默认使用菜单配置 菜单没有配置， 则使用全局配置， 全局配置也没有则使用默认样式\"\n                >\n                    <el-radio-group v-model=\"tabsStyle.tabType\">\n                        <el-radio-button label>默认样式</el-radio-button>\n                        <el-radio-button label=\"card\"\n                            >选项卡样式</el-radio-button\n                        >\n                        <el-radio-button label=\"border-card\"\n                            >卡片化</el-radio-button\n                        >\n                    </el-radio-group>\n                </ht-form-item>\n                <ht-form-item label=\"打开方式\" label-width=\"150px\">\n                    <el-radio-group v-model=\"menu.openType\">\n                        <el-radio-button label=\"1\">内部</el-radio-button>\n                        <el-radio-button label=\"2\">新窗口</el-radio-button>\n                    </el-radio-group>\n                </ht-form-item>\n\n                <ht-form-item label=\"菜单图标\" label-width=\"150px\">\n                    <el-button\n                        class=\"choseIcons\"\n                        size=\"small\"\n                        @click=\"$refs.iconPanl.dialogVisible = true\"\n                        style=\"margin-right: 10px; vertical-align: middle\"\n                        title=\"选择图标\"\n                    >\n                        <!--              <i class=\"el-icon-picture-outline\" v-show=\"!meunIcon\"/>-->\n                        <span> 选择图标</span>\n                    </el-button>\n                    <el-button\n                        class=\"choseIcons\"\n                        size=\"small\"\n                        @click=\"clearIcon\"\n                        style=\"margin-right: 10px; vertical-align: middle\"\n                        title=\"选择图标\"\n                    >\n                        <!--              <i class=\"el-icon-picture-outline\" v-show=\"!meunIcon\"/>-->\n                        <span>取消图标</span>\n                    </el-button>\n                    <svgIcon\n                        icon-style=\"icon\"\n                        :icon-class=\"menu.menuIcon\"\n                        v-show=\"menu.menuIcon\"\n                        style=\"font-size: 24px; vertical-align: middle\"\n                    />\n                </ht-form-item>\n                <ht-form-item label=\"是否启用\" label-width=\"150px\">\n                    <el-switch\n                        v-model=\"menu.status\"\n                        :active-value=\"1\"\n                        :inactive-value=\"0\"\n                        active-color=\"#13ce66\"\n                        inactive-color=\"#ff4949\"\n                    >\n                    </el-switch>\n                </ht-form-item>\n\n                <el-table :data=\"menu.sysMethods\" style=\"width: 100%\">\n                    <el-table-column prop=\"name\" label width=\"180\">\n                        <template slot=\"header\">\n                            <span class=\"is-required\">请求方法描述</span>\n                        </template>\n                        <template slot-scope=\"scope\">\n                            <ht-input\n                                v-model=\"scope.row.name\"\n                                autocomplete=\"off\"\n                                validate=\"required\"\n                                placeholder=\"方法描述\"\n                                :maxlength=\"50\"\n                                :showWordLimit=\"true\"\n                            ></ht-input>\n                        </template>\n                    </el-table-column>\n                    <el-table-column prop=\"alias\" label width=\"180\">\n                        <template slot=\"header\">\n                            <span class=\"is-required\">别名</span>\n                            <el-tooltip\n                                content=\"别名为字母数字组合，且以字母开头，不能包括特殊字符\"\n                                placement=\"right\"\n                            >\n                                <i\n                                    class=\"icon-question\"\n                                    style=\"margin-right: 8px\"\n                                />\n                            </el-tooltip>\n                        </template>\n                        <template slot-scope=\"scope\">\n                            <ht-input\n                                v-model=\"\n                                    menu.sysMethods[scope.$index].alias\n                                \"\n                                :model-expression=\"\n                                    'menu.sysMethods[' +\n                                    scope.$index +\n                                    '].alias'\n                                \"\n                                v-pinyin=\"\n                                    menu.sysMethods[scope.$index].name\n                                \"\n                                autocomplete=\"off\"\n                                :validate=\"{\n                                    required: true,\n                                    regex: {\n                                        exp: '^[a-zA-z][a-zA-z0-9]+$',\n                                        message: '别名有误',\n                                    },\n                                }\"\n                                :disabled=\"scope.row.id ? true : false\"\n                                placeholder=\"唯一别名\"\n                                :maxlength=\"50\"\n                                :showWordLimit=\"true\"\n                            ></ht-input>\n                        </template>\n                    </el-table-column>\n\n                    <el-table-column prop=\"methodType\" label width=\"180\">\n                        <template slot=\"header\">\n                            <span class=\"is-required\">授权类别</span>\n                            <!--                <el-tooltip content=\"权限分配\" placement=\"right\">-->\n                            <!--                  <i class=\"icon-question\" style=\"margin-right: 8px\" />-->\n                            <!--                </el-tooltip>-->\n                        </template>\n                        <template slot-scope=\"scope\">\n                            <el-select\n                                v-model=\"scope.row.methodType\"\n                                placeholder=\"请选择授权类别\"\n                            >\n                                <el-option label=\"方法授权\" value=\"1\" />\n                                <el-option label=\"按钮授权\" value=\"2\" />\n                            </el-select>\n                        </template>\n                    </el-table-column>\n\n                    <el-table-column prop=\"requestUrl\" label width=\"auto\">\n                        <template slot=\"header\">\n                            <span class=\"is-required\">后台请求地址</span>\n                            <el-tooltip\n                                content=\"请求地址必须以/开头,并且只能包括英文、数字和/\"\n                                placement=\"right\"\n                            >\n                                <i\n                                    class=\"icon-question\"\n                                    style=\"margin-right: 8px\"\n                                />\n                            </el-tooltip>\n                        </template>\n                        <template slot-scope=\"scope\">\n                            <ht-input\n                                v-model=\"scope.row.requestUrl\"\n                                style=\"width: 90%\"\n                                autocomplete=\"off\"\n                                :validate=\"{\n                                    required: true,\n                                    regex: {\n                                        exp: '^/[a-zA-Z0-9\\\\\\\\\\\\/\\\\+]+$',\n                                        message: '请求地址输入有误',\n                                    },\n                                }\"\n                                placeholder=\"请输入后台请求地址\"\n                            ></ht-input>\n                            <el-button\n                                style=\"margin-left: 10px\"\n                                type=\"danger\"\n                                icon=\"el-icon-delete\"\n                                circle\n                                @click=\"removeSysMethod(scope.row)\"\n                            ></el-button>\n                        </template>\n                    </el-table-column>\n                </el-table>\n            </el-form>\n        </el-main>\n    </el-container>\n    <!-- 子级批量排序 -->\n    <ht-sidebar-dialog\n        width=\"600px\"\n        title=\"子菜单批量排序\"\n        :visible=\"batchSortDialog\"\n        :before-close=\"handleBatchSortClose\"\n        :append-to-body=\"true\"\n    >   \n        <table\n            class=\"form-table\"\n            cellspacing=\"0\"\n            cellpadding=\"0\"\n            border=\"0\"\n        >\n            <tbody>\n                <tr v-for=\"data in subMenuList\" :key=\"data.id\">\n                    <th width=\"90px\">菜单名称:</th>\n                    <td>{{ data.name }}</td>\n                    <th width=\"70px\" class=\"is-required\">排序:</th>\n                    <td width=\"90px\">\n                        <ht-input\n                            v-model=\"data.sn\"\n                            type=\"number\"\n                            autocomplete=\"off\"\n                            validate=\"required\"\n                        />\n                    </td>\n                </tr>\n            </tbody>\n        </table>\n        <div slot=\"footer\" class=\"dialog-footer\">\n            <el-button @click=\"save()\" type=\"primary\">{{\n                $t('eip.common.save')\n            }}</el-button>\n            <el-button @click=\"handleBatchSortClose()\">{{\n                $t('eip.common.cancel')\n            }}</el-button>\n        </div>\n    </ht-sidebar-dialog>\n    <el-dialog\n        width=\"400px\"\n        top=\"8vh\"\n        title=\"菜单移动\"\n        :visible=\"handleDialog\"\n        :before-close=\"handleClose\"\n        :close-on-click-modal=\"false\"\n        append-to-body\n    >\n        <el-scrollbar>\n            <ht-tree\n                style=\"height: 500px\"\n                :data=\"treeMenuData\"\n                :props=\"defaultMenuProps\"\n                @node-click=\"handleMenuNodeClick\"\n                :expand-on-click-node=\"false\"\n                ref=\"htTypeTree\"\n            ></ht-tree>\n        </el-scrollbar>\n        <div slot=\"footer\" class=\"dialog-footer\">\n            <el-button type=\"primary\" @click=\"handleSave\">确 定</el-button>\n            <el-button @click=\"handleClose\">取 消</el-button>\n        </div>\n    </el-dialog>\n    <el-container v-show=\"!editMenuFormVisible\">\n        <div class=\"form-empty\">请选择一个菜单进行操作</div>\n    </el-container>\n    <!-- 导入 -->\n    <el-dialog\n        title=\"上传文件\"\n        :visible=\"uploadDialogVisible\"\n        :before-close=\"beforeClose\"\n    >\n        <el-upload\n            :http-request=\"handleImport\"\n            accept=\".zip\"\n            :file-list=\"fileList\"\n            :limit=\"1\"\n        >\n            <el-button size=\"small\" type=\"primary\">点击上传</el-button>\n            <div slot=\"tip\" class=\"el-upload__tip\">只能上传zip文件</div>\n        </el-upload>\n    </el-dialog>\n\n    <IconPanl @select=\"choseIcon\" ref=\"iconPanl\" />\n</el-container>\n",null]}