smart-power-ui/node_modules/.cache/vue-loader/d0d7f8c9524d8ba547ef9892307...

1 line
24 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\\oneself\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"G:\\project\\smart-power-ui\\src\\views\\system\\oneself\\index.vue","mtime":1617244452827},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7CiAgbGlzdE9uZXNlbGYsCiAgZ2V0T25lc2VsZiwKICBkZWxPbmVzZWxmLAogIGFkZE9uZXNlbGYsCiAgdXBkYXRlT25lc2VsZiwKICBleHBvcnRPbmVzZWxmCn0gZnJvbSAiQC9hcGkvc3lzdGVtL29uZXNlbGYiOwppbXBvcnQgeyBnZXRJb3RGaWxlVXJsIH0gZnJvbSAiQC91dGlscy9oY2lvdCI7CmltcG9ydCBVcGxvYWRJbWFnZSBmcm9tICJAL2NvbXBvbmVudHMvVXBsb2FkL0ltYWdlLnZ1ZSI7Cgpjb25zdCBzZXhPcHRpb24gPSB7CiAgMDogIueUtyIsCiAgMTogIuWlsyIsCiAgMjogIuacquefpSIKfTsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiT25lc2VsZiIsCiAgY29tcG9uZW50czogewogICAgVXBsb2FkSW1hZ2UKICB9LAogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBzZXhPcHRpb24sCiAgICAgIC8vIOmBrue9qeWxggogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDpgInkuK3mlbDnu4QKICAgICAgaWRzOiBbXSwKICAgICAgLy8g6Z2e5Y2V5Liq56aB55SoCiAgICAgIHNpbmdsZTogdHJ1ZSwKICAgICAgLy8g6Z2e5aSa5Liq56aB55SoCiAgICAgIG11bHRpcGxlOiB0cnVlLAogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YKICAgICAgc2hvd1NlYXJjaDogdHJ1ZSwKICAgICAgLy8g5oC75p2h5pWwCiAgICAgIHRvdGFsOiAwLAogICAgICAvLyDkuKrkurrnlKjmiLfkv6Hmga/ooajmoLzmlbDmja4KICAgICAgb25lc2VsZkxpc3Q6IFtdLAogICAgICAvLyDlvLnlh7rlsYLmoIfpopgKICAgICAgdGl0bGU6ICIiLAogICAgICAvLyDmmK/lkKbmmL7npLrlvLnlh7rlsYIKICAgICAgb3BlbjogZmFsc2UsCiAgICAgIC8vIOafpeivouWPguaVsAogICAgICBmaWxlVHlwZTogWyJpbWFnZS9qcGVnIiwgImltYWdlL3BuZyJdLAogICAgICBxdWVyeVBhcmFtczogewogICAgICAgIHBhZ2VOdW06IDEsCiAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgIHVzZXJOYW1lOiBudWxsLAogICAgICAgIHBob25lbnVtYmVyOiBudWxsCiAgICAgIH0sCiAgICAgIC8vIOihqOWNleWPguaVsAogICAgICBmb3JtOiB7fSwKICAgICAgLy8g6KGo5Y2V5qCh6aqMCiAgICAgIHJ1bGVzOiB7CiAgICAgICAgcGhvbmVudW1iZXI6IFsKICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLmiYvmnLrlj7fnoIHkuI3og73kuLrnqboiLCB0cmlnZ2VyOiAiYmx1ciIgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgcGF0dGVybjogL14xKDNbMC05XXw0WzUsN118NVswLDEsMiwzLDUsNiw3LDgsOV18NlsyLDUsNiw3XXw3WzAsMSw3LDhdfDhbMC05XXw5WzEsOCw5XSlcZHs4fSQvLAogICAgICAgICAgICBtZXNzYWdlOiAi5omL5py65Y+356CB5LiN5q2j56Gu44CCIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgcGFzc3dvcmQ6IFsKICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLlr4bnoIHkuI3og73kuLrnqboiLCB0cmlnZ2VyOiAiYmx1ciIgfQogICAgICAgIF0sCiAgICAgICAgdXNlck5hbWU6IFsKICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLnlKjmiLfotKblj7fkuI3og73kuLrnqboiLCB0cmlnZ2VyOiAiYmx1ciIgfQogICAgICAgIF0sCiAgICAgICAgbmlja05hbWU6IFsKICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLnlKjmiLfmmLXnp7DkuI3og73kuLrnqboiLCB0cmlnZ2VyOiAiYmx1ciIgfQogICAgICAgIF0sCiAgICAgICAgZW1haWw6IFsKICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLpgq7nrrHkuI3og73kuLrnqboiLCB0cmlnZ2VyOiAiYmx1ciIgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgcGF0dGVybjogL14oKFtePD4oKVxbXF1cXC4sOzpcc0AiXSsoXC5bXjw+KClcW1xdXFwuLDs6XHNAIl0rKSopfCgiLisiKSlAKChcW1swLTldezEsM31cLlswLTldezEsM31cLlswLTldezEsM31cLlswLTldezEsM31cXSl8KChbYS16QS1aXC0wLTldK1wuKStbYS16QS1aXXsyLH0pKSQvLAogICAgICAgICAgICBtZXNzYWdlOiAi6YKu566x5qC85byP5LiN5q2j56Gu44CCIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfTsKICB9LAogIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmdldExpc3QoKTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGdldElvdEZpbGVVcmwsCiAgICBzdGF0dXNVcGRhdGUocm93KSB7CiAgICAgIHVwZGF0ZU9uZXNlbGYocm93KS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICBpZiAocm93LnN0YXR1cyA9PT0gIjAiKSB7CiAgICAgICAgICB0aGlzLm1zZ1N1Y2Nlc3MoIuW3suWQr+eUqCEiKTsKICAgICAgICB9IGVsc2UgaWYgKHJvdy5zdGF0dXMgPT09ICIxIikgewogICAgICAgICAgdGhpcy5tc2dTdWNjZXNzKCLlt7LlgZznlKghIik7CiAgICAgICAgfQogICAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgICB9KTsKICAgIH0sCiAgICBpbmRleEZvcm1hdHRlcih2YWwpIHsKICAgICAgcmV0dXJuICgKICAgICAgICB2YWwgKyAxICsgKHRoaXMucXVlcnlQYXJhbXMucGFnZU51bSAtIDEpICogdGhpcy5xdWVyeVBhcmFtcy5wYWdlU2l6ZQogICAgICApOwogICAgfSwKICAgIHNleEZvcm1hdHRlcihyb3cpIHsKICAgICAgcmV0dXJuIHRoaXMuc2V4T3B0aW9uW3Jvdy5zZXhdOwogICAgfSwKICAgIHN0YXR1c0Zvcm1hdHRlcihyb3cpIHsKICAgICAgcmV0dXJuIHJvdy5zdGF0dXMgPT09ICIwIiA/ICLmraPluLgiIDogIuWBnOeUqCI7CiAgICB9LAogICAgLyoqIOafpeivouS4quS6uueUqOaIt+S/oeaBr+WIl+ihqCAqLwogICAgZ2V0TGlzdCgpIHsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgbGlzdE9uZXNlbGYodGhpcy5xdWVyeVBhcmFtcykudGhlbihyZXNwb25zZSA9PiB7CiAgICAgICAgdGhpcy5vbmVzZWxmTGlzdCA9IHJlc3BvbnNlLnJvd3M7CiAgICAgICAgdGhpcy50b3RhbCA9IHJlc3BvbnNlLnRvdGFsOwogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDlj5bmtojmjInpkq4KICAgIGNhbmNlbCgpIHsKICAgICAgdGhpcy5vcGVuID0gZmFsc2U7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgIH0sCiAgICAvLyDooajljZXph43nva4KICAgIHJlc2V0KCkgewogICAgICB0aGlzLmZvcm0gPSB7CiAgICAgICAgdXNlck5hbWU6IG51bGwsCiAgICAgICAgbmlja05hbWU6IG51bGwsCiAgICAgICAgZW1haWw6IG51bGwsCiAgICAgICAgcGhvbmVudW1iZXI6IG51bGwsCiAgICAgICAgc2V4OiBudWxsLAogICAgICAgIGF2YXRhcjogbnVsbCwKICAgICAgICBwYXNzd29yZDogbnVsbCwKICAgICAgICBzdGF0dXM6ICIwIgogICAgICB9OwogICAgICB0aGlzLnJlc2V0Rm9ybSgiZm9ybSIpOwogICAgfSwKICAgIC8qKiDmkJzntKLmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZVF1ZXJ5KCkgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgIH0sCiAgICAvKiog6YeN572u5oyJ6ZKu5pON5L2cICovCiAgICByZXNldFF1ZXJ5KCkgewogICAgICB0aGlzLnJlc2V0Rm9ybSgicXVlcnlGb3JtIik7CiAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKTsKICAgIH0sCiAgICAvLyDlpJrpgInmoYbpgInkuK3mlbDmja4KICAgIGhhbmRsZVNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24pIHsKICAgICAgdGhpcy5pZHMgPSBzZWxlY3Rpb24ubWFwKGl0ZW0gPT4gaXRlbS51c2VySWQpOwogICAgICB0aGlzLnNpbmdsZSA9IHNlbGVjdGlvbi5sZW5ndGggIT09IDE7CiAgICAgIHRoaXMubXVsdGlwbGUgPSAhc2VsZWN0aW9uLmxlbmd0aDsKICAgIH0sCiAgICAvKiog5paw5aKe5oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVBZGQoKSB7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsKICAgICAgdGhpcy50aXRsZSA9ICLmt7vliqDkuKrkurrnlKjmiLfkv6Hmga8iOwogICAgfSwKICAgIC8qKiDkv67mlLnmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZVVwZGF0ZShyb3cpIHsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICBjb25zdCB1c2VySWQgPSByb3cudXNlcklkOwogICAgICBnZXRPbmVzZWxmKHVzZXJJZCkudGhlbihyZXNwb25zZSA9PiB7CiAgICAgICAgdGhpcy5mb3JtID0gcmVzcG9uc2UuZGF0YTsKICAgICAgICB0aGlzLm9wZW4gPSB0cnVlOwogICAgICAgIHRoaXMudGl0bGUgPSAi5L+u5pS55Liq5Lq655So5oi35L+h5oGvIjsKICAgICAgfSk7CiAgICB9LAogICAgLyoqIOaPkOS6pOaMiemSriAqLwogICAgc3VibWl0Rm9ybSgpIHsKICAgICAgdGhpcy4kcmVmc1siZm9ybSJdLnZhbGlkYXRlKHZhbGlkID0+IHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGlmICh0aGlzLmZvcm0udXNlcklkICE9IG51bGwpIHsKICAgICAgICAgICAgdXBkYXRlT25lc2VsZih0aGlzLmZvcm0pLnRoZW4ocmVzcG9uc2UgPT4gewogICAgICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7CiAgICAgICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7CiAgICAgICAgICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYWRkT25lc2VsZih0aGlzLmZvcm0pLnRoZW4ocmVzcG9uc2UgPT4gewogICAgICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5paw5aKe5oiQ5YqfIik7CiAgICAgICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7CiAgICAgICAgICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgLyoqIOWIoOmZpOaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlRGVsZXRlKHJvdykgewogICAgICBjb25zdCB1c2VySWRzID0gcm93LnVzZXJJZDsKICAgICAgdGhpcy4kY29uZmlybSgi5piv5ZCm5Yig6Zmk6K+l6YCJ6aG5PyIsICLorablkYoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KQogICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIGRlbE9uZXNlbGYodXNlcklkcyk7CiAgICAgICAgfSkKICAgICAgICAudGhlbigoKSA9PiB7CiAgICAgICAgICB0aGlzLmdldExpc3QoKTsKICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5Yig6Zmk5oiQ5YqfIik7CiAgICAgICAgfSk7CiAgICB9LAogICAgLyoqIOWvvOWHuuaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlRXhwb3J0KCkgewogICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHRoaXMucXVlcnlQYXJhbXM7CiAgICAgIHRoaXMuJGNvbmZpcm0oIuaYr+WQpuehruiupOWvvOWHuuaJgOacieS4quS6uueUqOaIt+S/oeaBr+aVsOaNrumhuT8iLCAi6K2m5ZGKIiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkKICAgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgIHJldHVybiBleHBvcnRPbmVzZWxmKHF1ZXJ5UGFyYW1zKTsKICAgICAgICB9KQogICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgIHRoaXMuZG93bmxvYWQocmVzcG9uc2UubXNnKTsKICAgICAgICB9KTsKICAgIH0KICB9Cn07Cg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/system/oneself","sourcesContent":["<template>\n <div class=\"app-container system-oneself\">\n <el-form\n :model=\"queryParams\"\n ref=\"queryForm\"\n :inline=\"true\"\n v-show=\"showSearch\"\n label-width=\"68px\"\n >\n <el-form-item label=\"用户账号\" prop=\"userName\">\n <el-input\n v-model=\"queryParams.userName\"\n placeholder=\"请输入用户账号\"\n clearable\n size=\"small\"\n @keyup.enter.native=\"handleQuery\"\n />\n </el-form-item>\n <el-form-item label=\"手机号码\" prop=\"phonenumber\">\n <el-input\n v-model=\"queryParams.phonenumber\"\n placeholder=\"请输入手机号码\"\n clearable\n size=\"small\"\n @keyup.enter.native=\"handleQuery\"\n />\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" icon=\"el-icon-search\" size=\"mini\" @click=\"handleQuery\">搜索</el-button>\n <el-button icon=\"el-icon-refresh\" size=\"mini\" @click=\"resetQuery\">重置</el-button>\n </el-form-item>\n </el-form>\n\n <el-row :gutter=\"10\" class=\"mb8\">\n <!-- <el-col :span=\"1.5\">\n <el-button\n type=\"primary\"\n plain\n icon=\"el-icon-plus\"\n size=\"mini\"\n @click=\"handleAdd\"\n v-hasPermi=\"['system:oneself:add']\"\n >新增</el-button>\n </el-col>-->\n <el-col :span=\"1.5\">\n <el-button\n type=\"warning\"\n plain\n icon=\"el-icon-download\"\n size=\"mini\"\n @click=\"handleExport\"\n v-hasPermi=\"['system:oneself:export']\"\n >导出</el-button>\n </el-col>\n <right-toolbar :showSearch.sync=\"showSearch\" @queryTable=\"getList\"></right-toolbar>\n </el-row>\n\n <el-table v-loading=\"loading\" :data=\"oneselfList\">\n <el-table-column type=\"index\" label=\"序号\" align=\"center\" :index=\"indexFormatter\" width=\"80px\"></el-table-column>\n <el-table-column label=\"账号\" align=\"left\" prop=\"userName\" />\n <el-table-column label=\"昵称\" align=\"left\" prop=\"nickName\" />\n <el-table-column label=\"邮箱\" align=\"left\" prop=\"email\" />\n <el-table-column label=\"手机号码\" align=\"left\" width=\"160\" prop=\"phonenumber\" />\n <el-table-column label=\"性别\" align=\"center\" prop=\"sex\" width=\"80\" :formatter=\"sexFormatter\" />\n <el-table-column label=\"头像\" align=\"center\" width=\"100\" prop=\"avatar\">\n <template slot-scope=\"scope\">\n <div class=\"demo-image__preview\">\n <el-image\n style=\"width: 30px; height: 35px;\"\n :src=\"getIotFileUrl(scope.row.avatar)\"\n :preview-src-list=\"[getIotFileUrl(scope.row.avatar)]\"\n ></el-image>\n </div>\n </template>\n </el-table-column>\n <el-table-column label=\"帐号状态\" align=\"center\" width=\"120\" prop=\"status\">\n <template slot-scope=\"scope\">\n <el-popconfirm\n @confirm=\"statusUpdate(scope.row)\"\n @cancel=\"() => { scope.row.status === '0' ? scope.row.status = '1': scope.row.status = '0'}\"\n :title=\"scope.row.status === '0'? '确定启用此账号吗?':'确定停用此账号吗?'\"\n >\n <el-switch\n slot=\"reference\"\n v-model=\"scope.row.status\"\n active-color=\"#13ce66\"\n inactive-color=\"#ff4949\"\n active-value=\"0\"\n inactive-value=\"1\"\n ></el-switch>\n </el-popconfirm>\n </template>\n </el-table-column>\n <el-table-column label=\"操作\" align=\"center\" width=\"200\" class-name=\"small-padding fixed-width\">\n <template slot-scope=\"scope\">\n <el-button\n size=\"mini\"\n type=\"text\"\n icon=\"el-icon-edit\"\n @click=\"handleUpdate(scope.row)\"\n v-hasPermi=\"['system:oneself:edit']\"\n >修改</el-button>\n <el-button\n size=\"mini\"\n type=\"text\"\n icon=\"el-icon-delete\"\n @click=\"handleDelete(scope.row)\"\n v-hasPermi=\"['system:oneself:remove']\"\n >删除</el-button>\n </template>\n </el-table-column>\n </el-table>\n\n <pagination\n v-show=\"total>0\"\n :total=\"total\"\n :page.sync=\"queryParams.pageNum\"\n :limit.sync=\"queryParams.pageSize\"\n @pagination=\"getList\"\n />\n\n <!-- 添加或修改个人用户信息对话框 -->\n <el-dialog class=\"eldialog-wrap\" :close-on-click-modal=\"false\" :title=\"title\" :visible.sync=\"open\" width=\"500px\">\n <el-form ref=\"form\" :model=\"form\" :rules=\"rules\" label-width=\"100px\">\n <el-row :gutter=\"20\">\n <el-col :span=\"16\">\n <el-form-item label=\"账号:\" prop=\"userName\">\n <el-input v-model=\"form.userName\" placeholder=\"请输入用户账号\" />\n </el-form-item>\n\n <el-form-item label=\"昵称:\" prop=\"nickName\">\n <el-input v-model=\"form.nickName\" placeholder=\"请输入用户昵称\" />\n </el-form-item>\n\n <el-form-item label=\"邮箱:\" prop=\"email\">\n <el-input v-model=\"form.email\" placeholder=\"请输入用户邮箱\" />\n </el-form-item>\n\n <!-- <el-form-item label=\"密码:\" prop=\"password\">\n <el-input type=\"password\" v-model=\"form.password\" placeholder=\"请输入密码\" />\n </el-form-item>-->\n </el-col>\n <el-col :span=\"8\">\n <el-form-item label class=\"table-avatar\" style=\"margin-left: 0px;\" prop=\"avatar\">\n <upload-image\n :fileType=\"fileType\"\n :imageUrl=\"form.avatar\"\n @eventUrl=\"(data) => {form.avatar = data}\"\n />\n <span\n style=\"\n line-height: 20px;\n font-size: 15px;\n font-weight: 600;\n display: flex;\n width: 100%;\n justify-content: center;\n \"\n >用户头像</span>\n </el-form-item>\n </el-col>\n </el-row>\n\n <el-form-item label=\"手机号码:\" prop=\"phonenumber\">\n <el-input v-model=\"form.phonenumber\" placeholder=\"请输入手机号码\" />\n </el-form-item>\n\n <el-form-item label=\"性别:\" prop=\"sex\">\n <el-radio-group v-model=\"form.sex\">\n <el-radio :label=\"vals\" v-for=\"(keys, vals) in sexOption\" :key=\"keys\">{{keys}}</el-radio>\n </el-radio-group>\n </el-form-item>\n </el-form>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button size=\"mini\" type=\"primary\" @click=\"submitForm\">确 定</el-button>\n <el-button size=\"mini\" @click=\"cancel\">取 消</el-button>\n </div>\n </el-dialog>\n </div>\n</template>\n\n<script>\nimport {\n listOneself,\n getOneself,\n delOneself,\n addOneself,\n updateOneself,\n exportOneself\n} from \"@/api/system/oneself\";\nimport { getIotFileUrl } from \"@/utils/hciot\";\nimport UploadImage from \"@/components/Upload/Image.vue\";\n\nconst sexOption = {\n 0: \"男\",\n 1: \"女\",\n 2: \"未知\"\n};\n\nexport default {\n name: \"Oneself\",\n components: {\n UploadImage\n },\n data() {\n return {\n sexOption,\n // 遮罩层\n loading: true,\n // 选中数组\n ids: [],\n // 非单个禁用\n single: true,\n // 非多个禁用\n multiple: true,\n // 显示搜索条件\n showSearch: true,\n // 总条数\n total: 0,\n // 个人用户信息表格数据\n oneselfList: [],\n // 弹出层标题\n title: \"\",\n // 是否显示弹出层\n open: false,\n // 查询参数\n fileType: [\"image/jpeg\", \"image/png\"],\n queryParams: {\n pageNum: 1,\n pageSize: 10,\n userName: null,\n phonenumber: null\n },\n // 表单参数\n form: {},\n // 表单校验\n rules: {\n phonenumber: [\n { required: true, message: \"手机号码不能为空\", trigger: \"blur\" },\n {\n pattern: /^1(3[0-9]|4[5,7]|5[0,1,2,3,5,6,7,8,9]|6[2,5,6,7]|7[0,1,7,8]|8[0-9]|9[1,8,9])\\d{8}$/,\n message: \"手机号码不正确。\"\n }\n ],\n password: [\n { required: true, message: \"密码不能为空\", trigger: \"blur\" }\n ],\n userName: [\n { required: true, message: \"用户账号不能为空\", trigger: \"blur\" }\n ],\n nickName: [\n { required: true, message: \"用户昵称不能为空\", trigger: \"blur\" }\n ],\n email: [\n { required: true, message: \"邮箱不能为空\", trigger: \"blur\" },\n {\n pattern: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: \"邮箱格式不正确。\"\n }\n ]\n }\n };\n },\n created() {\n this.getList();\n },\n methods: {\n getIotFileUrl,\n statusUpdate(row) {\n updateOneself(row).then(response => {\n if (row.status === \"0\") {\n this.msgSuccess(\"已启用!\");\n } else if (row.status === \"1\") {\n this.msgSuccess(\"已停用!\");\n }\n this.getList();\n });\n },\n indexFormatter(val) {\n return (\n val + 1 + (this.queryParams.pageNum - 1) * this.queryParams.pageSize\n );\n },\n sexFormatter(row) {\n return this.sexOption[row.sex];\n },\n statusFormatter(row) {\n return row.status === \"0\" ? \"正常\" : \"停用\";\n },\n /** 查询个人用户信息列表 */\n getList() {\n this.loading = true;\n listOneself(this.queryParams).then(response => {\n this.oneselfList = response.rows;\n this.total = response.total;\n this.loading = false;\n });\n },\n // 取消按钮\n cancel() {\n this.open = false;\n this.reset();\n },\n // 表单重置\n reset() {\n this.form = {\n userName: null,\n nickName: null,\n email: null,\n phonenumber: null,\n sex: null,\n avatar: null,\n password: null,\n status: \"0\"\n };\n this.resetForm(\"form\");\n },\n /** 搜索按钮操作 */\n handleQuery() {\n this.queryParams.pageNum = 1;\n this.getList();\n },\n /** 重置按钮操作 */\n resetQuery() {\n this.resetForm(\"queryForm\");\n this.handleQuery();\n },\n // 多选框选中数据\n handleSelectionChange(selection) {\n this.ids = selection.map(item => item.userId);\n this.single = selection.length !== 1;\n this.multiple = !selection.length;\n },\n /** 新增按钮操作 */\n handleAdd() {\n this.reset();\n this.open = true;\n this.title = \"添加个人用户信息\";\n },\n /** 修改按钮操作 */\n handleUpdate(row) {\n this.reset();\n const userId = row.userId;\n getOneself(userId).then(response => {\n this.form = response.data;\n this.open = true;\n this.title = \"修改个人用户信息\";\n });\n },\n /** 提交按钮 */\n submitForm() {\n this.$refs[\"form\"].validate(valid => {\n if (valid) {\n if (this.form.userId != null) {\n updateOneself(this.form).then(response => {\n this.msgSuccess(\"修改成功\");\n this.open = false;\n this.getList();\n });\n } else {\n addOneself(this.form).then(response => {\n this.msgSuccess(\"新增成功\");\n this.open = false;\n this.getList();\n });\n }\n }\n });\n },\n /** 删除按钮操作 */\n handleDelete(row) {\n const userIds = row.userId;\n this.$confirm(\"是否删除该选项?\", \"警告\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n })\n .then(function() {\n return delOneself(userIds);\n })\n .then(() => {\n this.getList();\n this.msgSuccess(\"删除成功\");\n });\n },\n /** 导出按钮操作 */\n handleExport() {\n const queryParams = this.queryParams;\n this.$confirm(\"是否确认导出所有个人用户信息数据项?\", \"警告\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n })\n .then(function() {\n return exportOneself(queryParams);\n })\n .then(response => {\n this.download(response.msg);\n });\n }\n }\n};\n</script>\n<style lang=\"scss\">\n.system-oneself {\n .eldialog-wrap {\n .el-dialog__header {\n border-bottom: 1px solid #747373;\n }\n .el-dialog__body {\n padding: 0px;\n }\n .el-form {\n padding: 20px;\n padding-right: 40px;\n }\n .el-dialog__footer {\n height: 60px;\n border-top: 1px solid #747373;\n text-align: right;\n width: 100%;\n padding: 0px;\n padding-top: 15px;\n .el-button + .el-button {\n margin-right: 10px;\n }\n .el-button {\n padding-top: 8px;\n }\n }\n .table-avatar {\n .el-form-item__content {\n margin-left: 0px !important;\n }\n }\n }\n}\n</style>\n"]}]}