‘liusuyi’
2023-05-06 848ae5f7e5c178be9f1ee9ac33b54e19ae038873
1
{"remainingRequest":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\tool\\gen\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\tool\\gen\\index.vue","mtime":1675221397135},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1678842088721},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1678842089772}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyBsaXN0VGFibGUsIHByZXZpZXdUYWJsZSwgZGVsVGFibGUsIGdlbkNvZGUsIHN5bmNoRGIgfSBmcm9tICJAL2FwaS90b29sL2dlbiI7DQppbXBvcnQgaW1wb3J0VGFibGUgZnJvbSAiLi9pbXBvcnRUYWJsZSI7DQppbXBvcnQgaGxqcyBmcm9tICJoaWdobGlnaHQuanMvbGliL2hpZ2hsaWdodCI7DQppbXBvcnQgImhpZ2hsaWdodC5qcy9zdHlsZXMvZ2l0aHViLWdpc3QuY3NzIjsNCmhsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YSIsIHJlcXVpcmUoImhpZ2hsaWdodC5qcy9saWIvbGFuZ3VhZ2VzL2phdmEiKSk7DQpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsIHJlcXVpcmUoImhpZ2hsaWdodC5qcy9saWIvbGFuZ3VhZ2VzL3htbCIpKTsNCmhsanMucmVnaXN0ZXJMYW5ndWFnZSgiaHRtbCIsIHJlcXVpcmUoImhpZ2hsaWdodC5qcy9saWIvbGFuZ3VhZ2VzL3htbCIpKTsNCmhsanMucmVnaXN0ZXJMYW5ndWFnZSgidnVlIiwgcmVxdWlyZSgiaGlnaGxpZ2h0LmpzL2xpYi9sYW5ndWFnZXMveG1sIikpOw0KaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhc2NyaXB0IiwgcmVxdWlyZSgiaGlnaGxpZ2h0LmpzL2xpYi9sYW5ndWFnZXMvamF2YXNjcmlwdCIpKTsNCmhsanMucmVnaXN0ZXJMYW5ndWFnZSgic3FsIiwgcmVxdWlyZSgiaGlnaGxpZ2h0LmpzL2xpYi9sYW5ndWFnZXMvc3FsIikpOw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICJHZW4iLA0KICBjb21wb25lbnRzOiB7IGltcG9ydFRhYmxlIH0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIC8vIOmBrue9qeWxgg0KICAgICAgbG9hZGluZzogdHJ1ZSwNCiAgICAgIC8vIOWUr+S4gOagh+ivhuespg0KICAgICAgdW5pcXVlSWQ6ICIiLA0KICAgICAgLy8g6YCJ5Lit5pWw57uEDQogICAgICBpZHM6IFtdLA0KICAgICAgLy8g6YCJ5Lit6KGo5pWw57uEDQogICAgICB0YWJsZU5hbWVzOiBbXSwNCiAgICAgIC8vIOmdnuWNleS4quemgeeUqA0KICAgICAgc2luZ2xlOiB0cnVlLA0KICAgICAgLy8g6Z2e5aSa5Liq56aB55SoDQogICAgICBtdWx0aXBsZTogdHJ1ZSwNCiAgICAgIC8vIOaYvuekuuaQnOe0ouadoeS7tg0KICAgICAgc2hvd1NlYXJjaDogdHJ1ZSwNCiAgICAgIC8vIOaAu+adoeaVsA0KICAgICAgdG90YWw6IDAsDQogICAgICAvLyDooajmlbDmja4NCiAgICAgIHRhYmxlTGlzdDogW10sDQogICAgICAvLyDml6XmnJ/ojIPlm7QNCiAgICAgIGRhdGVSYW5nZTogIiIsDQogICAgICAvLyDmn6Xor6Llj4LmlbANCiAgICAgIHF1ZXJ5UGFyYW1zOiB7DQogICAgICAgIHBhZ2VOdW06IDEsDQogICAgICAgIHBhZ2VTaXplOiAxMCwNCiAgICAgICAgdGFibGVOYW1lOiB1bmRlZmluZWQsDQogICAgICAgIHRhYmxlQ29tbWVudDogdW5kZWZpbmVkDQogICAgICB9LA0KICAgICAgLy8g6aKE6KeI5Y+C5pWwDQogICAgICBwcmV2aWV3OiB7DQogICAgICAgIG9wZW46IGZhbHNlLA0KICAgICAgICB0aXRsZTogIuS7o+eggemihOiniCIsDQogICAgICAgIGRhdGE6IHt9LA0KICAgICAgICBhY3RpdmVOYW1lOiAiZG9tYWluLmphdmEiDQogICAgICB9DQogICAgfTsNCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmdldExpc3QoKTsNCiAgfSwNCiAgYWN0aXZhdGVkKCkgew0KICAgIGNvbnN0IHRpbWUgPSB0aGlzLiRyb3V0ZS5xdWVyeS50Ow0KICAgIGlmICh0aW1lICE9IG51bGwgJiYgdGltZSAhPSB0aGlzLnVuaXF1ZUlkKSB7DQogICAgICB0aGlzLnVuaXF1ZUlkID0gdGltZTsNCiAgICAgIHRoaXMucXVlcnlQYXJhbXMucGFnZU51bSA9IE51bWJlcih0aGlzLiRyb3V0ZS5xdWVyeS5wYWdlTnVtKTsNCiAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgIH0NCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8qKiDmn6Xor6Looajpm4blkIggKi8NCiAgICBnZXRMaXN0KCkgew0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgIGxpc3RUYWJsZSh0aGlzLmFkZERhdGVSYW5nZSh0aGlzLnF1ZXJ5UGFyYW1zLCB0aGlzLmRhdGVSYW5nZSkpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICAgIHRoaXMudGFibGVMaXN0ID0gcmVzcG9uc2Uucm93czsNCiAgICAgICAgICB0aGlzLnRvdGFsID0gcmVzcG9uc2UudG90YWw7DQogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICk7DQogICAgfSwNCiAgICAvKiog5pCc57Si5oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlUXVlcnkoKSB7DQogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOw0KICAgICAgdGhpcy5nZXRMaXN0KCk7DQogICAgfSwNCiAgICAvKiog55Sf5oiQ5Luj56CB5pON5L2cICovDQogICAgaGFuZGxlR2VuVGFibGUocm93KSB7DQogICAgICBjb25zdCB0YWJsZU5hbWVzID0gcm93LnRhYmxlTmFtZSB8fCB0aGlzLnRhYmxlTmFtZXM7DQogICAgICBpZiAodGFibGVOYW1lcyA9PSAiIikgew0KICAgICAgICB0aGlzLiRtb2RhbC5tc2dFcnJvcigi6K+36YCJ5oup6KaB55Sf5oiQ55qE5pWw5o2uIik7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCiAgICAgIGlmKHJvdy5nZW5UeXBlID09PSAiMSIpIHsNCiAgICAgICAgZ2VuQ29kZShyb3cudGFibGVOYW1lKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgICB0aGlzLiRtb2RhbC5tc2dTdWNjZXNzKCLmiJDlip/nlJ/miJDliLDoh6rlrprkuYnot6/lvoTvvJoiICsgcm93LmdlblBhdGgpOw0KICAgICAgICB9KTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuJGRvd25sb2FkLnppcCgiL3Rvb2wvZ2VuL2JhdGNoR2VuQ29kZT90YWJsZXM9IiArIHRhYmxlTmFtZXMsICJydW95aS56aXAiKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIC8qKiDlkIzmraXmlbDmja7lupPmk43kvZwgKi8NCiAgICBoYW5kbGVTeW5jaERiKHJvdykgew0KICAgICAgY29uc3QgdGFibGVOYW1lID0gcm93LnRhYmxlTmFtZTsNCiAgICAgIHRoaXMuJG1vZGFsLmNvbmZpcm0oJ+ehruiupOimgeW8uuWItuWQjOatpSInICsgdGFibGVOYW1lICsgJyLooajnu5PmnoTlkJfvvJ8nKS50aGVuKGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4gc3luY2hEYih0YWJsZU5hbWUpOw0KICAgICAgfSkudGhlbigoKSA9PiB7DQogICAgICAgIHRoaXMuJG1vZGFsLm1zZ1N1Y2Nlc3MoIuWQjOatpeaIkOWKnyIpOw0KICAgICAgfSkuY2F0Y2goKCkgPT4ge30pOw0KICAgIH0sDQogICAgLyoqIOaJk+W8gOWvvOWFpeihqOW8ueeqlyAqLw0KICAgIG9wZW5JbXBvcnRUYWJsZSgpIHsNCiAgICAgIHRoaXMuJHJlZnMuaW1wb3J0LnNob3coKTsNCiAgICB9LA0KICAgIC8qKiDph43nva7mjInpkq7mk43kvZwgKi8NCiAgICByZXNldFF1ZXJ5KCkgew0KICAgICAgdGhpcy5kYXRlUmFuZ2UgPSBbXTsNCiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsNCiAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKTsNCiAgICB9LA0KICAgIC8qKiDpooTop4jmjInpkq4gKi8NCiAgICBoYW5kbGVQcmV2aWV3KHJvdykgew0KICAgICAgcHJldmlld1RhYmxlKHJvdy50YWJsZUlkKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgdGhpcy5wcmV2aWV3LmRhdGEgPSByZXNwb25zZS5kYXRhOw0KICAgICAgICB0aGlzLnByZXZpZXcub3BlbiA9IHRydWU7DQogICAgICAgIHRoaXMucHJldmlldy5hY3RpdmVOYW1lID0gImRvbWFpbi5qYXZhIjsNCiAgICAgIH0pOw0KICAgIH0sDQogICAgLyoqIOmrmOS6ruaYvuekuiAqLw0KICAgIGhpZ2hsaWdodGVkQ29kZShjb2RlLCBrZXkpIHsNCiAgICAgIGNvbnN0IHZtTmFtZSA9IGtleS5zdWJzdHJpbmcoa2V5Lmxhc3RJbmRleE9mKCIvIikgKyAxLCBrZXkuaW5kZXhPZigiLnZtIikpOw0KICAgICAgdmFyIGxhbmd1YWdlID0gdm1OYW1lLnN1YnN0cmluZyh2bU5hbWUuaW5kZXhPZigiLiIpICsgMSwgdm1OYW1lLmxlbmd0aCk7DQogICAgICBjb25zdCByZXN1bHQgPSBobGpzLmhpZ2hsaWdodChsYW5ndWFnZSwgY29kZSB8fCAiIiwgdHJ1ZSk7DQogICAgICByZXR1cm4gcmVzdWx0LnZhbHVlIHx8ICcmbmJzcDsnOw0KICAgIH0sDQogICAgLyoqIOWkjeWItuS7o+eggeaIkOWKnyAqLw0KICAgIGNsaXBib2FyZFN1Y2Nlc3MoKSB7DQogICAgICB0aGlzLiRtb2RhbC5tc2dTdWNjZXNzKCLlpI3liLbmiJDlip8iKTsNCiAgICB9LA0KICAgIC8vIOWkmumAieahhumAieS4reaVsOaNrg0KICAgIGhhbmRsZVNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24pIHsNCiAgICAgIHRoaXMuaWRzID0gc2VsZWN0aW9uLm1hcChpdGVtID0+IGl0ZW0udGFibGVJZCk7DQogICAgICB0aGlzLnRhYmxlTmFtZXMgPSBzZWxlY3Rpb24ubWFwKGl0ZW0gPT4gaXRlbS50YWJsZU5hbWUpOw0KICAgICAgdGhpcy5zaW5nbGUgPSBzZWxlY3Rpb24ubGVuZ3RoICE9IDE7DQogICAgICB0aGlzLm11bHRpcGxlID0gIXNlbGVjdGlvbi5sZW5ndGg7DQogICAgfSwNCiAgICAvKiog5L+u5pS55oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlRWRpdFRhYmxlKHJvdykgew0KICAgICAgY29uc3QgdGFibGVJZCA9IHJvdy50YWJsZUlkIHx8IHRoaXMuaWRzWzBdOw0KICAgICAgY29uc3QgdGFibGVOYW1lID0gcm93LnRhYmxlTmFtZSB8fCB0aGlzLnRhYmxlTmFtZXNbMF07DQogICAgICBjb25zdCBwYXJhbXMgPSB7IHBhZ2VOdW06IHRoaXMucXVlcnlQYXJhbXMucGFnZU51bSB9Ow0KICAgICAgdGhpcy4kdGFiLm9wZW5QYWdlKCLkv67mlLlbIiArIHRhYmxlTmFtZSArICJd55Sf5oiQ6YWN572uIiwgJy90b29sL2dlbi1lZGl0L2luZGV4LycgKyB0YWJsZUlkLCBwYXJhbXMpOw0KICAgIH0sDQogICAgLyoqIOWIoOmZpOaMiemSruaTjeS9nCAqLw0KICAgIGhhbmRsZURlbGV0ZShyb3cpIHsNCiAgICAgIGNvbnN0IHRhYmxlSWRzID0gcm93LnRhYmxlSWQgfHwgdGhpcy5pZHM7DQogICAgICB0aGlzLiRtb2RhbC5jb25maXJtKCfmmK/lkKbnoa7orqTliKDpmaTooajnvJblj7fkuLoiJyArIHRhYmxlSWRzICsgJyLnmoTmlbDmja7pobnvvJ8nKS50aGVuKGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4gZGVsVGFibGUodGFibGVJZHMpOw0KICAgICAgfSkudGhlbigoKSA9PiB7DQogICAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgICAgICB0aGlzLiRtb2RhbC5tc2dTdWNjZXNzKCLliKDpmaTmiJDlip8iKTsNCiAgICAgIH0pLmNhdGNoKCgpID0+IHt9KTsNCiAgICB9DQogIH0NCn07DQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkLA;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\" size=\"small\" :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          @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          @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          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 class=\"scrollbar\">\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          <el-link :underline=\"false\" icon=\"el-icon-document-copy\" v-clipboard:copy=\"value\" v-clipboard:success=\"clipboardSuccess\" style=\"float:right\">复制</el-link>\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 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.queryParams.pageNum = Number(this.$route.query.pageNum);\r\n      this.getList();\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.$modal.msgError(\"请选择要生成的数据\");\r\n        return;\r\n      }\r\n      if(row.genType === \"1\") {\r\n        genCode(row.tableName).then(response => {\r\n          this.$modal.msgSuccess(\"成功生成到自定义路径:\" + row.genPath);\r\n        });\r\n      } else {\r\n        this.$download.zip(\"/tool/gen/batchGenCode?tables=\" + tableNames, \"ruoyi.zip\");\r\n      }\r\n    },\r\n    /** 同步数据库操作 */\r\n    handleSynchDb(row) {\r\n      const tableName = row.tableName;\r\n      this.$modal.confirm('确认要强制同步\"' + tableName + '\"表结构吗?').then(function() {\r\n        return synchDb(tableName);\r\n      }).then(() => {\r\n        this.$modal.msgSuccess(\"同步成功\");\r\n      }).catch(() => {});\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        this.preview.activeName = \"domain.java\";\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 || '&nbsp;';\r\n    },\r\n    /** 复制代码成功 */\r\n    clipboardSuccess() {\r\n      this.$modal.msgSuccess(\"复制成功\");\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      const tableName = row.tableName || this.tableNames[0];\r\n      const params = { pageNum: this.queryParams.pageNum };\r\n      this.$tab.openPage(\"修改[\" + tableName + \"]生成配置\", '/tool/gen-edit/index/' + tableId, params);\r\n    },\r\n    /** 删除按钮操作 */\r\n    handleDelete(row) {\r\n      const tableIds = row.tableId || this.ids;\r\n      this.$modal.confirm('是否确认删除表编号为\"' + tableIds + '\"的数据项?').then(function() {\r\n        return delTable(tableIds);\r\n      }).then(() => {\r\n        this.getList();\r\n        this.$modal.msgSuccess(\"删除成功\");\r\n      }).catch(() => {});\r\n    }\r\n  }\r\n};\r\n</script>\r\n"]}]}