1 line
38 KiB
JSON
1 line
38 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\\power\\maintenance\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"G:\\project\\smart-power-ui\\src\\views\\power\\maintenance\\index.vue","mtime":1617244633484},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7CiAgbGlzdE1haW50ZW5hbmNlLAogIGdldE1haW50ZW5hbmNlLAogIGRlbE1haW50ZW5hbmNlLAogIGFkZE1haW50ZW5hbmNlLAogIHVwZGF0ZU1haW50ZW5hbmNlLAogIGV4cG9ydE1haW50ZW5hbmNlCn0gZnJvbSAiQC9hcGkvcG93ZXIvbWFpbnRlbmFuY2UiOwppbXBvcnQgeyBsaXN0RGV2aWNlIH0gZnJvbSAiQC9hcGkvaW90L2RldmljZSI7CmltcG9ydCB7IGxpc3RVc2VyIH0gZnJvbSAiQC9hcGkvc3lzdGVtL3VzZXIiOwppbXBvcnQgeyBsaXN0RGVwdCB9IGZyb20gIkAvYXBpL3N5c3RlbS9kZXB0IjsKaW1wb3J0IERldGFpbHNXcmFwIGZyb20gJy4uL215d29yay9kZXRhaWxzJwppbXBvcnQgVHJlZXNlbGVjdCBmcm9tICJAcmlvcGhhZS92dWUtdHJlZXNlbGVjdCI7CmltcG9ydCBTZWxlY3RUYWJsZVdyYXAgZnJvbSAiQC9jb21wb25lbnRzL1NlbGVjdFRhYmxlL2luZGV4IjsKaW1wb3J0ICJAcmlvcGhhZS92dWUtdHJlZXNlbGVjdC9kaXN0L3Z1ZS10cmVlc2VsZWN0LmNzcyI7CgovLyDlt6XljZXnirbmgIEoMDrkuIrmiqXkurrliJvlu7rlt6XljZUgMTrpqbPlm57kuIrmiqXkurrlt6XljZUgMjrlpITnkIbkurrnoa7orqTlt6XljZUgMzrlpITnkIbkurrlrozmiJDlt6XljZUgNDrpqbPlm57lpITnkIbkurrlt6XljZUgNTrpooblr7zlrqHmibnpgJrov4fmtYHnqIvnu5PmnZ8pCmNvbnN0IHdvcmtTdGF0ZUxpc3QgPSB7CiAgIjAiOiAi5bel5Y2V5bey5Yib5bu6IiwKICAiMSI6ICLpgIDlm57lt6XljZUiLAogICIyIjogIuehruiupOW3peWNlSIsCiAgIjMiOiAi5aSE55CG5a6M5oiQIiwKICAiNCI6ICLpgIDlm57lpITnkIYiLAogICI1IjogIuWuoeaguOmAmui/hyIKfTsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiTWFpbnRlbmFuY2UiLAogIGNvbXBvbmVudHM6IHsKICAgIFRyZWVzZWxlY3QsCiAgICBTZWxlY3RUYWJsZVdyYXAsCiAgICBEZXRhaWxzV3JhcAogIH0sCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHdvcmtTdGF0ZUxpc3QsCiAgICAgIG9wZW5EZXN0YWlsOiBmYWxzZSwKICAgICAgc2VsZWN0VGFibGVTaG93OiBmYWxzZSwKICAgICAgdGFibGVTZWxlY3RPcHRpb246IHt9LAogICAgICBzZWxlY3RSZXN1bHQ6IHt9LAogICAgICBmYXVsdFR5cGVPcHRpb25zOiBbXSwKICAgICAgd29ya0RldGFpbHM6IHt9LAogICAgICAvLyDpga7nvanlsYIKICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgLy8g6YCJ5Lit5pWw57uECiAgICAgIGlkczogW10sCiAgICAgIC8vIOmdnuWNleS4quemgeeUqAogICAgICBzaW5nbGU6IHRydWUsCiAgICAgIC8vIOmdnuWkmuS4quemgeeUqAogICAgICBtdWx0aXBsZTogdHJ1ZSwKICAgICAgLy8g5pi+56S65pCc57Si5p2h5Lu2CiAgICAgIHNob3dTZWFyY2g6IHRydWUsCiAgICAgIC8vIOaAu+adoeaVsAogICAgICB0b3RhbDogMCwKICAgICAgLy8g5bel5Y2V5L+h5oGv6KGo5qC85pWw5o2uCiAgICAgIG1haW50ZW5hbmNlTGlzdDogW10sCiAgICAgIC8vIOW8ueWHuuWxguagh+mimAogICAgICB0aXRsZTogIiIsCiAgICAgIC8vIOaYr+WQpuaYvuekuuW8ueWHuuWxggogICAgICBvcGVuOiBmYWxzZSwKICAgICAgLy8g5p+l6K+i5Y+C5pWwCiAgICAgIHF1ZXJ5UGFyYW1zOiB7CiAgICAgICAgcGFnZU51bTogMSwKICAgICAgICBwYWdlU2l6ZTogMTAsCiAgICAgICAgcmVjb3JkSWQ6IG51bGwsCiAgICAgICAgZGV2aWNlSWQ6IG51bGwsCiAgICAgICAgZGV2aWNlTmFtZTogbnVsbCwKICAgICAgICBmYXVsdFR5cGU6IG51bGwsCiAgICAgICAgcmVwb3J0ZXJJZDogbnVsbCwKICAgICAgICByZXBvcnRlck5hbWU6IG51bGwsCiAgICAgICAgbWFpbnRlbmFuY2VDb250ZXh0OiBudWxsLAogICAgICAgIGhhbmRsZXJJZDogbnVsbCwKICAgICAgICBoYW5kbGVyTmFtZTogbnVsbCwKICAgICAgICBoYW5kbGVUaW1lOiBudWxsLAogICAgICAgIHNjZW5lUGljdHVyZXM6IG51bGwsCiAgICAgICAgZmVlZGJhY2tJbmZvcm1hdGlvbjogbnVsbCwKICAgICAgICBhZHZpY2U6IG51bGwsCiAgICAgICAgbWFpbnRlbmFuY2VTdGF0dXM6IG51bGwKICAgICAgfSwKICAgICAgLy8g6KGo5Y2V5Y+C5pWwCiAgICAgIGZvcm06IHt9LAogICAgICAvLyDooajljZXmoKHpqowKICAgICAgcnVsZXM6IHt9LAogICAgICBkZXB0T3B0aW9uczogW10KICAgIH07CiAgfSwKICBjcmVhdGVkKCkgewogICAgLy8g6I635Y+W5pWF6Zqc57G75Z6L77yI5a2X5YW477yJCiAgICB0aGlzLmdldERpY3RzKCJmYXVsdF90eXBlIikudGhlbihyZXNwb25zZSA9PiB7CiAgICAgIHRoaXMuZmF1bHRUeXBlT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgdGhpcy5nZXRUcmVlc2VsZWN0KCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBkaWFsb2dDbG9lcygpIHsKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9LAogICAgLy8g5p+l55yL6K+m5oOFCiAgICBoYW5kbGVEZXRhaWxzKHJvdykgewogICAgICB0aGlzLndvcmtEZXRhaWxzID0gcm93OwogICAgICB0aGlzLm9wZW5EZXN0YWlsID0gdHJ1ZTsKICAgIH0sCiAgICAvLyDmiZPlvIDorr7lpIfpgInmi6nnqpflj6Mg4oCU4oCU6KGo5qC8CiAgICBvcGVuVGFibGVTZWxlY3REaWFsb2coKSB7CiAgICAgIHRoaXMuc2VsZWN0UmVzdWx0ID0ge307CiAgICAgIHRoaXMudGFibGVTZWxlY3RPcHRpb24gPSB7CiAgICAgICAgb3RoZXJPcHRpb246IHsKICAgICAgICAgIHRhYmxlVHlwZTogImRldmljZSIKICAgICAgICB9LAogICAgICAgIHF1ZXJ5T3B0OiB7CiAgICAgICAgICBkaXNhYmxlOiBmYWxzZSwKICAgICAgICAgIGxhYmVsV2lkdGg6ICI2OHB4IiwKICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICBkZXZpY2VOYW1lOiAiIiwKICAgICAgICAgICAgbW9kZWxJZDogIiIsCiAgICAgICAgICAgIHBhcmVudElkOiAwLAogICAgICAgICAgICBkZXZpY2VUeXBlOiAiR0FURVdBWV9DT05UUk9MTEVSIgogICAgICAgICAgfSwKICAgICAgICAgIHBhZ2U6IHsKICAgICAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgICAgICBwYWdlTnVtOiAxLAogICAgICAgICAgICB0b3RhbDogMAogICAgICAgICAgfSwKICAgICAgICAgIGlubGluZTogdHJ1ZSwKICAgICAgICAgIHF1ZXJ5Q2hpbGRzOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBzdHlsZTogIiIsCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICLorr7lpIflkI3np7AiLAogICAgICAgICAgICAgIGNsZWFyYWJsZTogdHJ1ZSwKICAgICAgICAgICAgICBsYWJlbDogIuiuvuWkh+WQjeensCIsCiAgICAgICAgICAgICAgdHlwZTogImlucHV0IiwKICAgICAgICAgICAgICBrZXk6ICJkZXZpY2VOYW1lIiwKICAgICAgICAgICAgICBzaXplOiAic21hbGwiLAogICAgICAgICAgICAgIHZhbHVlOiAiIgogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICB0YWJsZU9wdDogewogICAgICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgICAgICByb3dLZXk6ICJkZXZpY2VJZCIsCiAgICAgICAgICBzZWxlY3Rpb246IGZhbHNlLAogICAgICAgICAgbWF4SGVpZ2h0OiAiNDV2aCIsCiAgICAgICAgICBjaGlsZHM6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgIHN0eWxlOiAiIiwKICAgICAgICAgICAgICBsYWJlbDogIuaJgOWxnuWei+WPtyIsCiAgICAgICAgICAgICAgdHlwZTogIiIsCiAgICAgICAgICAgICAgcHJvcDogIm1vZGVsTmFtZSIsCiAgICAgICAgICAgICAgYWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICB3aWR0aDogIiIsCiAgICAgICAgICAgICAgInNob3ctb3ZlcmZsb3ctdG9vbHRpcCI6IGZhbHNlLAogICAgICAgICAgICAgIHRlbXBUeXBlOiAic3BhbiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgIHN0eWxlOiAiIiwKICAgICAgICAgICAgICBsYWJlbDogIuiuvuWkh+WQjeensCIsCiAgICAgICAgICAgICAgdHlwZTogIiIsCiAgICAgICAgICAgICAgcHJvcDogImRldmljZU5hbWUiLAogICAgICAgICAgICAgIGFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgd2lkdGg6ICIiLAogICAgICAgICAgICAgICJzaG93LW92ZXJmbG93LXRvb2x0aXAiOiBmYWxzZSwKICAgICAgICAgICAgICB0ZW1wVHlwZTogInNwYW4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBzdHlsZTogIiIsCiAgICAgICAgICAgICAgbGFiZWw6ICLorr7lpIdLZXkiLAogICAgICAgICAgICAgIHR5cGU6ICIiLAogICAgICAgICAgICAgIHByb3A6ICJkZXZpY2VLZXkiLAogICAgICAgICAgICAgIGFsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgd2lkdGg6ICIiLAogICAgICAgICAgICAgICJzaG93LW92ZXJmbG93LXRvb2x0aXAiOiBmYWxzZSwKICAgICAgICAgICAgICB0ZW1wVHlwZTogInNwYW4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBzdHlsZTogIiIsCiAgICAgICAgICAgICAgbGFiZWw6ICLliJvlu7rml7bpl7QiLAogICAgICAgICAgICAgIHR5cGU6ICJ0aW1lIiwKICAgICAgICAgICAgICBwcm9wOiAiY3JlYXRlVGltZSIsCiAgICAgICAgICAgICAgYWxpZ246ICJjZW50ZXIiLAogICAgICAgICAgICAgIHdpZHRoOiAiMTYwIiwKICAgICAgICAgICAgICAic2hvdy1vdmVyZmxvdy10b29sdGlwIjogZmFsc2UsCiAgICAgICAgICAgICAgdGVtcFR5cGU6ICJzcGFuIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgdGFibGVMaXN0OiB7CiAgICAgICAgICAgIHR5cGU6IEFycmF5CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0YWJsZUxpc3Q6IFtdCiAgICAgIH07CiAgICAgIHRoaXMuc2VsZWN0VGFibGVTaG93ID0gdHJ1ZTsKICAgIH0sCiAgICAvLyDmn6Xor6Llm57osIMKICAgIGNoaWxkR2V0TGlzdChkYXRhKSB7CiAgICAgIGxpc3REZXZpY2UoT2JqZWN0LmFzc2lnbihkYXRhLnBhZ2UsIGRhdGEucGFyYW0sIHsgc2VsZWN0ZWQ6IDEgfSkpLnRoZW4oCiAgICAgICAgcmVzcG9uc2UgPT4gewogICAgICAgICAgdGhpcy50YWJsZVNlbGVjdE9wdGlvbi50YWJsZUxpc3QgPSByZXNwb25zZS5yb3dzOwogICAgICAgICAgdGhpcy50YWJsZVNlbGVjdE9wdGlvbi5xdWVyeU9wdC5wYWdlLnRvdGFsID0gTnVtYmVyKHJlc3BvbnNlLnRvdGFsKTsKICAgICAgICB9CiAgICAgICk7CiAgICB9LAogICAgLy8g54K55Ye75oiW6ICF5Y+M5Ye75pWw5o2u5Zue6LCDCiAgICByZXR1cm5FdmVudChkYXRhKSB7CiAgICAgIGlmIChkYXRhLnR5cGUgPT09ICJkYmxjbGljayIpIHsKICAgICAgICB0aGlzLmZvcm0uZGV2aWNlSWQgPSBkYXRhLnZhbHVlLmRldmljZUlkOwogICAgICAgIHRoaXMuZm9ybS5kZXZpY2VOYW1lID0gZGF0YS52YWx1ZS5kZXZpY2VOYW1lOwogICAgICAgIHRoaXMuc2VsZWN0VGFibGVTaG93ID0gZmFsc2U7CiAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAiY2xpY2siKSB7CiAgICAgICAgdGhpcy5zZWxlY3RSZXN1bHQgPSB7fTsKICAgICAgICB0aGlzLnNlbGVjdFJlc3VsdC5kZXZpY2VJZCA9IGRhdGEudmFsdWUuZGV2aWNlSWQ7CiAgICAgICAgdGhpcy5zZWxlY3RSZXN1bHQuZGV2aWNlTmFtZSA9IGRhdGEudmFsdWUuZGV2aWNlTmFtZTsKICAgICAgfQogICAgfSwKICAgIC8vIOeCueWHu+ehruWumuaMiemSrgogICAgcmVzdWxlQ2xpY2soKSB7CiAgICAgIHRoaXMuZm9ybS5kZXZpY2VJZCA9IHRoaXMuc2VsZWN0UmVzdWx0LmRldmljZUlkOwogICAgICB0aGlzLmZvcm0uZGV2aWNlTmFtZSA9IHRoaXMuc2VsZWN0UmVzdWx0LmRldmljZU5hbWU7CiAgICAgIHRoaXMuc2VsZWN0VGFibGVTaG93ID0gZmFsc2U7CiAgICB9LAogICAgLy8g6I635Y+W5Yiw55So5oi35YiX6KGoIOW5tuS4lOi1i+WAvOWIsCDpg6jpl6jooagKICAgIGdldFVzZXJMaXN0KGRhdGEpIHsKICAgICAgdmFyIHVzZXJMaXN0ID0gW107CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIGxpc3RVc2VyKCkudGhlbihyZXNwb25zZSA9PiB7CiAgICAgICAgdXNlckxpc3QgPSByZXNwb25zZS5yb3dzOwogICAgICAgIGlmICh1c2VyTGlzdCkgewogICAgICAgICAgdXNlckxpc3QuZm9yRWFjaCh2ID0+IHsKICAgICAgICAgICAgaWYgKHYuZGVwdElkKSB7CiAgICAgICAgICAgICAgbGV0IGRlcHRJZCA9IHYuZGVwdElkOwogICAgICAgICAgICAgIHYuZGVwdElkID0gdi51c2VySWQ7CiAgICAgICAgICAgICAgdi5wYXJlbnRJZCA9IGRlcHRJZDsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIF90aGlzLmRlcHRPcHRpb25zID0gX3RoaXMuaGFuZGxlVHJlZShkYXRhLmNvbmNhdCh1c2VyTGlzdCksICJkZXB0SWQiKTsKICAgICAgfSk7CiAgICAgIHJldHVybiB1c2VyTGlzdDsKICAgIH0sCiAgICAvKiog5p+l6K+i6YOo6Zeo5Lq65ZGY5YiX6KGoICovCiAgICBnZXRUcmVlc2VsZWN0KCkgewogICAgICBsaXN0RGVwdCh7IHBhZ2VOdW06IDEsIHBhZ2VTaXplOiA5OTk5OSB9KS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICB0aGlzLmdldFVzZXJMaXN0KHJlc3BvbnNlLmRhdGEpOwogICAgICB9KTsKICAgIH0sCiAgICBub3JtYWxpemVyKG5vZGUpIHsKICAgICAgaWYgKG5vZGUubmlja05hbWUpIHsKICAgICAgICBkZWxldGUgbm9kZS5jaGlsZHJlbjsKICAgICAgfQogICAgICByZXR1cm4gewogICAgICAgIGlkOiBub2RlLmRlcHRJZCwKICAgICAgICBsYWJlbDogbm9kZS5kZXB0TmFtZSA/IG5vZGUuZGVwdE5hbWUgOiBub2RlLm5pY2tOYW1lLAogICAgICAgIGNoaWxkcmVuOiBub2RlLmNoaWxkcmVuCiAgICAgIH07CiAgICB9LAogICAgdHJlZXNlbGVjdChub2RlLCBpbnN0YW5jZUlkKSB7CiAgICAgIHRoaXMuZm9ybS5oYW5kbGVyTmFtZSA9IG5vZGUubmlja05hbWU7CiAgICB9LAogICAgaW5kZXhGb3JtYXR0ZXIodmFsKSB7CiAgICAgIHJldHVybiAoCiAgICAgICAgdmFsICsgMSArICh0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gLSAxKSAqIHRoaXMucXVlcnlQYXJhbXMucGFnZVNpemUKICAgICAgKTsKICAgIH0sCiAgICAvLyDlrZflhbjnirbmgIHlrZflhbjnv7vor5EKICAgIHN0YXR1c0Zvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy5mYXVsdFR5cGVPcHRpb25zLCByb3cuZmF1bHRUeXBlKTsKICAgIH0sCiAgICAvKiog5p+l6K+i5bel5Y2V5L+h5oGv5YiX6KGoICovCiAgICBnZXRMaXN0KCkgewogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOwogICAgICBsaXN0TWFpbnRlbmFuY2UodGhpcy5xdWVyeVBhcmFtcykudGhlbihyZXNwb25zZSA9PiB7CiAgICAgICAgdGhpcy5tYWludGVuYW5jZUxpc3QgPSByZXNwb25zZS5yb3dzOwogICAgICAgIHRoaXMudG90YWwgPSByZXNwb25zZS50b3RhbDsKICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5Y+W5raI5oyJ6ZKuCiAgICBjYW5jZWwoKSB7CiAgICAgIHRoaXMub3BlbiA9IGZhbHNlOwogICAgICB0aGlzLnJlc2V0KCk7CiAgICB9LAogICAgLy8g6KGo5Y2V6YeN572uCiAgICByZXNldCgpIHsKICAgICAgdGhpcy5mb3JtID0gewogICAgICAgIG1haW50ZW5hbmNlSWQ6IG51bGwsCiAgICAgICAgcmVjb3JkSWQ6IG51bGwsCiAgICAgICAgZGV2aWNlSWQ6IG51bGwsCiAgICAgICAgZGV2aWNlTmFtZTogbnVsbCwKICAgICAgICBmYXVsdFR5cGU6IG51bGwsCiAgICAgICAgcmVwb3J0ZXJJZDogbnVsbCwKICAgICAgICByZXBvcnRlck5hbWU6IG51bGwsCiAgICAgICAgbWFpbnRlbmFuY2VDb250ZXh0OiBudWxsLAogICAgICAgIGhhbmRsZXJJZDogbnVsbCwKICAgICAgICBoYW5kbGVyTmFtZTogbnVsbCwKICAgICAgICBoYW5kbGVUaW1lOiBudWxsLAogICAgICAgIHNjZW5lUGljdHVyZXM6IG51bGwsCiAgICAgICAgZmVlZGJhY2tJbmZvcm1hdGlvbjogbnVsbCwKICAgICAgICBhZHZpY2U6IG51bGwsCiAgICAgICAgbWFpbnRlbmFuY2VTdGF0dXM6ICIwIiwKICAgICAgICB0ZW5hbnRJZDogbnVsbCwKICAgICAgICBjcmVhdGVJZDogbnVsbCwKICAgICAgICBjcmVhdGVUaW1lOiBudWxsLAogICAgICAgIHVwZGF0ZUlkOiBudWxsLAogICAgICAgIHVwZGF0ZVRpbWU6IG51bGwsCiAgICAgICAgcmVtYXJrOiBudWxsCiAgICAgIH07CiAgICAgIHRoaXMucmVzZXRGb3JtKCJmb3JtIik7CiAgICB9LAogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlUXVlcnkoKSB7CiAgICAgIHRoaXMucXVlcnlQYXJhbXMucGFnZU51bSA9IDE7CiAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgfSwKICAgIC8qKiDph43nva7mjInpkq7mk43kvZwgKi8KICAgIHJlc2V0UXVlcnkoKSB7CiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsKICAgICAgdGhpcy5oYW5kbGVRdWVyeSgpOwogICAgfSwKICAgIC8vIOWkmumAieahhumAieS4reaVsOaNrgogICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbikgewogICAgICB0aGlzLmlkcyA9IHNlbGVjdGlvbi5tYXAoaXRlbSA9PiBpdGVtLm1haW50ZW5hbmNlSWQpOwogICAgICB0aGlzLnNpbmdsZSA9IHNlbGVjdGlvbi5sZW5ndGggIT09IDE7CiAgICAgIHRoaXMubXVsdGlwbGUgPSAhc2VsZWN0aW9uLmxlbmd0aDsKICAgIH0sCiAgICAvKiog5paw5aKe5oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVBZGQoKSB7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgdGhpcy5mb3JtLnJlcG9ydGVyTmFtZSA9IHRoaXMuJHN0b3JlLmdldHRlcnMubmFtZTsKICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsKICAgICAgdGhpcy50aXRsZSA9ICLmt7vliqDlt6XljZXkv6Hmga8iOwogICAgfSwKICAgIC8qKiDkv67mlLnmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZVVwZGF0ZShyb3cpIHsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICBjb25zdCBtYWludGVuYW5jZUlkID0gcm93Lm1haW50ZW5hbmNlSWQgfHwgdGhpcy5pZHM7CiAgICAgIGdldE1haW50ZW5hbmNlKG1haW50ZW5hbmNlSWQpLnRoZW4ocmVzcG9uc2UgPT4gewogICAgICAgIHRoaXMuZm9ybSA9IHJlc3BvbnNlLmRhdGE7CiAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsKICAgICAgICB0aGlzLnRpdGxlID0gIuS/ruaUueW3peWNleS/oeaBryI7CiAgICAgIH0pOwogICAgfSwKICAgIC8qKiDmj5DkuqTmjInpkq4gKi8KICAgIHN1Ym1pdEZvcm0oKSB7CiAgICAgIHRoaXMuJHJlZnNbImZvcm0iXS52YWxpZGF0ZSh2YWxpZCA9PiB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBpZiAodGhpcy5mb3JtLm1haW50ZW5hbmNlSWQgIT0gbnVsbCkgewogICAgICAgICAgICB1cGRhdGVNYWludGVuYW5jZSh0aGlzLmZvcm0pLnRoZW4ocmVzcG9uc2UgPT4gewogICAgICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7CiAgICAgICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7CiAgICAgICAgICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYWRkTWFpbnRlbmFuY2UodGhpcy5mb3JtKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgICAgICB0aGlzLm1zZ1N1Y2Nlc3MoIuaWsOWinuaIkOWKnyIpOwogICAgICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlOwogICAgICAgICAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIC8qKiDliKDpmaTmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZURlbGV0ZShyb3cpIHsKICAgICAgY29uc3QgbWFpbnRlbmFuY2VJZHMgPSByb3cubWFpbnRlbmFuY2VJZCB8fCB0aGlzLmlkczsKICAgICAgdGhpcy4kY29uZmlybSgi5piv5ZCm5Yig6Zmk6K+l6YCJ6aG5PyIsICLorablkYoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KQogICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIGRlbE1haW50ZW5hbmNlKG1haW50ZW5hbmNlSWRzKTsKICAgICAgICB9KQogICAgICAgIC50aGVuKCgpID0+IHsKICAgICAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgICAgICAgdGhpcy5tc2dTdWNjZXNzKCLliKDpmaTmiJDlip8iKTsKICAgICAgICB9KTsKICAgIH0sCiAgICAvKiog5a+85Ye65oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVFeHBvcnQoKSB7CiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5xdWVyeVBhcmFtczsKICAgICAgdGhpcy4kY29uZmlybSgi5piv5ZCm56Gu6K6k5a+85Ye65omA5pyJ5bel5Y2V5L+h5oGv5pWw5o2u6aG5PyIsICLorablkYoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KQogICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIGV4cG9ydE1haW50ZW5hbmNlKHF1ZXJ5UGFyYW1zKTsKICAgICAgICB9KQogICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgIHRoaXMuZG93bmxvYWQocmVzcG9uc2UubXNnKTsKICAgICAgICB9KTsKICAgIH0KICB9Cn07Cg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/power/maintenance","sourcesContent":["<template>\n <div class=\"app-container power-maintenance\">\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=\"deviceName\">\n <el-input\n v-model=\"queryParams.deviceName\"\n placeholder=\"请输入设备名称\"\n clearable\n size=\"small\"\n @keyup.enter.native=\"handleQuery\"\n />\n </el-form-item>\n <el-form-item label=\"故障类型\" prop=\"faultType\">\n <el-select v-model=\"queryParams.faultType\" placeholder=\"请选择故障类型\" clearable size=\"small\">\n <el-option\n v-for=\"dict in faultTypeOptions\"\n :key=\"dict.dictValue\"\n :label=\"dict.dictLabel\"\n :value=\"dict.dictValue\"\n />\n </el-select>\n </el-form-item>\n\n <el-form-item label=\"处理时间\" prop=\"handleTime\">\n <el-date-picker\n clearable\n size=\"small\"\n style=\"width: 200px\"\n v-model=\"queryParams.handleTime\"\n type=\"date\"\n value-format=\"yyyy-MM-dd\"\n placeholder=\"选择处理时间\"\n ></el-date-picker>\n </el-form-item>\n\n <el-form-item label=\"工单状态\" prop=\"maintenanceStatus\">\n <el-select\n v-model=\"queryParams.maintenanceStatus\"\n placeholder=\"请选择工单状态\"\n clearable\n size=\"small\"\n >\n <el-option :label=\"keys\" :value=\"val\" v-for=\"(keys, val) in workStateList\" :key=\"keys\" />\n </el-select>\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=\"['iot:maintenance: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=\"['iot:maintenance: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=\"maintenanceList\">\n <el-table-column type=\"index\" label=\"序号\" align=\"center\" :index=\"indexFormatter\" width=\"80px\"></el-table-column>\n <el-table-column label=\"设备名称\" align=\"left\" prop=\"deviceName\" />\n <el-table-column\n label=\"故障类型\"\n align=\"center\"\n width=\"150\"\n prop=\"faultType\"\n :formatter=\"statusFormat\"\n />\n <el-table-column label=\"上报人\" align=\"left\" prop=\"reporterName\" />\n <el-table-column label=\"处理人\" align=\"left\" prop=\"handlerName\" />\n <el-table-column label=\"工作内容\" align=\"left\" prop=\"maintenanceContext\" />\n <el-table-column label=\"处理时间\" align=\"center\" prop=\"handleTime\" width=\"120\">\n <template slot-scope=\"scope\">\n <span>{{ parseTime(scope.row.handleTime, '{y}-{m}-{d}') }}</span>\n </template>\n </el-table-column>\n\n <el-table-column label=\"工单状态\" align=\"center\" width=\"120\" prop=\"maintenanceStatus\">\n <template slot-scope=\"scope\">\n <span>{{ workStateList[scope.row.workOrderStatus] }}</span>\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=\"['iot:maintenance:edit']\"\n >修改</el-button> -->\n <el-button size=\"mini\" type=\"text\" @click=\"handleDetails(scope.row)\">工单追踪</el-button>\n <el-button\n size=\"mini\"\n type=\"text\"\n @click=\"handleDelete(scope.row)\"\n v-hasPermi=\"['iot:maintenance: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=\"80px\">\n <el-form-item label=\"设备名称\" prop=\"deviceName\">\n <el-input v-model=\"form.deviceName\" @focus=\"openTableSelectDialog\" placeholder=\"请输入设备名称\" />\n </el-form-item>\n <el-form-item label=\"故障类型\" prop=\"faultType\">\n <el-select v-model=\"form.faultType\" style=\"width: 100%;\" placeholder=\"请选择故障类型\">\n <el-option\n v-for=\"dict in faultTypeOptions\"\n :key=\"dict.dictValue\"\n :label=\"dict.dictLabel\"\n :value=\"dict.dictValue\"\n />\n </el-select>\n </el-form-item>\n\n <el-form-item label=\"上报人\" prop=\"reporterName\">\n <el-input v-model=\"form.reporterName\" disabled placeholder=\"请输入上报人昵称\" />\n </el-form-item>\n\n <el-form-item label=\"处理人\" prop=\"handlerId\">\n <treeselect\n ref=\"treeselect\"\n @select=\"treeselect\"\n noChildrenText=\"暂无\"\n loadingText=\"加载中。。\"\n :normalizer=\"normalizer\"\n v-model=\"form.handlerId\"\n :options=\"deptOptions\"\n :disable-branch-nodes=\"true\"\n :show-count=\"true\"\n placeholder=\"请选择处理人\"\n />\n </el-form-item>\n\n <el-form-item label=\"工作内容\" prop=\"maintenanceContext\">\n <el-input v-model=\"form.maintenanceContext\" type=\"textarea\" placeholder=\"请输入内容\" />\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\n <el-dialog\n title=\"选择\"\n :visible.sync=\"selectTableShow\"\n width=\"75%\"\n top=\"10vh\"\n class=\"select-table-dialog\"\n :close-on-click-modal=\"false\"\n >\n <select-table-wrap\n v-if=\"selectTableShow\"\n :tableOption=\"tableSelectOption.tableOpt\"\n :queryOption=\"tableSelectOption.queryOpt\"\n :tableList=\"tableSelectOption.tableList\"\n @parentGetList=\"childGetList($event)\"\n :otherOption=\"tableSelectOption.otherOption\"\n @returnEvent=\"returnEvent($event)\"\n />\n\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button size=\"mini\" type=\"primary\" @click=\"resuleClick\">确 定</el-button>\n <el-button size=\"mini\" @click=\"() =>{selectTableShow = false}\">取 消</el-button>\n </div>\n </el-dialog>\n\n <el-dialog\n title=\"工单详情\"\n class=\"eldialog-wrap dialot-det\"\n top=\"5vh\"\n @close=\"dialogCloes()\"\n :visible.sync=\"openDestail\"\n width=\"800px\"\n >\n <div class=\"dialot-details\">\n <details-wrap v-if=\"openDestail\" tempType=\"workList\" :maintenanceId=\"workDetails.maintenanceId\" />\n </div>\n </el-dialog>\n </div>\n</template>\n\n<script>\nimport {\n listMaintenance,\n getMaintenance,\n delMaintenance,\n addMaintenance,\n updateMaintenance,\n exportMaintenance\n} from \"@/api/power/maintenance\";\nimport { listDevice } from \"@/api/iot/device\";\nimport { listUser } from \"@/api/system/user\";\nimport { listDept } from \"@/api/system/dept\";\nimport DetailsWrap from '../mywork/details'\nimport Treeselect from \"@riophae/vue-treeselect\";\nimport SelectTableWrap from \"@/components/SelectTable/index\";\nimport \"@riophae/vue-treeselect/dist/vue-treeselect.css\";\n\n// 工单状态(0:上报人创建工单 1:驳回上报人工单 2:处理人确认工单 3:处理人完成工单 4:驳回处理人工单 5:领导审批通过流程结束)\nconst workStateList = {\n \"0\": \"工单已创建\",\n \"1\": \"退回工单\",\n \"2\": \"确认工单\",\n \"3\": \"处理完成\",\n \"4\": \"退回处理\",\n \"5\": \"审核通过\"\n};\n\nexport default {\n name: \"Maintenance\",\n components: {\n Treeselect,\n SelectTableWrap,\n DetailsWrap\n },\n data() {\n return {\n workStateList,\n openDestail: false,\n selectTableShow: false,\n tableSelectOption: {},\n selectResult: {},\n faultTypeOptions: [],\n workDetails: {},\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 maintenanceList: [],\n // 弹出层标题\n title: \"\",\n // 是否显示弹出层\n open: false,\n // 查询参数\n queryParams: {\n pageNum: 1,\n pageSize: 10,\n recordId: null,\n deviceId: null,\n deviceName: null,\n faultType: null,\n reporterId: null,\n reporterName: null,\n maintenanceContext: null,\n handlerId: null,\n handlerName: null,\n handleTime: null,\n scenePictures: null,\n feedbackInformation: null,\n advice: null,\n maintenanceStatus: null\n },\n // 表单参数\n form: {},\n // 表单校验\n rules: {},\n deptOptions: []\n };\n },\n created() {\n // 获取故障类型(字典)\n this.getDicts(\"fault_type\").then(response => {\n this.faultTypeOptions = response.data;\n });\n this.getList();\n this.getTreeselect();\n },\n methods: {\n dialogCloes() {\n this.getList();\n },\n // 查看详情\n handleDetails(row) {\n this.workDetails = row;\n this.openDestail = true;\n },\n // 打开设备选择窗口 ——表格\n openTableSelectDialog() {\n this.selectResult = {};\n this.tableSelectOption = {\n otherOption: {\n tableType: \"device\"\n },\n queryOpt: {\n disable: false,\n labelWidth: \"68px\",\n params: {\n deviceName: \"\",\n modelId: \"\",\n parentId: 0,\n deviceType: \"GATEWAY_CONTROLLER\"\n },\n page: {\n pageSize: 10,\n pageNum: 1,\n total: 0\n },\n inline: true,\n queryChilds: [\n {\n style: \"\",\n placeholder: \"设备名称\",\n clearable: true,\n label: \"设备名称\",\n type: \"input\",\n key: \"deviceName\",\n size: \"small\",\n value: \"\"\n }\n ]\n },\n tableOpt: {\n loading: false,\n rowKey: \"deviceId\",\n selection: false,\n maxHeight: \"45vh\",\n childs: [\n {\n style: \"\",\n label: \"所属型号\",\n type: \"\",\n prop: \"modelName\",\n align: \"left\",\n width: \"\",\n \"show-overflow-tooltip\": false,\n tempType: \"span\"\n },\n {\n style: \"\",\n label: \"设备名称\",\n type: \"\",\n prop: \"deviceName\",\n align: \"left\",\n width: \"\",\n \"show-overflow-tooltip\": false,\n tempType: \"span\"\n },\n {\n style: \"\",\n label: \"设备Key\",\n type: \"\",\n prop: \"deviceKey\",\n align: \"left\",\n width: \"\",\n \"show-overflow-tooltip\": false,\n tempType: \"span\"\n },\n {\n style: \"\",\n label: \"创建时间\",\n type: \"time\",\n prop: \"createTime\",\n align: \"center\",\n width: \"160\",\n \"show-overflow-tooltip\": false,\n tempType: \"span\"\n }\n ],\n tableList: {\n type: Array\n }\n },\n tableList: []\n };\n this.selectTableShow = true;\n },\n // 查询回调\n childGetList(data) {\n listDevice(Object.assign(data.page, data.param, { selected: 1 })).then(\n response => {\n this.tableSelectOption.tableList = response.rows;\n this.tableSelectOption.queryOpt.page.total = Number(response.total);\n }\n );\n },\n // 点击或者双击数据回调\n returnEvent(data) {\n if (data.type === \"dblclick\") {\n this.form.deviceId = data.value.deviceId;\n this.form.deviceName = data.value.deviceName;\n this.selectTableShow = false;\n } else if (data.type === \"click\") {\n this.selectResult = {};\n this.selectResult.deviceId = data.value.deviceId;\n this.selectResult.deviceName = data.value.deviceName;\n }\n },\n // 点击确定按钮\n resuleClick() {\n this.form.deviceId = this.selectResult.deviceId;\n this.form.deviceName = this.selectResult.deviceName;\n this.selectTableShow = false;\n },\n // 获取到用户列表 并且赋值到 部门表\n getUserList(data) {\n var userList = [];\n var _this = this;\n listUser().then(response => {\n userList = response.rows;\n if (userList) {\n userList.forEach(v => {\n if (v.deptId) {\n let deptId = v.deptId;\n v.deptId = v.userId;\n v.parentId = deptId;\n }\n });\n }\n _this.deptOptions = _this.handleTree(data.concat(userList), \"deptId\");\n });\n return userList;\n },\n /** 查询部门人员列表 */\n getTreeselect() {\n listDept({ pageNum: 1, pageSize: 99999 }).then(response => {\n this.getUserList(response.data);\n });\n },\n normalizer(node) {\n if (node.nickName) {\n delete node.children;\n }\n return {\n id: node.deptId,\n label: node.deptName ? node.deptName : node.nickName,\n children: node.children\n };\n },\n treeselect(node, instanceId) {\n this.form.handlerName = node.nickName;\n },\n indexFormatter(val) {\n return (\n val + 1 + (this.queryParams.pageNum - 1) * this.queryParams.pageSize\n );\n },\n // 字典状态字典翻译\n statusFormat(row, column) {\n return this.selectDictLabel(this.faultTypeOptions, row.faultType);\n },\n /** 查询工单信息列表 */\n getList() {\n this.loading = true;\n listMaintenance(this.queryParams).then(response => {\n this.maintenanceList = 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 maintenanceId: null,\n recordId: null,\n deviceId: null,\n deviceName: null,\n faultType: null,\n reporterId: null,\n reporterName: null,\n maintenanceContext: null,\n handlerId: null,\n handlerName: null,\n handleTime: null,\n scenePictures: null,\n feedbackInformation: null,\n advice: null,\n maintenanceStatus: \"0\",\n tenantId: null,\n createId: null,\n createTime: null,\n updateId: null,\n updateTime: null,\n remark: null\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.maintenanceId);\n this.single = selection.length !== 1;\n this.multiple = !selection.length;\n },\n /** 新增按钮操作 */\n handleAdd() {\n this.reset();\n this.form.reporterName = this.$store.getters.name;\n this.open = true;\n this.title = \"添加工单信息\";\n },\n /** 修改按钮操作 */\n handleUpdate(row) {\n this.reset();\n const maintenanceId = row.maintenanceId || this.ids;\n getMaintenance(maintenanceId).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.maintenanceId != null) {\n updateMaintenance(this.form).then(response => {\n this.msgSuccess(\"修改成功\");\n this.open = false;\n this.getList();\n });\n } else {\n addMaintenance(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 maintenanceIds = row.maintenanceId || this.ids;\n this.$confirm(\"是否删除该选项?\", \"警告\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n })\n .then(function() {\n return delMaintenance(maintenanceIds);\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 exportMaintenance(queryParams);\n })\n .then(response => {\n this.download(response.msg);\n });\n }\n }\n};\n</script>\n<style lang=\"scss\">\n.power-maintenance {\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 .dialot-det {\n .el-dialog__body {\n padding: 0;\n overflow: auto;\n }\n }\n}\n</style>\n"]}]} |