1 |
- {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\views\\tool\\gen\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\views\\tool\\gen\\index.vue","mtime":1615971308820},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyBsaXN0VGFibGUsIHByZXZpZXdUYWJsZSwgZGVsVGFibGUsIGdlbkNvZGUsIHN5bmNoRGIgfSBmcm9tICJAL2FwaS90b29sL2dlbiI7DQppbXBvcnQgaW1wb3J0VGFibGUgZnJvbSAiLi9pbXBvcnRUYWJsZSI7DQppbXBvcnQgeyBkb3duTG9hZFppcCB9IGZyb20gIkAvdXRpbHMvemlwZG93bmxvYWQiOw0KaW1wb3J0IGhsanMgZnJvbSAiaGlnaGxpZ2h0LmpzL2xpYi9oaWdobGlnaHQiOw0KaW1wb3J0ICJoaWdobGlnaHQuanMvc3R5bGVzL2dpdGh1Yi1naXN0LmNzcyI7DQpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImphdmEiLCByZXF1aXJlKCJoaWdobGlnaHQuanMvbGliL2xhbmd1YWdlcy9qYXZhIikpOw0KaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ4bWwiLCByZXF1aXJlKCJoaWdobGlnaHQuanMvbGliL2xhbmd1YWdlcy94bWwiKSk7DQpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImh0bWwiLCByZXF1aXJlKCJoaWdobGlnaHQuanMvbGliL2xhbmd1YWdlcy94bWwiKSk7DQpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInZ1ZSIsIHJlcXVpcmUoImhpZ2hsaWdodC5qcy9saWIvbGFuZ3VhZ2VzL3htbCIpKTsNCmhsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsIHJlcXVpcmUoImhpZ2hsaWdodC5qcy9saWIvbGFuZ3VhZ2VzL2phdmFzY3JpcHQiKSk7DQpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsIHJlcXVpcmUoImhpZ2hsaWdodC5qcy9saWIvbGFuZ3VhZ2VzL3NxbCIpKTsNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAiR2VuIiwNCiAgY29tcG9uZW50czogeyBpbXBvcnRUYWJsZSB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICAvLyDpga7nvanlsYINCiAgICAgIGxvYWRpbmc6IHRydWUsDQogICAgICAvLyDllK/kuIDmoIfor4bnrKYNCiAgICAgIHVuaXF1ZUlkOiAiIiwNCiAgICAgIC8vIOmAieS4reaVsOe7hA0KICAgICAgaWRzOiBbXSwNCiAgICAgIC8vIOmAieS4reihqOaVsOe7hA0KICAgICAgdGFibGVOYW1lczogW10sDQogICAgICAvLyDpnZ7ljZXkuKrnpoHnlKgNCiAgICAgIHNpbmdsZTogdHJ1ZSwNCiAgICAgIC8vIOmdnuWkmuS4quemgeeUqA0KICAgICAgbXVsdGlwbGU6IHRydWUsDQogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YNCiAgICAgIHNob3dTZWFyY2g6IHRydWUsDQogICAgICAvLyDmgLvmnaHmlbANCiAgICAgIHRvdGFsOiAwLA0KICAgICAgLy8g6KGo5pWw5o2uDQogICAgICB0YWJsZUxpc3Q6IFtdLA0KICAgICAgLy8g5pel5pyf6IyD5Zu0DQogICAgICBkYXRlUmFuZ2U6ICIiLA0KICAgICAgLy8g5p+l6K+i5Y+C5pWwDQogICAgICBxdWVyeVBhcmFtczogew0KICAgICAgICBwYWdlTnVtOiAxLA0KICAgICAgICBwYWdlU2l6ZTogMTAsDQogICAgICAgIHRhYmxlTmFtZTogdW5kZWZpbmVkLA0KICAgICAgICB0YWJsZUNvbW1lbnQ6IHVuZGVmaW5lZA0KICAgICAgfSwNCiAgICAgIC8vIOmihOiniOWPguaVsA0KICAgICAgcHJldmlldzogew0KICAgICAgICBvcGVuOiBmYWxzZSwNCiAgICAgICAgdGl0bGU6ICLku6PnoIHpooTop4giLA0KICAgICAgICBkYXRhOiB7fSwNCiAgICAgICAgYWN0aXZlTmFtZTogImRvbWFpbi5qYXZhIg0KICAgICAgfQ0KICAgIH07DQogIH0sDQogIGNyZWF0ZWQoKSB7DQogICAgdGhpcy5nZXRMaXN0KCk7DQogIH0sDQogIGFjdGl2YXRlZCgpIHsNCiAgICBjb25zdCB0aW1lID0gdGhpcy4kcm91dGUucXVlcnkudDsNCiAgICBpZiAodGltZSAhPSBudWxsICYmIHRpbWUgIT0gdGhpcy51bmlxdWVJZCkgew0KICAgICAgdGhpcy51bmlxdWVJZCA9IHRpbWU7DQogICAgICB0aGlzLnJlc2V0UXVlcnkoKTsNCiAgICB9DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvKiog5p+l6K+i6KGo6ZuG5ZCIICovDQogICAgZ2V0TGlzdCgpIHsNCiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7DQogICAgICBsaXN0VGFibGUodGhpcy5hZGREYXRlUmFuZ2UodGhpcy5xdWVyeVBhcmFtcywgdGhpcy5kYXRlUmFuZ2UpKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgICB0aGlzLnRhYmxlTGlzdCA9IHJlc3BvbnNlLnJvd3M7DQogICAgICAgICAgdGhpcy50b3RhbCA9IHJlc3BvbnNlLnRvdGFsOw0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICB9DQogICAgICApOw0KICAgIH0sDQogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqLw0KICAgIGhhbmRsZVF1ZXJ5KCkgew0KICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wYWdlTnVtID0gMTsNCiAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgIH0sDQogICAgLyoqIOeUn+aIkOS7o+eggeaTjeS9nCAqLw0KICAgIGhhbmRsZUdlblRhYmxlKHJvdykgew0KICAgICAgY29uc3QgdGFibGVOYW1lcyA9IHJvdy50YWJsZU5hbWUgfHwgdGhpcy50YWJsZU5hbWVzOw0KICAgICAgaWYgKHRhYmxlTmFtZXMgPT0gIiIpIHsNCiAgICAgICAgdGhpcy5tc2dFcnJvcigi6K+36YCJ5oup6KaB55Sf5oiQ55qE5pWw5o2uIik7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCiAgICAgIGlmKHJvdy5nZW5UeXBlID09PSAiMSIpIHsNCiAgICAgICAgZ2VuQ29kZShyb3cudGFibGVOYW1lKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgICB0aGlzLm1zZ1N1Y2Nlc3MoIuaIkOWKn+eUn+aIkOWIsOiHquWumuS5iei3r+W+hO+8miIgKyByb3cuZ2VuUGF0aCk7DQogICAgICAgIH0pOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgZG93bkxvYWRaaXAoIi9jb2RlL2dlbi9iYXRjaEdlbkNvZGU/dGFibGVzPSIgKyB0YWJsZU5hbWVzLCAicnVveWkiKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIC8qKiDlkIzmraXmlbDmja7lupPmk43kvZwgKi8NCiAgICBoYW5kbGVTeW5jaERiKHJvdykgew0KICAgICAgY29uc3QgdGFibGVOYW1lID0gcm93LnRhYmxlTmFtZTsNCiAgICAgIHRoaXMuJGNvbmZpcm0oJ+ehruiupOimgeW8uuWItuWQjOatpSInICsgdGFibGVOYW1lICsgJyLooajnu5PmnoTlkJfvvJ8nLCAi6K2m5ZGKIiwgew0KICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIuehruWumiIsDQogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLA0KICAgICAgICB0eXBlOiAid2FybmluZyINCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7DQogICAgICAgICAgcmV0dXJuIHN5bmNoRGIodGFibGVOYW1lKTsNCiAgICAgIH0pLnRoZW4oKCkgPT4gew0KICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5ZCM5q2l5oiQ5YqfIik7DQogICAgICB9KQ0KICAgIH0sDQogICAgLyoqIOaJk+W8gOWvvOWFpeihqOW8ueeqlyAqLw0KICAgIG9wZW5JbXBvcnRUYWJsZSgpIHsNCiAgICAgIHRoaXMuJHJlZnMuaW1wb3J0LnNob3coKTsNCiAgICB9LA0KICAgIC8qKiDph43nva7mjInpkq7mk43kvZwgKi8NCiAgICByZXNldFF1ZXJ5KCkgew0KICAgICAgdGhpcy5kYXRlUmFuZ2UgPSBbXTsNCiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsNCiAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKTsNCiAgICB9LA0KICAgIC8qKiDpooTop4jmjInpkq4gKi8NCiAgICBoYW5kbGVQcmV2aWV3KHJvdykgew0KICAgICAgcHJldmlld1RhYmxlKHJvdy50YWJsZUlkKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgdGhpcy5wcmV2aWV3LmRhdGEgPSByZXNwb25zZS5kYXRhOw0KICAgICAgICB0aGlzLnByZXZpZXcub3BlbiA9IHRydWU7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8qKiDpq5jkuq7mmL7npLogKi8NCiAgICBoaWdobGlnaHRlZENvZGUoY29kZSwga2V5KSB7DQogICAgICBjb25zdCB2bU5hbWUgPSBrZXkuc3Vic3RyaW5nKGtleS5sYXN0SW5kZXhPZigiLyIpICsgMSwga2V5LmluZGV4T2YoIi52bSIpKTsNCiAgICAgIHZhciBsYW5ndWFnZSA9IHZtTmFtZS5zdWJzdHJpbmcodm1OYW1lLmluZGV4T2YoIi4iKSArIDEsIHZtTmFtZS5sZW5ndGgpOw0KICAgICAgY29uc3QgcmVzdWx0ID0gaGxqcy5oaWdobGlnaHQobGFuZ3VhZ2UsIGNvZGUgfHwgIiIsIHRydWUpOw0KICAgICAgcmV0dXJuIHJlc3VsdC52YWx1ZSB8fCAnJm5ic3A7JzsNCiAgICB9LA0KICAgIC8vIOWkmumAieahhumAieS4reaVsOaNrg0KICAgIGhhbmRsZVNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24pIHsNCiAgICAgIHRoaXMuaWRzID0gc2VsZWN0aW9uLm1hcChpdGVtID0+IGl0ZW0udGFibGVJZCk7DQogICAgICB0aGlzLnRhYmxlTmFtZXMgPSBzZWxlY3Rpb24ubWFwKGl0ZW0gPT4gaXRlbS50YWJsZU5hbWUpOw0KICAgICAgdGhpcy5zaW5nbGUgPSBzZWxlY3Rpb24ubGVuZ3RoICE9IDE7DQogICAgICB0aGlzLm11bHRpcGxlID0gIXNlbGVjdGlvbi5sZW5ndGg7DQogICAgfSwNCiAgICAvKiog5L+u5pS55oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlRWRpdFRhYmxlKHJvdykgew0KICAgICAgY29uc3QgdGFibGVJZCA9IHJvdy50YWJsZUlkIHx8IHRoaXMuaWRzWzBdOw0KICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9nZW4vZWRpdC8iICsgdGFibGVJZCk7DQogICAgfSwNCiAgICAvKiog5Yig6Zmk5oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlRGVsZXRlKHJvdykgew0KICAgICAgY29uc3QgdGFibGVJZHMgPSByb3cudGFibGVJZCB8fCB0aGlzLmlkczsNCiAgICAgIHRoaXMuJGNvbmZpcm0oJ+aYr+WQpuehruiupOWIoOmZpOihqOe8luWPt+S4uiInICsgdGFibGVJZHMgKyAnIueahOaVsOaNrumhuT8nLCAi6K2m5ZGKIiwgew0KICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIuehruWumiIsDQogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLA0KICAgICAgICB0eXBlOiAid2FybmluZyINCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24oKSB7DQogICAgICAgICAgcmV0dXJuIGRlbFRhYmxlKHRhYmxlSWRzKTsNCiAgICAgIH0pLnRoZW4oKCkgPT4gew0KICAgICAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5Yig6Zmk5oiQ5YqfIik7DQogICAgICB9KQ0KICAgIH0NCiAgfQ0KfTsNCg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/tool/gen","sourcesContent":["<template>\r\n <div class=\"app-container\">\r\n <el-form :model=\"queryParams\" ref=\"queryForm\" :inline=\"true\" v-show=\"showSearch\" label-width=\"68px\">\r\n <el-form-item label=\"表名称\" prop=\"tableName\">\r\n <el-input\r\n v-model=\"queryParams.tableName\"\r\n placeholder=\"请输入表名称\"\r\n clearable\r\n size=\"small\"\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"表描述\" prop=\"tableComment\">\r\n <el-input\r\n v-model=\"queryParams.tableComment\"\r\n placeholder=\"请输入表描述\"\r\n clearable\r\n size=\"small\"\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"创建时间\">\r\n <el-date-picker\r\n v-model=\"dateRange\"\r\n size=\"small\"\r\n style=\"width: 240px\"\r\n value-format=\"yyyy-MM-dd\"\r\n type=\"daterange\"\r\n range-separator=\"-\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n ></el-date-picker>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\" icon=\"el-icon-search\" size=\"mini\" @click=\"handleQuery\">搜索</el-button>\r\n <el-button icon=\"el-icon-refresh\" size=\"mini\" @click=\"resetQuery\">重置</el-button>\r\n </el-form-item>\r\n </el-form>\r\n\r\n <el-row :gutter=\"10\" class=\"mb8\">\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"primary\"\r\n plain\r\n icon=\"el-icon-download\"\r\n size=\"mini\"\r\n @click=\"handleGenTable\"\r\n v-hasPermi=\"['tool:gen:code']\"\r\n >生成</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"info\"\r\n plain\r\n icon=\"el-icon-upload\"\r\n size=\"mini\"\r\n @click=\"openImportTable\"\r\n v-hasPermi=\"['tool:gen:import']\"\r\n >导入</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"success\"\r\n plain\r\n icon=\"el-icon-edit\"\r\n size=\"mini\"\r\n :disabled=\"single\"\r\n @click=\"handleEditTable\"\r\n v-hasPermi=\"['tool:gen:edit']\"\r\n >修改</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"danger\"\r\n plain\r\n icon=\"el-icon-delete\"\r\n size=\"mini\"\r\n :disabled=\"multiple\"\r\n @click=\"handleDelete\"\r\n v-hasPermi=\"['tool:gen:remove']\"\r\n >删除</el-button>\r\n </el-col>\r\n <right-toolbar :showSearch.sync=\"showSearch\" @queryTable=\"getList\"></right-toolbar>\r\n </el-row>\r\n\r\n <el-table v-loading=\"loading\" :data=\"tableList\" @selection-change=\"handleSelectionChange\">\r\n <el-table-column type=\"selection\" align=\"center\" width=\"55\"></el-table-column>\r\n <el-table-column label=\"序号\" type=\"index\" width=\"50\" align=\"center\">\r\n <template slot-scope=\"scope\">\r\n <span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n label=\"表名称\"\r\n align=\"center\"\r\n prop=\"tableName\"\r\n :show-overflow-tooltip=\"true\"\r\n width=\"120\"\r\n />\r\n <el-table-column\r\n label=\"表描述\"\r\n align=\"center\"\r\n prop=\"tableComment\"\r\n :show-overflow-tooltip=\"true\"\r\n width=\"120\"\r\n />\r\n <el-table-column\r\n label=\"实体\"\r\n align=\"center\"\r\n prop=\"className\"\r\n :show-overflow-tooltip=\"true\"\r\n width=\"120\"\r\n />\r\n <el-table-column label=\"创建时间\" align=\"center\" prop=\"createTime\" width=\"160\" />\r\n <el-table-column label=\"更新时间\" align=\"center\" prop=\"updateTime\" width=\"160\" />\r\n <el-table-column label=\"操作\" align=\"center\" class-name=\"small-padding fixed-width\">\r\n <template slot-scope=\"scope\">\r\n <el-button\r\n type=\"text\"\r\n size=\"small\"\r\n icon=\"el-icon-view\"\r\n @click=\"handlePreview(scope.row)\"\r\n v-hasPermi=\"['tool:gen:preview']\"\r\n >预览</el-button>\r\n <el-button\r\n type=\"text\"\r\n size=\"small\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleEditTable(scope.row)\"\r\n v-hasPermi=\"['tool:gen:edit']\"\r\n >编辑</el-button>\r\n <el-button\r\n type=\"text\"\r\n size=\"small\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.row)\"\r\n v-hasPermi=\"['tool:gen:remove']\"\r\n >删除</el-button>\r\n <el-button\r\n type=\"text\"\r\n size=\"small\"\r\n icon=\"el-icon-refresh\"\r\n @click=\"handleSynchDb(scope.row)\"\r\n v-hasPermi=\"['tool:gen:edit']\"\r\n >同步</el-button>\r\n <el-button\r\n type=\"text\"\r\n size=\"small\"\r\n icon=\"el-icon-download\"\r\n @click=\"handleGenTable(scope.row)\"\r\n v-hasPermi=\"['tool:gen:code']\"\r\n >生成代码</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <pagination\r\n v-show=\"total>0\"\r\n :total=\"total\"\r\n :page.sync=\"queryParams.pageNum\"\r\n :limit.sync=\"queryParams.pageSize\"\r\n @pagination=\"getList\"\r\n />\r\n <!-- 预览界面 -->\r\n <el-dialog :title=\"preview.title\" :visible.sync=\"preview.open\" width=\"80%\" top=\"5vh\" append-to-body>\r\n <el-tabs v-model=\"preview.activeName\">\r\n <el-tab-pane\r\n v-for=\"(value, key) in preview.data\"\r\n :label=\"key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))\"\r\n :name=\"key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))\"\r\n :key=\"key\"\r\n >\r\n <pre><code class=\"hljs\" v-html=\"highlightedCode(value, key)\"></code></pre>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </el-dialog>\r\n <import-table ref=\"import\" @ok=\"handleQuery\" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { listTable, previewTable, delTable, genCode, synchDb } from \"@/api/tool/gen\";\r\nimport importTable from \"./importTable\";\r\nimport { downLoadZip } from \"@/utils/zipdownload\";\r\nimport hljs from \"highlight.js/lib/highlight\";\r\nimport \"highlight.js/styles/github-gist.css\";\r\nhljs.registerLanguage(\"java\", require(\"highlight.js/lib/languages/java\"));\r\nhljs.registerLanguage(\"xml\", require(\"highlight.js/lib/languages/xml\"));\r\nhljs.registerLanguage(\"html\", require(\"highlight.js/lib/languages/xml\"));\r\nhljs.registerLanguage(\"vue\", require(\"highlight.js/lib/languages/xml\"));\r\nhljs.registerLanguage(\"javascript\", require(\"highlight.js/lib/languages/javascript\"));\r\nhljs.registerLanguage(\"sql\", require(\"highlight.js/lib/languages/sql\"));\r\n\r\nexport default {\r\n name: \"Gen\",\r\n components: { importTable },\r\n data() {\r\n return {\r\n // 遮罩层\r\n loading: true,\r\n // 唯一标识符\r\n uniqueId: \"\",\r\n // 选中数组\r\n ids: [],\r\n // 选中表数组\r\n tableNames: [],\r\n // 非单个禁用\r\n single: true,\r\n // 非多个禁用\r\n multiple: true,\r\n // 显示搜索条件\r\n showSearch: true,\r\n // 总条数\r\n total: 0,\r\n // 表数据\r\n tableList: [],\r\n // 日期范围\r\n dateRange: \"\",\r\n // 查询参数\r\n queryParams: {\r\n pageNum: 1,\r\n pageSize: 10,\r\n tableName: undefined,\r\n tableComment: undefined\r\n },\r\n // 预览参数\r\n preview: {\r\n open: false,\r\n title: \"代码预览\",\r\n data: {},\r\n activeName: \"domain.java\"\r\n }\r\n };\r\n },\r\n created() {\r\n this.getList();\r\n },\r\n activated() {\r\n const time = this.$route.query.t;\r\n if (time != null && time != this.uniqueId) {\r\n this.uniqueId = time;\r\n this.resetQuery();\r\n }\r\n },\r\n methods: {\r\n /** 查询表集合 */\r\n getList() {\r\n this.loading = true;\r\n listTable(this.addDateRange(this.queryParams, this.dateRange)).then(response => {\r\n this.tableList = response.rows;\r\n this.total = response.total;\r\n this.loading = false;\r\n }\r\n );\r\n },\r\n /** 搜索按钮操作 */\r\n handleQuery() {\r\n this.queryParams.pageNum = 1;\r\n this.getList();\r\n },\r\n /** 生成代码操作 */\r\n handleGenTable(row) {\r\n const tableNames = row.tableName || this.tableNames;\r\n if (tableNames == \"\") {\r\n this.msgError(\"请选择要生成的数据\");\r\n return;\r\n }\r\n if(row.genType === \"1\") {\r\n genCode(row.tableName).then(response => {\r\n this.msgSuccess(\"成功生成到自定义路径:\" + row.genPath);\r\n });\r\n } else {\r\n downLoadZip(\"/code/gen/batchGenCode?tables=\" + tableNames, \"ruoyi\");\r\n }\r\n },\r\n /** 同步数据库操作 */\r\n handleSynchDb(row) {\r\n const tableName = row.tableName;\r\n this.$confirm('确认要强制同步\"' + tableName + '\"表结构吗?', \"警告\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(function() {\r\n return synchDb(tableName);\r\n }).then(() => {\r\n this.msgSuccess(\"同步成功\");\r\n })\r\n },\r\n /** 打开导入表弹窗 */\r\n openImportTable() {\r\n this.$refs.import.show();\r\n },\r\n /** 重置按钮操作 */\r\n resetQuery() {\r\n this.dateRange = [];\r\n this.resetForm(\"queryForm\");\r\n this.handleQuery();\r\n },\r\n /** 预览按钮 */\r\n handlePreview(row) {\r\n previewTable(row.tableId).then(response => {\r\n this.preview.data = response.data;\r\n this.preview.open = true;\r\n });\r\n },\r\n /** 高亮显示 */\r\n highlightedCode(code, key) {\r\n const vmName = key.substring(key.lastIndexOf(\"/\") + 1, key.indexOf(\".vm\"));\r\n var language = vmName.substring(vmName.indexOf(\".\") + 1, vmName.length);\r\n const result = hljs.highlight(language, code || \"\", true);\r\n return result.value || ' ';\r\n },\r\n // 多选框选中数据\r\n handleSelectionChange(selection) {\r\n this.ids = selection.map(item => item.tableId);\r\n this.tableNames = selection.map(item => item.tableName);\r\n this.single = selection.length != 1;\r\n this.multiple = !selection.length;\r\n },\r\n /** 修改按钮操作 */\r\n handleEditTable(row) {\r\n const tableId = row.tableId || this.ids[0];\r\n this.$router.push(\"/gen/edit/\" + tableId);\r\n },\r\n /** 删除按钮操作 */\r\n handleDelete(row) {\r\n const tableIds = row.tableId || this.ids;\r\n this.$confirm('是否确认删除表编号为\"' + tableIds + '\"的数据项?', \"警告\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(function() {\r\n return delTable(tableIds);\r\n }).then(() => {\r\n this.getList();\r\n this.msgSuccess(\"删除成功\");\r\n })\r\n }\r\n }\r\n};\r\n</script>\r\n"]}]}
|