1 line
19 KiB
JSON
1 line
19 KiB
JSON
{"remainingRequest":"G:\\project\\smart-power-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!G:\\project\\smart-power-ui\\src\\views\\system\\tenant\\profile\\emailConfig.vue?vue&type=script&lang=js&","dependencies":[{"path":"G:\\project\\smart-power-ui\\src\\views\\system\\tenant\\profile\\emailConfig.vue","mtime":1613705053906},{"path":"G:\\project\\smart-power-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1591751767036},{"path":"G:\\project\\smart-power-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1610504270305},{"path":"G:\\project\\smart-power-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1591751767036},{"path":"G:\\project\\smart-power-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1610504274351}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgew0KICBsaXN0RW1haWwsDQogIGdldEVtYWlsLA0KICBkZWxFbWFpbCwNCiAgYWRkRW1haWwsDQogIHVwZGF0ZUVtYWlsDQp9IGZyb20gIkAvYXBpL3NldHRpbmcvZW1haWwiOw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICJFbWFpbENvbmZpZyIsDQogIHByb3BzOiB7DQogICAgdGVuYW50SWQ6IHsNCiAgICAgIHR5cGU6IE51bWJlciwNCiAgICAgIGRlZmF1bHQ6IG51bGwNCiAgICB9DQogIH0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIC8vIOmBrue9qeWxgg0KICAgICAgbG9hZGluZzogdHJ1ZSwNCiAgICAgIC8vIOmAieS4reaVsOe7hA0KICAgICAgaWRzOiBbXSwNCiAgICAgIC8vIOmdnuWNleS4quemgeeUqA0KICAgICAgc2luZ2xlOiB0cnVlLA0KICAgICAgLy8g6Z2e5aSa5Liq56aB55SoDQogICAgICBtdWx0aXBsZTogdHJ1ZSwNCiAgICAgIC8vIOaAu+adoeaVsA0KICAgICAgdG90YWw6IDAsDQogICAgICAvLyDpgq7ku7bnlKjmiLfooajmoLzmlbDmja4NCiAgICAgIGVtYWlsTGlzdDogW10sDQogICAgICAvLyDlvLnlh7rlsYLmoIfpopgNCiAgICAgIHRpdGxlOiAiIiwNCiAgICAgIC8vIOaYr+WQpuaYvuekuuW8ueWHuuWxgg0KICAgICAgb3BlbjogZmFsc2UsDQogICAgICAvLyDmn6Xor6Llj4LmlbANCiAgICAgIHF1ZXJ5UGFyYW1zOiB7DQogICAgICAgIHBhZ2VOdW06IDEsDQogICAgICAgIHBhZ2VTaXplOiAxMCwNCiAgICAgICAgYWNjb3VudDogdW5kZWZpbmVkLA0KICAgICAgICBvcmRlckJ5Q29sdW1uOiAiY3JlYXRlVGltZSIsDQogICAgICAgIGlzQXNjOiAiZGVzYyINCiAgICAgIH0sDQogICAgICAvLyDooajljZXlj4LmlbANCiAgICAgIGZvcm06IHt9LA0KICAgICAgLy8g6KGo5Y2V5qCh6aqMDQogICAgICBydWxlczogew0KICAgICAgICBhY2NvdW50OiBbDQogICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogIumCrueusei0puWPt+S4jeiDveS4uuepuiIsIHRyaWdnZXI6ICJibHVyIiB9DQogICAgICAgIF0sDQogICAgICAgIHBhc3N3b3JkOiBbDQogICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogIumCrueuseWvhueggeS4jeiDveS4uuepuiIsIHRyaWdnZXI6ICJibHVyIiB9DQogICAgICAgIF0sDQogICAgICAgIHBvcnQ6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAi56uv5Y+j5LiN6IO95Li656m6IiwgdHJpZ2dlcjogImJsdXIiIH1dLA0KICAgICAgICBzZXJ2aWNlQWRkcmVzczogWw0KICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLmnI3liqHlmajlnLDlnYDkuI3og73kuLrnqboiLCB0cmlnZ2VyOiAiYmx1ciIgfQ0KICAgICAgICBdDQogICAgICB9DQogICAgfTsNCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmdldExpc3QoKTsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIHNvcnRDaGFuZ2UoY29sdW1uKSB7DQogICAgICBjb25zdCBzb3J0ID0gew0KICAgICAgICBpc0FzYzogY29sdW1uLm9yZGVyID09PSAiZGVzY2VuZGluZyIgPyAiZGVzYyIgOiAiYXNjIiwNCiAgICAgICAgb3JkZXJCeUNvbHVtbjogY29sdW1uLnByb3ANCiAgICAgIH07DQogICAgICB0aGlzLnF1ZXJ5UGFyYW1zID0gT2JqZWN0LmFzc2lnbih0aGlzLnF1ZXJ5UGFyYW1zLCBzb3J0KTsNCiAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKTsNCiAgICB9LA0KICAgIC8qKiDmn6Xor6Lpgq7ku7bnlKjmiLfliJfooaggKi8NCiAgICBnZXRMaXN0KCkgew0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgIGxpc3RFbWFpbCgNCiAgICAgICAgT2JqZWN0LmFzc2lnbigNCiAgICAgICAgICB7DQogICAgICAgICAgICB0ZW5hbnRJZDogdGhpcy50ZW5hbnRJZA0KICAgICAgICAgIH0sDQogICAgICAgICAgdGhpcy5xdWVyeVBhcmFtcw0KICAgICAgICApDQogICAgICApLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICB0aGlzLmVtYWlsTGlzdCA9IHJlc3BvbnNlLnJvd3M7DQogICAgICAgIHRoaXMudG90YWwgPSByZXNwb25zZS50b3RhbDsNCiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOWPlua2iOaMiemSrg0KICAgIGNhbmNlbCgpIHsNCiAgICAgIHRoaXMub3BlbiA9IGZhbHNlOw0KICAgICAgdGhpcy5yZXNldCgpOw0KICAgIH0sDQogICAgLy8g6KGo5Y2V6YeN572uDQogICAgcmVzZXQoKSB7DQogICAgICB0aGlzLmZvcm0gPSB7DQogICAgICAgIGlkOiB1bmRlZmluZWQsDQogICAgICAgIGFjY291bnQ6IHVuZGVmaW5lZCwNCiAgICAgICAgcGFzc3dvcmQ6IHVuZGVmaW5lZCwNCiAgICAgICAgcG9ydDogdW5kZWZpbmVkLA0KICAgICAgICBzZXJ2aWNlQWRkcmVzczogdW5kZWZpbmVkLA0KICAgICAgICB0ZW5hbnRJZDogdGhpcy50ZW5hbnRJZA0KICAgICAgfTsNCiAgICAgIHRoaXMucmVzZXRGb3JtKCJmb3JtIik7DQogICAgfSwNCiAgICAvKiog5pCc57Si5oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlUXVlcnkoKSB7DQogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOw0KICAgICAgdGhpcy5nZXRMaXN0KCk7DQogICAgfSwNCiAgICAvKiog6YeN572u5oyJ6ZKu5pON5L2cICovDQogICAgcmVzZXRRdWVyeSgpIHsNCiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsNCiAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKTsNCiAgICB9LA0KICAgIC8vIOWkmumAieahhumAieS4reaVsOaNrg0KICAgIGhhbmRsZVNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24pIHsNCiAgICAgIHRoaXMuaWRzID0gc2VsZWN0aW9uLm1hcChpdGVtID0+IGl0ZW0uaWQpOw0KICAgICAgdGhpcy5zaW5nbGUgPSBzZWxlY3Rpb24ubGVuZ3RoICE9IDE7DQogICAgICB0aGlzLm11bHRpcGxlID0gIXNlbGVjdGlvbi5sZW5ndGg7DQogICAgfSwNCiAgICAvKiog5paw5aKe5oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlQWRkKCkgew0KICAgICAgdGhpcy5yZXNldCgpOw0KICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsNCiAgICAgIHRoaXMudGl0bGUgPSAi5re75Yqg6YKu5Lu255So5oi3IjsNCiAgICB9LA0KICAgIC8qKiDkv67mlLnmjInpkq7mk43kvZwgKi8NCiAgICBoYW5kbGVVcGRhdGUocm93KSB7DQogICAgICB0aGlzLnJlc2V0KCk7DQogICAgICBjb25zdCBpZCA9IHJvdy5pZCB8fCB0aGlzLmlkczsNCiAgICAgIGdldEVtYWlsKGlkKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgdGhpcy5mb3JtID0gcmVzcG9uc2UuZGF0YTsNCiAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsNCiAgICAgICAgdGhpcy50aXRsZSA9ICLkv67mlLnpgq7ku7bnlKjmiLciOw0KICAgICAgfSk7DQogICAgfSwNCiAgICAvKiog5o+Q5Lqk5oyJ6ZKuICovDQogICAgc3VibWl0Rm9ybTogZnVuY3Rpb24oKSB7DQogICAgICB0aGlzLiRyZWZzWyJmb3JtIl0udmFsaWRhdGUodmFsaWQgPT4gew0KICAgICAgICBpZiAodmFsaWQpIHsNCiAgICAgICAgICBpZiAodGhpcy5mb3JtLmlkICE9IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgdXBkYXRlRW1haWwodGhpcy5mb3JtKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmNvZGUgPT09IDIwMCkgew0KICAgICAgICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7DQogICAgICAgICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7DQogICAgICAgICAgICAgICAgdGhpcy5nZXRMaXN0KCk7DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBhZGRFbWFpbCh0aGlzLmZvcm0pLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuY29kZSA9PT0gMjAwKSB7DQogICAgICAgICAgICAgICAgdGhpcy5tc2dTdWNjZXNzKCLmlrDlop7miJDlip8iKTsNCiAgICAgICAgICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB0aGlzLmdldExpc3QoKTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8qKiDliKDpmaTmjInpkq7mk43kvZwgKi8NCiAgICBoYW5kbGVEZWxldGUocm93KSB7DQogICAgICBjb25zdCBpZHMgPSByb3cuaWQgfHwgdGhpcy5pZHM7DQogICAgICB0aGlzLiRjb25maXJtKA0KICAgICAgICAvLyAn5piv5ZCm56Gu6K6k5Yig6Zmk6YKu5Lu255So5oi357yW5Y+35Li6IicgKyBpZHMgKyAnIueahOaVsOaNrumhuT8nLA0KICAgICAgICAi5piv5ZCm5Yig6K+l5pWw5o2uIiwNCiAgICAgICAgIuitpuWRiiIsDQogICAgICAgIHsNCiAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIuehruWumiIsDQogICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogIuWPlua2iCIsDQogICAgICAgICAgdHlwZTogIndhcm5pbmciDQogICAgICAgIH0NCiAgICAgICkNCiAgICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7DQogICAgICAgICAgcmV0dXJuIGRlbEVtYWlsKGlkcyk7DQogICAgICAgIH0pDQogICAgICAgIC50aGVuKCgpID0+IHsNCiAgICAgICAgICB0aGlzLmdldExpc3QoKTsNCiAgICAgICAgICB0aGlzLm1zZ1N1Y2Nlc3MoIuWIoOmZpOaIkOWKnyIpOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goZnVuY3Rpb24oKSB7fSk7DQogICAgfSwNCiAgICAvKiog5a+85Ye65oyJ6ZKu5pON5L2cICovDQogICAgaGFuZGxlRXhwb3J0KCkgew0KICAgICAgdGhpcy5kb3dubG9hZCgNCiAgICAgICAgInNldHRpbmcvZW1haWwvZXhwb3J0IiwNCiAgICAgICAgew0KICAgICAgICAgIC4uLnRoaXMucXVlcnlQYXJhbXMNCiAgICAgICAgfSwNCiAgICAgICAgYHNldHRpbmdfZW1haWwueGxzeGANCiAgICAgICk7DQogICAgfQ0KICB9DQp9Ow0K"},{"version":3,"sources":["emailConfig.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkIA;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;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":"emailConfig.vue","sourceRoot":"src/views/system/tenant/profile","sourcesContent":["<template>\r\n <div class=\"app-container\">\r\n <el-form :model=\"queryParams\" ref=\"queryForm\" :inline=\"true\" label-width=\"68px\">\r\n <el-form-item label=\"邮箱账号\" prop=\"account\">\r\n <el-input\r\n v-model=\"queryParams.account\"\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>\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 icon=\"el-icon-plus\"\r\n size=\"mini\"\r\n @click=\"handleAdd\"\r\n v-hasPermi=\"['setting:email:add']\"\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 icon=\"el-icon-edit\"\r\n size=\"mini\"\r\n :disabled=\"single\"\r\n @click=\"handleUpdate\"\r\n v-hasPermi=\"['setting:email: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 icon=\"el-icon-delete\"\r\n size=\"mini\"\r\n :disabled=\"multiple\"\r\n @click=\"handleDelete\"\r\n v-hasPermi=\"['setting:email:remove']\"\r\n >删除</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"warning\"\r\n icon=\"el-icon-download\"\r\n size=\"mini\"\r\n @click=\"handleExport\"\r\n v-hasPermi=\"['setting:email:export']\"\r\n >导出</el-button>\r\n </el-col>\r\n </el-row>\r\n\r\n <el-table\r\n v-loading=\"loading\"\r\n :data=\"emailList\"\r\n :default-sort=\"{prop: 'createTime', order: 'descending'}\"\r\n @sort-change=\"sortChange\"\r\n @selection-change=\"handleSelectionChange\"\r\n >\r\n <el-table-column type=\"selection\" width=\"55\" align=\"center\" />\r\n <!-- <el-table-column label=\"主键ID\" align=\"center\" prop=\"id\" /> -->\r\n <el-table-column label=\"序号\" type=\"index\" align=\"center\" width=\"50\" />\r\n <el-table-column label=\"邮箱账号\" align=\"left\" sortable=\"custom\" prop=\"account\" />\r\n <el-table-column label=\"端口\" align=\"center\" prop=\"port\" />\r\n <el-table-column label=\"服务器地址\" align=\"left\" sortable=\"custom\" prop=\"serviceAddress\" />\r\n <el-table-column label=\"创建时间\" align=\"left\" sortable=\"custom\" prop=\"createTime\" width=\"160\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ parseTime(scope.row.createTime, \"{y}-{m}-{d} {h}:{i}:{s}\") }}</span>\r\n </template>\r\n </el-table-column>\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 size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleUpdate(scope.row)\"\r\n v-hasPermi=\"['setting:email:edit']\"\r\n >修改</el-button>\r\n <el-button\r\n size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.row)\"\r\n v-hasPermi=\"['setting:email:remove']\"\r\n >删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\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 <!-- 添加或修改邮件用户对话框 -->\r\n <el-dialog class=\"form-dialog\" :title=\"title\" :visible.sync=\"open\" width=\"480px\" append-to-body>\r\n <el-form ref=\"form\" :model=\"form\" :rules=\"rules\" label-width=\"100px\">\r\n <el-form-item label=\"邮箱账号\" prop=\"account\">\r\n <el-input v-model=\"form.account\" placeholder=\"请输入邮箱账号\" />\r\n </el-form-item>\r\n <el-form-item label=\"邮箱密码\" prop=\"password\">\r\n <el-input v-model=\"form.password\" type=\"password\" placeholder=\"请输入邮箱密码\" />\r\n </el-form-item>\r\n <el-form-item label=\"端口\" prop=\"port\">\r\n <el-input v-model=\"form.port\" placeholder=\"请输入端口\" />\r\n </el-form-item>\r\n <el-form-item label=\"服务器地址\" prop=\"serviceAddress\">\r\n <el-input v-model=\"form.serviceAddress\" placeholder=\"请输入服务器地址\" />\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"submitForm\">确 定</el-button>\r\n <el-button @click=\"cancel\">取 消</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n listEmail,\r\n getEmail,\r\n delEmail,\r\n addEmail,\r\n updateEmail\r\n} from \"@/api/setting/email\";\r\n\r\nexport default {\r\n name: \"EmailConfig\",\r\n props: {\r\n tenantId: {\r\n type: Number,\r\n default: null\r\n }\r\n },\r\n data() {\r\n return {\r\n // 遮罩层\r\n loading: true,\r\n // 选中数组\r\n ids: [],\r\n // 非单个禁用\r\n single: true,\r\n // 非多个禁用\r\n multiple: true,\r\n // 总条数\r\n total: 0,\r\n // 邮件用户表格数据\r\n emailList: [],\r\n // 弹出层标题\r\n title: \"\",\r\n // 是否显示弹出层\r\n open: false,\r\n // 查询参数\r\n queryParams: {\r\n pageNum: 1,\r\n pageSize: 10,\r\n account: undefined,\r\n orderByColumn: \"createTime\",\r\n isAsc: \"desc\"\r\n },\r\n // 表单参数\r\n form: {},\r\n // 表单校验\r\n rules: {\r\n account: [\r\n { required: true, message: \"邮箱账号不能为空\", trigger: \"blur\" }\r\n ],\r\n password: [\r\n { required: true, message: \"邮箱密码不能为空\", trigger: \"blur\" }\r\n ],\r\n port: [{ required: true, message: \"端口不能为空\", trigger: \"blur\" }],\r\n serviceAddress: [\r\n { required: true, message: \"服务器地址不能为空\", trigger: \"blur\" }\r\n ]\r\n }\r\n };\r\n },\r\n created() {\r\n this.getList();\r\n },\r\n methods: {\r\n sortChange(column) {\r\n const sort = {\r\n isAsc: column.order === \"descending\" ? \"desc\" : \"asc\",\r\n orderByColumn: column.prop\r\n };\r\n this.queryParams = Object.assign(this.queryParams, sort);\r\n this.handleQuery();\r\n },\r\n /** 查询邮件用户列表 */\r\n getList() {\r\n this.loading = true;\r\n listEmail(\r\n Object.assign(\r\n {\r\n tenantId: this.tenantId\r\n },\r\n this.queryParams\r\n )\r\n ).then(response => {\r\n this.emailList = response.rows;\r\n this.total = response.total;\r\n this.loading = false;\r\n });\r\n },\r\n // 取消按钮\r\n cancel() {\r\n this.open = false;\r\n this.reset();\r\n },\r\n // 表单重置\r\n reset() {\r\n this.form = {\r\n id: undefined,\r\n account: undefined,\r\n password: undefined,\r\n port: undefined,\r\n serviceAddress: undefined,\r\n tenantId: this.tenantId\r\n };\r\n this.resetForm(\"form\");\r\n },\r\n /** 搜索按钮操作 */\r\n handleQuery() {\r\n this.queryParams.pageNum = 1;\r\n this.getList();\r\n },\r\n /** 重置按钮操作 */\r\n resetQuery() {\r\n this.resetForm(\"queryForm\");\r\n this.handleQuery();\r\n },\r\n // 多选框选中数据\r\n handleSelectionChange(selection) {\r\n this.ids = selection.map(item => item.id);\r\n this.single = selection.length != 1;\r\n this.multiple = !selection.length;\r\n },\r\n /** 新增按钮操作 */\r\n handleAdd() {\r\n this.reset();\r\n this.open = true;\r\n this.title = \"添加邮件用户\";\r\n },\r\n /** 修改按钮操作 */\r\n handleUpdate(row) {\r\n this.reset();\r\n const id = row.id || this.ids;\r\n getEmail(id).then(response => {\r\n this.form = response.data;\r\n this.open = true;\r\n this.title = \"修改邮件用户\";\r\n });\r\n },\r\n /** 提交按钮 */\r\n submitForm: function() {\r\n this.$refs[\"form\"].validate(valid => {\r\n if (valid) {\r\n if (this.form.id != undefined) {\r\n updateEmail(this.form).then(response => {\r\n if (response.code === 200) {\r\n this.msgSuccess(\"修改成功\");\r\n this.open = false;\r\n this.getList();\r\n }\r\n });\r\n } else {\r\n addEmail(this.form).then(response => {\r\n if (response.code === 200) {\r\n this.msgSuccess(\"新增成功\");\r\n this.open = false;\r\n this.getList();\r\n }\r\n });\r\n }\r\n }\r\n });\r\n },\r\n /** 删除按钮操作 */\r\n handleDelete(row) {\r\n const ids = row.id || this.ids;\r\n this.$confirm(\r\n // '是否确认删除邮件用户编号为\"' + ids + '\"的数据项?',\r\n \"是否删该数据\",\r\n \"警告\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n )\r\n .then(function() {\r\n return delEmail(ids);\r\n })\r\n .then(() => {\r\n this.getList();\r\n this.msgSuccess(\"删除成功\");\r\n })\r\n .catch(function() {});\r\n },\r\n /** 导出按钮操作 */\r\n handleExport() {\r\n this.download(\r\n \"setting/email/export\",\r\n {\r\n ...this.queryParams\r\n },\r\n `setting_email.xlsx`\r\n );\r\n }\r\n }\r\n};\r\n</script>\r\n"]}]} |