1 |
- {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\views\\tool\\build\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\views\\tool\\build\\index.vue","mtime":1623215520702},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJFOi9ib21hbi1mcmFtd29yay9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQiKS5kZWZhdWx0OwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7Cgp2YXIgX3R5cGVvZjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkU6L2JvbWFuLWZyYW13b3JrL3J1b3lpLXVpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3R5cGVvZiIpKTsKCnZhciBfb2JqZWN0U3ByZWFkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiRTovYm9tYW4tZnJhbXdvcmsvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkMiIpKTsKCnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleC5qcyIpOwoKdmFyIF92dWVkcmFnZ2FibGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoInZ1ZWRyYWdnYWJsZSIpKTsKCnZhciBfZmlsZVNhdmVyID0gcmVxdWlyZSgiZmlsZS1zYXZlciIpOwoKdmFyIF9qc0JlYXV0aWZ5ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJqcy1iZWF1dGlmeSIpKTsKCnZhciBfY2xpcGJvYXJkID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJjbGlwYm9hcmQiKSk7Cgp2YXIgX3JlbmRlciA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC91dGlscy9nZW5lcmF0b3IvcmVuZGVyIikpOwoKdmFyIF9SaWdodFBhbmVsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCIuL1JpZ2h0UGFuZWwiKSk7Cgp2YXIgX2NvbmZpZyA9IHJlcXVpcmUoIkAvdXRpbHMvZ2VuZXJhdG9yL2NvbmZpZyIpOwoKdmFyIF9pbmRleCA9IHJlcXVpcmUoIkAvdXRpbHMvaW5kZXgiKTsKCnZhciBfaHRtbCA9IHJlcXVpcmUoIkAvdXRpbHMvZ2VuZXJhdG9yL2h0bWwiKTsKCnZhciBfanMgPSByZXF1aXJlKCJAL3V0aWxzL2dlbmVyYXRvci9qcyIpOwoKdmFyIF9jc3MgPSByZXF1aXJlKCJAL3V0aWxzL2dlbmVyYXRvci9jc3MiKTsKCnZhciBfZHJhd2luZ0RlZmFsdXQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvdXRpbHMvZ2VuZXJhdG9yL2RyYXdpbmdEZWZhbHV0IikpOwoKdmFyIF9sb2dvID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJAL2Fzc2V0cy9sb2dvL2xvZ28ucG5nIikpOwoKdmFyIF9Db2RlVHlwZURpYWxvZyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiLi9Db2RlVHlwZURpYWxvZyIpKTsKCnZhciBfRHJhZ2dhYmxlSXRlbSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiLi9EcmFnZ2FibGVJdGVtIikpOwoKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KdmFyIGVtcHR5QWN0aXZlRGF0YSA9IHsKICBzdHlsZToge30sCiAgYXV0b3NpemU6IHt9Cn07CnZhciBvbGRBY3RpdmVJZDsKdmFyIHRlbXBBY3RpdmVEYXRhOwp2YXIgX2RlZmF1bHQgPSB7CiAgY29tcG9uZW50czogewogICAgZHJhZ2dhYmxlOiBfdnVlZHJhZ2dhYmxlLmRlZmF1bHQsCiAgICByZW5kZXI6IF9yZW5kZXIuZGVmYXVsdCwKICAgIFJpZ2h0UGFuZWw6IF9SaWdodFBhbmVsLmRlZmF1bHQsCiAgICBDb2RlVHlwZURpYWxvZzogX0NvZGVUeXBlRGlhbG9nLmRlZmF1bHQsCiAgICBEcmFnZ2FibGVJdGVtOiBfRHJhZ2dhYmxlSXRlbS5kZWZhdWx0CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbG9nbzogX2xvZ28uZGVmYXVsdCwKICAgICAgaWRHbG9iYWw6IDEwMCwKICAgICAgZm9ybUNvbmY6IF9jb25maWcuZm9ybUNvbmYsCiAgICAgIGlucHV0Q29tcG9uZW50czogX2NvbmZpZy5pbnB1dENvbXBvbmVudHMsCiAgICAgIHNlbGVjdENvbXBvbmVudHM6IF9jb25maWcuc2VsZWN0Q29tcG9uZW50cywKICAgICAgbGF5b3V0Q29tcG9uZW50czogX2NvbmZpZy5sYXlvdXRDb21wb25lbnRzLAogICAgICBsYWJlbFdpZHRoOiAxMDAsCiAgICAgIGRyYXdpbmdMaXN0OiBfZHJhd2luZ0RlZmFsdXQuZGVmYXVsdCwKICAgICAgZHJhd2luZ0RhdGE6IHt9LAogICAgICBhY3RpdmVJZDogX2RyYXdpbmdEZWZhbHV0LmRlZmF1bHRbMF0uZm9ybUlkLAogICAgICBkcmF3ZXJWaXNpYmxlOiBmYWxzZSwKICAgICAgZm9ybURhdGE6IHt9LAogICAgICBkaWFsb2dWaXNpYmxlOiBmYWxzZSwKICAgICAgZ2VuZXJhdGVDb25mOiBudWxsLAogICAgICBzaG93RmlsZU5hbWU6IGZhbHNlLAogICAgICBhY3RpdmVEYXRhOiBfZHJhd2luZ0RlZmFsdXQuZGVmYXVsdFswXQogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7fSwKICB3YXRjaDogewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmMtbmFtZXMKICAgICdhY3RpdmVEYXRhLmxhYmVsJzogZnVuY3Rpb24gYWN0aXZlRGF0YUxhYmVsKHZhbCwgb2xkVmFsKSB7CiAgICAgIGlmICh0aGlzLmFjdGl2ZURhdGEucGxhY2Vob2xkZXIgPT09IHVuZGVmaW5lZCB8fCAhdGhpcy5hY3RpdmVEYXRhLnRhZyB8fCBvbGRBY3RpdmVJZCAhPT0gdGhpcy5hY3RpdmVJZCkgewogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdGhpcy5hY3RpdmVEYXRhLnBsYWNlaG9sZGVyID0gdGhpcy5hY3RpdmVEYXRhLnBsYWNlaG9sZGVyLnJlcGxhY2Uob2xkVmFsLCAnJykgKyB2YWw7CiAgICB9LAogICAgYWN0aXZlSWQ6IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcih2YWwpIHsKICAgICAgICBvbGRBY3RpdmVJZCA9IHZhbDsKICAgICAgfSwKICAgICAgaW1tZWRpYXRlOiB0cnVlCiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKCiAgICB2YXIgY2xpcGJvYXJkID0gbmV3IF9jbGlwYm9hcmQuZGVmYXVsdCgnI2NvcHlOb2RlJywgewogICAgICB0ZXh0OiBmdW5jdGlvbiB0ZXh0KHRyaWdnZXIpIHsKICAgICAgICB2YXIgY29kZVN0ciA9IF90aGlzLmdlbmVyYXRlQ29kZSgpOwoKICAgICAgICBfdGhpcy4kbm90aWZ5KHsKICAgICAgICAgIHRpdGxlOiAn5oiQ5YqfJywKICAgICAgICAgIG1lc3NhZ2U6ICfku6PnoIHlt7LlpI3liLbliLDliarliIfmnb/vvIzlj6/nspjotLTjgIInLAogICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBjb2RlU3RyOwogICAgICB9CiAgICB9KTsKICAgIGNsaXBib2FyZC5vbignZXJyb3InLCBmdW5jdGlvbiAoZSkgewogICAgICBfdGhpcy4kbWVzc2FnZS5lcnJvcign5Luj56CB5aSN5Yi25aSx6LSlJyk7CiAgICB9KTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGFjdGl2ZUZvcm1JdGVtOiBmdW5jdGlvbiBhY3RpdmVGb3JtSXRlbShlbGVtZW50KSB7CiAgICAgIHRoaXMuYWN0aXZlRGF0YSA9IGVsZW1lbnQ7CiAgICAgIHRoaXMuYWN0aXZlSWQgPSBlbGVtZW50LmZvcm1JZDsKICAgIH0sCiAgICBvbkVuZDogZnVuY3Rpb24gb25FbmQob2JqLCBhKSB7CiAgICAgIGlmIChvYmouZnJvbSAhPT0gb2JqLnRvKSB7CiAgICAgICAgdGhpcy5hY3RpdmVEYXRhID0gdGVtcEFjdGl2ZURhdGE7CiAgICAgICAgdGhpcy5hY3RpdmVJZCA9IHRoaXMuaWRHbG9iYWw7CiAgICAgIH0KICAgIH0sCiAgICBhZGRDb21wb25lbnQ6IGZ1bmN0aW9uIGFkZENvbXBvbmVudChpdGVtKSB7CiAgICAgIHZhciBjbG9uZSA9IHRoaXMuY2xvbmVDb21wb25lbnQoaXRlbSk7CiAgICAgIHRoaXMuZHJhd2luZ0xpc3QucHVzaChjbG9uZSk7CiAgICAgIHRoaXMuYWN0aXZlRm9ybUl0ZW0oY2xvbmUpOwogICAgfSwKICAgIGNsb25lQ29tcG9uZW50OiBmdW5jdGlvbiBjbG9uZUNvbXBvbmVudChvcmlnaW4pIHsKICAgICAgdmFyIGNsb25lID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvcmlnaW4pKTsKICAgICAgY2xvbmUuZm9ybUlkID0gKyt0aGlzLmlkR2xvYmFsOwogICAgICBjbG9uZS5zcGFuID0gX2NvbmZpZy5mb3JtQ29uZi5zcGFuOwogICAgICBjbG9uZS5yZW5kZXJLZXkgPSArbmV3IERhdGUoKTsgLy8g5pS55Y+YcmVuZGVyS2V55ZCO5Y+v5Lul5a6e546w5by65Yi25pu05paw57uE5Lu2CgogICAgICBpZiAoIWNsb25lLmxheW91dCkgY2xvbmUubGF5b3V0ID0gJ2NvbEZvcm1JdGVtJzsKCiAgICAgIGlmIChjbG9uZS5sYXlvdXQgPT09ICdjb2xGb3JtSXRlbScpIHsKICAgICAgICBjbG9uZS52TW9kZWwgPSAiZmllbGQiLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgICBjbG9uZS5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkICYmIChjbG9uZS5wbGFjZWhvbGRlciArPSBjbG9uZS5sYWJlbCk7CiAgICAgICAgdGVtcEFjdGl2ZURhdGEgPSBjbG9uZTsKICAgICAgfSBlbHNlIGlmIChjbG9uZS5sYXlvdXQgPT09ICdyb3dGb3JtSXRlbScpIHsKICAgICAgICBkZWxldGUgY2xvbmUubGFiZWw7CiAgICAgICAgY2xvbmUuY29tcG9uZW50TmFtZSA9ICJyb3ciLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgICBjbG9uZS5ndXR0ZXIgPSB0aGlzLmZvcm1Db25mLmd1dHRlcjsKICAgICAgICB0ZW1wQWN0aXZlRGF0YSA9IGNsb25lOwogICAgICB9CgogICAgICByZXR1cm4gdGVtcEFjdGl2ZURhdGE7CiAgICB9LAogICAgQXNzZW1ibGVGb3JtRGF0YTogZnVuY3Rpb24gQXNzZW1ibGVGb3JtRGF0YSgpIHsKICAgICAgdGhpcy5mb3JtRGF0YSA9ICgwLCBfb2JqZWN0U3ByZWFkMi5kZWZhdWx0KSh7CiAgICAgICAgZmllbGRzOiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZHJhd2luZ0xpc3QpKQogICAgICB9LCB0aGlzLmZvcm1Db25mKTsKICAgIH0sCiAgICBnZW5lcmF0ZTogZnVuY3Rpb24gZ2VuZXJhdGUoZGF0YSkgewogICAgICB2YXIgZnVuYyA9IHRoaXNbImV4ZWMiLmNvbmNhdCgoMCwgX2luZGV4LnRpdGxlQ2FzZSkodGhpcy5vcGVyYXRpb25UeXBlKSldOwogICAgICB0aGlzLmdlbmVyYXRlQ29uZiA9IGRhdGE7CiAgICAgIGZ1bmMgJiYgZnVuYyhkYXRhKTsKICAgIH0sCiAgICBleGVjUnVuOiBmdW5jdGlvbiBleGVjUnVuKGRhdGEpIHsKICAgICAgdGhpcy5Bc3NlbWJsZUZvcm1EYXRhKCk7CiAgICAgIHRoaXMuZHJhd2VyVmlzaWJsZSA9IHRydWU7CiAgICB9LAogICAgZXhlY0Rvd25sb2FkOiBmdW5jdGlvbiBleGVjRG93bmxvYWQoZGF0YSkgewogICAgICB2YXIgY29kZVN0ciA9IHRoaXMuZ2VuZXJhdGVDb2RlKCk7CiAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoW2NvZGVTdHJdLCB7CiAgICAgICAgdHlwZTogJ3RleHQvcGxhaW47Y2hhcnNldD11dGYtOCcKICAgICAgfSk7CiAgICAgICgwLCBfZmlsZVNhdmVyLnNhdmVBcykoYmxvYiwgZGF0YS5maWxlTmFtZSk7CiAgICB9LAogICAgZXhlY0NvcHk6IGZ1bmN0aW9uIGV4ZWNDb3B5KGRhdGEpIHsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvcHlOb2RlJykuY2xpY2soKTsKICAgIH0sCiAgICBlbXB0eTogZnVuY3Rpb24gZW1wdHkoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgdGhpcy4kY29uZmlybSgn56Gu5a6a6KaB5riF56m65omA5pyJ57uE5Lu25ZCX77yfJywgJ+aPkOekuicsIHsKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMyLmRyYXdpbmdMaXN0ID0gW107CiAgICAgIH0pOwogICAgfSwKICAgIGRyYXdpbmdJdGVtQ29weTogZnVuY3Rpb24gZHJhd2luZ0l0ZW1Db3B5KGl0ZW0sIHBhcmVudCkgewogICAgICB2YXIgY2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGl0ZW0pKTsKICAgICAgY2xvbmUgPSB0aGlzLmNyZWF0ZUlkQW5kS2V5KGNsb25lKTsKICAgICAgcGFyZW50LnB1c2goY2xvbmUpOwogICAgICB0aGlzLmFjdGl2ZUZvcm1JdGVtKGNsb25lKTsKICAgIH0sCiAgICBjcmVhdGVJZEFuZEtleTogZnVuY3Rpb24gY3JlYXRlSWRBbmRLZXkoaXRlbSkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKCiAgICAgIGl0ZW0uZm9ybUlkID0gKyt0aGlzLmlkR2xvYmFsOwogICAgICBpdGVtLnJlbmRlcktleSA9ICtuZXcgRGF0ZSgpOwoKICAgICAgaWYgKGl0ZW0ubGF5b3V0ID09PSAnY29sRm9ybUl0ZW0nKSB7CiAgICAgICAgaXRlbS52TW9kZWwgPSAiZmllbGQiLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgfSBlbHNlIGlmIChpdGVtLmxheW91dCA9PT0gJ3Jvd0Zvcm1JdGVtJykgewogICAgICAgIGl0ZW0uY29tcG9uZW50TmFtZSA9ICJyb3ciLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgfQoKICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5jaGlsZHJlbikpIHsKICAgICAgICBpdGVtLmNoaWxkcmVuID0gaXRlbS5jaGlsZHJlbi5tYXAoZnVuY3Rpb24gKGNoaWxkSXRlbSkgewogICAgICAgICAgcmV0dXJuIF90aGlzMy5jcmVhdGVJZEFuZEtleShjaGlsZEl0ZW0pOwogICAgICAgIH0pOwogICAgICB9CgogICAgICByZXR1cm4gaXRlbTsKICAgIH0sCiAgICBkcmF3aW5nSXRlbURlbGV0ZTogZnVuY3Rpb24gZHJhd2luZ0l0ZW1EZWxldGUoaW5kZXgsIHBhcmVudCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICAgIHBhcmVudC5zcGxpY2UoaW5kZXgsIDEpOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGxlbiA9IF90aGlzNC5kcmF3aW5nTGlzdC5sZW5ndGg7CgogICAgICAgIGlmIChsZW4pIHsKICAgICAgICAgIF90aGlzNC5hY3RpdmVGb3JtSXRlbShfdGhpczQuZHJhd2luZ0xpc3RbbGVuIC0gMV0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZ2VuZXJhdGVDb2RlOiBmdW5jdGlvbiBnZW5lcmF0ZUNvZGUoKSB7CiAgICAgIHZhciB0eXBlID0gdGhpcy5nZW5lcmF0ZUNvbmYudHlwZTsKICAgICAgdGhpcy5Bc3NlbWJsZUZvcm1EYXRhKCk7CiAgICAgIHZhciBzY3JpcHQgPSAoMCwgX2h0bWwudnVlU2NyaXB0KSgoMCwgX2pzLm1ha2VVcEpzKSh0aGlzLmZvcm1EYXRhLCB0eXBlKSk7CiAgICAgIHZhciBodG1sID0gKDAsIF9odG1sLnZ1ZVRlbXBsYXRlKSgoMCwgX2h0bWwubWFrZVVwSHRtbCkodGhpcy5mb3JtRGF0YSwgdHlwZSkpOwogICAgICB2YXIgY3NzID0gKDAsIF9odG1sLmNzc1N0eWxlKSgoMCwgX2Nzcy5tYWtlVXBDc3MpKHRoaXMuZm9ybURhdGEpKTsKICAgICAgcmV0dXJuIF9qc0JlYXV0aWZ5LmRlZmF1bHQuaHRtbChodG1sICsgc2NyaXB0ICsgY3NzLCBfaW5kZXguYmVhdXRpZmllckNvbmYuaHRtbCk7CiAgICB9LAogICAgZG93bmxvYWQ6IGZ1bmN0aW9uIGRvd25sb2FkKCkgewogICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgICB0aGlzLnNob3dGaWxlTmFtZSA9IHRydWU7CiAgICAgIHRoaXMub3BlcmF0aW9uVHlwZSA9ICdkb3dubG9hZCc7CiAgICB9LAogICAgcnVuOiBmdW5jdGlvbiBydW4oKSB7CiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICAgIHRoaXMuc2hvd0ZpbGVOYW1lID0gZmFsc2U7CiAgICAgIHRoaXMub3BlcmF0aW9uVHlwZSA9ICdydW4nOwogICAgfSwKICAgIGNvcHk6IGZ1bmN0aW9uIGNvcHkoKSB7CiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICAgIHRoaXMuc2hvd0ZpbGVOYW1lID0gZmFsc2U7CiAgICAgIHRoaXMub3BlcmF0aW9uVHlwZSA9ICdjb3B5JzsKICAgIH0sCiAgICB0YWdDaGFuZ2U6IGZ1bmN0aW9uIHRhZ0NoYW5nZShuZXdUYWcpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CgogICAgICBuZXdUYWcgPSB0aGlzLmNsb25lQ29tcG9uZW50KG5ld1RhZyk7CiAgICAgIG5ld1RhZy52TW9kZWwgPSB0aGlzLmFjdGl2ZURhdGEudk1vZGVsOwogICAgICBuZXdUYWcuZm9ybUlkID0gdGhpcy5hY3RpdmVJZDsKICAgICAgbmV3VGFnLnNwYW4gPSB0aGlzLmFjdGl2ZURhdGEuc3BhbjsKICAgICAgZGVsZXRlIHRoaXMuYWN0aXZlRGF0YS50YWc7CiAgICAgIGRlbGV0ZSB0aGlzLmFjdGl2ZURhdGEudGFnSWNvbjsKICAgICAgZGVsZXRlIHRoaXMuYWN0aXZlRGF0YS5kb2N1bWVudDsKICAgICAgT2JqZWN0LmtleXMobmV3VGFnKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsKICAgICAgICBpZiAoX3RoaXM1LmFjdGl2ZURhdGFba2V5XSAhPT0gdW5kZWZpbmVkICYmICgwLCBfdHlwZW9mMi5kZWZhdWx0KShfdGhpczUuYWN0aXZlRGF0YVtrZXldKSA9PT0gKDAsIF90eXBlb2YyLmRlZmF1bHQpKG5ld1RhZ1trZXldKSkgewogICAgICAgICAgbmV3VGFnW2tleV0gPSBfdGhpczUuYWN0aXZlRGF0YVtrZXldOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIHRoaXMuYWN0aXZlRGF0YSA9IG5ld1RhZzsKICAgICAgdGhpcy51cGRhdGVEcmF3aW5nTGlzdChuZXdUYWcsIHRoaXMuZHJhd2luZ0xpc3QpOwogICAgfSwKICAgIHVwZGF0ZURyYXdpbmdMaXN0OiBmdW5jdGlvbiB1cGRhdGVEcmF3aW5nTGlzdChuZXdUYWcsIGxpc3QpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CgogICAgICB2YXIgaW5kZXggPSBsaXN0LmZpbmRJbmRleChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLmZvcm1JZCA9PT0gX3RoaXM2LmFjdGl2ZUlkOwogICAgICB9KTsKCiAgICAgIGlmIChpbmRleCA+IC0xKSB7CiAgICAgICAgbGlzdC5zcGxpY2UoaW5kZXgsIDEsIG5ld1RhZyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSkgX3RoaXM2LnVwZGF0ZURyYXdpbmdMaXN0KG5ld1RhZywgaXRlbS5jaGlsZHJlbik7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KICB9Cn07CmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0Ow=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <div class=\"container\">\r\n <div class=\"left-board\">\r\n <div class=\"logo-wrapper\">\r\n <div class=\"logo\">\r\n <img :src=\"logo\" alt=\"logo\"> Form Generator\r\n </div>\r\n </div>\r\n <el-scrollbar class=\"left-scrollbar\">\r\n <div class=\"components-list\">\r\n <div class=\"components-title\">\r\n <svg-icon icon-class=\"component\" />输入型组件\r\n </div>\r\n <draggable\r\n class=\"components-draggable\"\r\n :list=\"inputComponents\"\r\n :group=\"{ name: 'componentsGroup', pull: 'clone', put: false }\"\r\n :clone=\"cloneComponent\"\r\n draggable=\".components-item\"\r\n :sort=\"false\"\r\n @end=\"onEnd\"\r\n >\r\n <div\r\n v-for=\"(element, index) in inputComponents\" :key=\"index\" class=\"components-item\"\r\n @click=\"addComponent(element)\"\r\n >\r\n <div class=\"components-body\">\r\n <svg-icon :icon-class=\"element.tagIcon\" />\r\n {{ element.label }}\r\n </div>\r\n </div>\r\n </draggable>\r\n <div class=\"components-title\">\r\n <svg-icon icon-class=\"component\" />选择型组件\r\n </div>\r\n <draggable\r\n class=\"components-draggable\"\r\n :list=\"selectComponents\"\r\n :group=\"{ name: 'componentsGroup', pull: 'clone', put: false }\"\r\n :clone=\"cloneComponent\"\r\n draggable=\".components-item\"\r\n :sort=\"false\"\r\n @end=\"onEnd\"\r\n >\r\n <div\r\n v-for=\"(element, index) in selectComponents\"\r\n :key=\"index\"\r\n class=\"components-item\"\r\n @click=\"addComponent(element)\"\r\n >\r\n <div class=\"components-body\">\r\n <svg-icon :icon-class=\"element.tagIcon\" />\r\n {{ element.label }}\r\n </div>\r\n </div>\r\n </draggable>\r\n <div class=\"components-title\">\r\n <svg-icon icon-class=\"component\" /> 布局型组件\r\n </div>\r\n <draggable\r\n class=\"components-draggable\" :list=\"layoutComponents\"\r\n :group=\"{ name: 'componentsGroup', pull: 'clone', put: false }\" :clone=\"cloneComponent\"\r\n draggable=\".components-item\" :sort=\"false\" @end=\"onEnd\"\r\n >\r\n <div\r\n v-for=\"(element, index) in layoutComponents\" :key=\"index\" class=\"components-item\"\r\n @click=\"addComponent(element)\"\r\n >\r\n <div class=\"components-body\">\r\n <svg-icon :icon-class=\"element.tagIcon\" />\r\n {{ element.label }}\r\n </div>\r\n </div>\r\n </draggable>\r\n </div>\r\n </el-scrollbar>\r\n </div>\r\n\r\n <div class=\"center-board\">\r\n <div class=\"action-bar\">\r\n <el-button icon=\"el-icon-download\" type=\"text\" @click=\"download\">\r\n 导出vue文件\r\n </el-button>\r\n <el-button class=\"copy-btn-main\" icon=\"el-icon-document-copy\" type=\"text\" @click=\"copy\">\r\n 复制代码\r\n </el-button>\r\n <el-button class=\"delete-btn\" icon=\"el-icon-delete\" type=\"text\" @click=\"empty\">\r\n 清空\r\n </el-button>\r\n </div>\r\n <el-scrollbar class=\"center-scrollbar\">\r\n <el-row class=\"center-board-row\" :gutter=\"formConf.gutter\">\r\n <el-form\r\n :size=\"formConf.size\"\r\n :label-position=\"formConf.labelPosition\"\r\n :disabled=\"formConf.disabled\"\r\n :label-width=\"formConf.labelWidth + 'px'\"\r\n >\r\n <draggable class=\"drawing-board\" :list=\"drawingList\" :animation=\"340\" group=\"componentsGroup\">\r\n <draggable-item\r\n v-for=\"(element, index) in drawingList\"\r\n :key=\"element.renderKey\"\r\n :drawing-list=\"drawingList\"\r\n :element=\"element\"\r\n :index=\"index\"\r\n :active-id=\"activeId\"\r\n :form-conf=\"formConf\"\r\n @activeItem=\"activeFormItem\"\r\n @copyItem=\"drawingItemCopy\"\r\n @deleteItem=\"drawingItemDelete\"\r\n />\r\n </draggable>\r\n <div v-show=\"!drawingList.length\" class=\"empty-info\">\r\n 从左侧拖入或点选组件进行表单设计\r\n </div>\r\n </el-form>\r\n </el-row>\r\n </el-scrollbar>\r\n </div>\r\n\r\n <right-panel\r\n :active-data=\"activeData\"\r\n :form-conf=\"formConf\"\r\n :show-field=\"!!drawingList.length\"\r\n @tag-change=\"tagChange\"\r\n />\r\n\r\n <code-type-dialog\r\n :visible.sync=\"dialogVisible\"\r\n title=\"选择生成类型\"\r\n :show-file-name=\"showFileName\"\r\n @confirm=\"generate\"\r\n />\r\n <input id=\"copyNode\" type=\"hidden\">\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport draggable from 'vuedraggable'\r\nimport { saveAs } from 'file-saver'\r\nimport beautifier from 'js-beautify'\r\nimport ClipboardJS from 'clipboard'\r\nimport render from '@/utils/generator/render'\r\nimport RightPanel from './RightPanel'\r\nimport {\r\n inputComponents,\r\n selectComponents,\r\n layoutComponents,\r\n formConf\r\n} from '@/utils/generator/config'\r\nimport {\r\n exportDefault, beautifierConf, isNumberStr, titleCase\r\n} from '@/utils/index'\r\nimport {\r\n makeUpHtml, vueTemplate, vueScript, cssStyle\r\n} from '@/utils/generator/html'\r\nimport { makeUpJs } from '@/utils/generator/js'\r\nimport { makeUpCss } from '@/utils/generator/css'\r\nimport drawingDefalut from '@/utils/generator/drawingDefalut'\r\nimport logo from '@/assets/logo/logo.png'\r\nimport CodeTypeDialog from './CodeTypeDialog'\r\nimport DraggableItem from './DraggableItem'\r\n\r\nconst emptyActiveData = { style: {}, autosize: {} }\r\nlet oldActiveId\r\nlet tempActiveData\r\n\r\nexport default {\r\n components: {\r\n draggable,\r\n render,\r\n RightPanel,\r\n CodeTypeDialog,\r\n DraggableItem\r\n },\r\n data() {\r\n return {\r\n logo,\r\n idGlobal: 100,\r\n formConf,\r\n inputComponents,\r\n selectComponents,\r\n layoutComponents,\r\n labelWidth: 100,\r\n drawingList: drawingDefalut,\r\n drawingData: {},\r\n activeId: drawingDefalut[0].formId,\r\n drawerVisible: false,\r\n formData: {},\r\n dialogVisible: false,\r\n generateConf: null,\r\n showFileName: false,\r\n activeData: drawingDefalut[0]\r\n }\r\n },\r\n computed: {\r\n },\r\n watch: {\r\n // eslint-disable-next-line func-names\r\n 'activeData.label': function (val, oldVal) {\r\n if (\r\n this.activeData.placeholder === undefined\r\n || !this.activeData.tag\r\n || oldActiveId !== this.activeId\r\n ) {\r\n return\r\n }\r\n this.activeData.placeholder = this.activeData.placeholder.replace(oldVal, '') + val\r\n },\r\n activeId: {\r\n handler(val) {\r\n oldActiveId = val\r\n },\r\n immediate: true\r\n }\r\n },\r\n mounted() {\r\n const clipboard = new ClipboardJS('#copyNode', {\r\n text: trigger => {\r\n const codeStr = this.generateCode()\r\n this.$notify({\r\n title: '成功',\r\n message: '代码已复制到剪切板,可粘贴。',\r\n type: 'success'\r\n })\r\n return codeStr\r\n }\r\n })\r\n clipboard.on('error', e => {\r\n this.$message.error('代码复制失败')\r\n })\r\n },\r\n methods: {\r\n activeFormItem(element) {\r\n this.activeData = element\r\n this.activeId = element.formId\r\n },\r\n onEnd(obj, a) {\r\n if (obj.from !== obj.to) {\r\n this.activeData = tempActiveData\r\n this.activeId = this.idGlobal\r\n }\r\n },\r\n addComponent(item) {\r\n const clone = this.cloneComponent(item)\r\n this.drawingList.push(clone)\r\n this.activeFormItem(clone)\r\n },\r\n cloneComponent(origin) {\r\n const clone = JSON.parse(JSON.stringify(origin))\r\n clone.formId = ++this.idGlobal\r\n clone.span = formConf.span\r\n clone.renderKey = +new Date() // 改变renderKey后可以实现强制更新组件\r\n if (!clone.layout) clone.layout = 'colFormItem'\r\n if (clone.layout === 'colFormItem') {\r\n clone.vModel = `field${this.idGlobal}`\r\n clone.placeholder !== undefined && (clone.placeholder += clone.label)\r\n tempActiveData = clone\r\n } else if (clone.layout === 'rowFormItem') {\r\n delete clone.label\r\n clone.componentName = `row${this.idGlobal}`\r\n clone.gutter = this.formConf.gutter\r\n tempActiveData = clone\r\n }\r\n return tempActiveData\r\n },\r\n AssembleFormData() {\r\n this.formData = {\r\n fields: JSON.parse(JSON.stringify(this.drawingList)),\r\n ...this.formConf\r\n }\r\n },\r\n generate(data) {\r\n const func = this[`exec${titleCase(this.operationType)}`]\r\n this.generateConf = data\r\n func && func(data)\r\n },\r\n execRun(data) {\r\n this.AssembleFormData()\r\n this.drawerVisible = true\r\n },\r\n execDownload(data) {\r\n const codeStr = this.generateCode()\r\n const blob = new Blob([codeStr], { type: 'text/plain;charset=utf-8' })\r\n saveAs(blob, data.fileName)\r\n },\r\n execCopy(data) {\r\n document.getElementById('copyNode').click()\r\n },\r\n empty() {\r\n this.$confirm('确定要清空所有组件吗?', '提示', { type: 'warning' }).then(\r\n () => {\r\n this.drawingList = []\r\n }\r\n )\r\n },\r\n drawingItemCopy(item, parent) {\r\n let clone = JSON.parse(JSON.stringify(item))\r\n clone = this.createIdAndKey(clone)\r\n parent.push(clone)\r\n this.activeFormItem(clone)\r\n },\r\n createIdAndKey(item) {\r\n item.formId = ++this.idGlobal\r\n item.renderKey = +new Date()\r\n if (item.layout === 'colFormItem') {\r\n item.vModel = `field${this.idGlobal}`\r\n } else if (item.layout === 'rowFormItem') {\r\n item.componentName = `row${this.idGlobal}`\r\n }\r\n if (Array.isArray(item.children)) {\r\n item.children = item.children.map(childItem => this.createIdAndKey(childItem))\r\n }\r\n return item\r\n },\r\n drawingItemDelete(index, parent) {\r\n parent.splice(index, 1)\r\n this.$nextTick(() => {\r\n const len = this.drawingList.length\r\n if (len) {\r\n this.activeFormItem(this.drawingList[len - 1])\r\n }\r\n })\r\n },\r\n generateCode() {\r\n const { type } = this.generateConf\r\n this.AssembleFormData()\r\n const script = vueScript(makeUpJs(this.formData, type))\r\n const html = vueTemplate(makeUpHtml(this.formData, type))\r\n const css = cssStyle(makeUpCss(this.formData))\r\n return beautifier.html(html + script + css, beautifierConf.html)\r\n },\r\n download() {\r\n this.dialogVisible = true\r\n this.showFileName = true\r\n this.operationType = 'download'\r\n },\r\n run() {\r\n this.dialogVisible = true\r\n this.showFileName = false\r\n this.operationType = 'run'\r\n },\r\n copy() {\r\n this.dialogVisible = true\r\n this.showFileName = false\r\n this.operationType = 'copy'\r\n },\r\n tagChange(newTag) {\r\n newTag = this.cloneComponent(newTag)\r\n newTag.vModel = this.activeData.vModel\r\n newTag.formId = this.activeId\r\n newTag.span = this.activeData.span\r\n delete this.activeData.tag\r\n delete this.activeData.tagIcon\r\n delete this.activeData.document\r\n Object.keys(newTag).forEach(key => {\r\n if (this.activeData[key] !== undefined\r\n && typeof this.activeData[key] === typeof newTag[key]) {\r\n newTag[key] = this.activeData[key]\r\n }\r\n })\r\n this.activeData = newTag\r\n this.updateDrawingList(newTag, this.drawingList)\r\n },\r\n updateDrawingList(newTag, list) {\r\n const index = list.findIndex(item => item.formId === this.activeId)\r\n if (index > -1) {\r\n list.splice(index, 1, newTag)\r\n } else {\r\n list.forEach(item => {\r\n if (Array.isArray(item.children)) this.updateDrawingList(newTag, item.children)\r\n })\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang='scss'>\r\nbody, html{\r\n margin: 0;\r\n padding: 0;\r\n background: #fff;\r\n -moz-osx-font-smoothing: grayscale;\r\n -webkit-font-smoothing: antialiased;\r\n text-rendering: optimizeLegibility;\r\n font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;\r\n}\r\n\r\ninput, textarea{\r\n font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;\r\n}\r\n\r\n.editor-tabs{\r\n background: #121315;\r\n .el-tabs__header{\r\n margin: 0;\r\n border-bottom-color: #121315;\r\n .el-tabs__nav{\r\n border-color: #121315;\r\n }\r\n }\r\n .el-tabs__item{\r\n height: 32px;\r\n line-height: 32px;\r\n color: #888a8e;\r\n border-left: 1px solid #121315 !important;\r\n background: #363636;\r\n margin-right: 5px;\r\n user-select: none;\r\n }\r\n .el-tabs__item.is-active{\r\n background: #1e1e1e;\r\n border-bottom-color: #1e1e1e!important;\r\n color: #fff;\r\n }\r\n .el-icon-edit{\r\n color: #f1fa8c;\r\n }\r\n .el-icon-document{\r\n color: #a95812;\r\n }\r\n}\r\n\r\n// home\r\n.right-scrollbar {\r\n .el-scrollbar__view {\r\n padding: 12px 18px 15px 15px;\r\n }\r\n}\r\n.left-scrollbar .el-scrollbar__wrap {\r\n box-sizing: border-box;\r\n overflow-x: hidden !important;\r\n margin-bottom: 0 !important;\r\n}\r\n.center-tabs{\r\n .el-tabs__header{\r\n margin-bottom: 0!important;\r\n }\r\n .el-tabs__item{\r\n width: 50%;\r\n text-align: center;\r\n }\r\n .el-tabs__nav{\r\n width: 100%;\r\n }\r\n}\r\n.reg-item{\r\n padding: 12px 6px;\r\n background: #f8f8f8;\r\n position: relative;\r\n border-radius: 4px;\r\n .close-btn{\r\n position: absolute;\r\n right: -6px;\r\n top: -6px;\r\n display: block;\r\n width: 16px;\r\n height: 16px;\r\n line-height: 16px;\r\n background: rgba(0, 0, 0, 0.2);\r\n border-radius: 50%;\r\n color: #fff;\r\n text-align: center;\r\n z-index: 1;\r\n cursor: pointer;\r\n font-size: 12px;\r\n &:hover{\r\n background: rgba(210, 23, 23, 0.5)\r\n }\r\n }\r\n & + .reg-item{\r\n margin-top: 18px;\r\n }\r\n}\r\n.action-bar{\r\n & .el-button+.el-button {\r\n margin-left: 15px;\r\n }\r\n & i {\r\n font-size: 20px;\r\n vertical-align: middle;\r\n position: relative;\r\n top: -1px;\r\n }\r\n}\r\n\r\n.custom-tree-node{\r\n width: 100%;\r\n font-size: 14px;\r\n .node-operation{\r\n float: right;\r\n }\r\n i[class*=\"el-icon\"] + i[class*=\"el-icon\"]{\r\n margin-left: 6px;\r\n }\r\n .el-icon-plus{\r\n color: #409EFF;\r\n }\r\n .el-icon-delete{\r\n color: #157a0c;\r\n }\r\n}\r\n\r\n.left-scrollbar .el-scrollbar__view{\r\n overflow-x: hidden;\r\n}\r\n\r\n.el-rate{\r\n display: inline-block;\r\n vertical-align: text-top;\r\n}\r\n.el-upload__tip{\r\n line-height: 1.2;\r\n}\r\n\r\n$selectedColor: #f6f7ff;\r\n$lighterBlue: #409EFF;\r\n\r\n.container {\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.components-list {\r\n padding: 8px;\r\n box-sizing: border-box;\r\n height: 100%;\r\n .components-item {\r\n display: inline-block;\r\n width: 48%;\r\n margin: 1%;\r\n transition: transform 0ms !important;\r\n }\r\n}\r\n.components-draggable{\r\n padding-bottom: 20px;\r\n}\r\n.components-title{\r\n font-size: 14px;\r\n color: #222;\r\n margin: 6px 2px;\r\n .svg-icon{\r\n color: #666;\r\n font-size: 18px;\r\n }\r\n}\r\n\r\n.components-body {\r\n padding: 8px 10px;\r\n background: $selectedColor;\r\n font-size: 12px;\r\n cursor: move;\r\n border: 1px dashed $selectedColor;\r\n border-radius: 3px;\r\n .svg-icon{\r\n color: #777;\r\n font-size: 15px;\r\n }\r\n &:hover {\r\n border: 1px dashed #787be8;\r\n color: #787be8;\r\n .svg-icon {\r\n color: #787be8;\r\n }\r\n }\r\n}\r\n\r\n.left-board {\r\n width: 260px;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 100vh;\r\n}\r\n.left-scrollbar{\r\n height: calc(100vh - 42px);\r\n overflow: hidden;\r\n}\r\n.center-scrollbar {\r\n height: calc(100vh - 42px);\r\n overflow: hidden;\r\n border-left: 1px solid #f1e8e8;\r\n border-right: 1px solid #f1e8e8;\r\n box-sizing: border-box;\r\n}\r\n.center-board {\r\n height: 100vh;\r\n width: auto;\r\n margin: 0 350px 0 260px;\r\n box-sizing: border-box;\r\n}\r\n.empty-info{\r\n position: absolute;\r\n top: 46%;\r\n left: 0;\r\n right: 0;\r\n text-align: center;\r\n font-size: 18px;\r\n color: #ccb1ea;\r\n letter-spacing: 4px;\r\n}\r\n.action-bar{\r\n position: relative;\r\n height: 42px;\r\n text-align: right;\r\n padding: 0 15px;\r\n box-sizing: border-box;;\r\n border: 1px solid #f1e8e8;\r\n border-top: none;\r\n border-left: none;\r\n .delete-btn{\r\n color: #F56C6C;\r\n }\r\n}\r\n.logo-wrapper{\r\n position: relative;\r\n height: 42px;\r\n background: #fff;\r\n border-bottom: 1px solid #f1e8e8;\r\n box-sizing: border-box;\r\n}\r\n.logo{\r\n position: absolute;\r\n left: 12px;\r\n top: 6px;\r\n line-height: 30px;\r\n color: #00afff;\r\n font-weight: 600;\r\n font-size: 17px;\r\n white-space: nowrap;\r\n > img{\r\n width: 30px;\r\n height: 30px;\r\n vertical-align: top;\r\n }\r\n .github{\r\n display: inline-block;\r\n vertical-align: sub;\r\n margin-left: 15px;\r\n > img{\r\n height: 22px;\r\n }\r\n }\r\n}\r\n\r\n.center-board-row {\r\n padding: 12px 12px 15px 12px;\r\n box-sizing: border-box;\r\n & > .el-form {\r\n // 69 = 12+15+42\r\n height: calc(100vh - 69px);\r\n }\r\n}\r\n.drawing-board {\r\n height: 100%;\r\n position: relative;\r\n .components-body {\r\n padding: 0;\r\n margin: 0;\r\n font-size: 0;\r\n }\r\n .sortable-ghost {\r\n position: relative;\r\n display: block;\r\n overflow: hidden;\r\n &::before {\r\n content: \" \";\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n height: 3px;\r\n background: rgb(89, 89, 223);\r\n z-index: 2;\r\n }\r\n }\r\n .components-item.sortable-ghost {\r\n width: 100%;\r\n height: 60px;\r\n background-color: $selectedColor;\r\n }\r\n .active-from-item {\r\n & > .el-form-item{\r\n background: $selectedColor;\r\n border-radius: 6px;\r\n }\r\n & > .drawing-item-copy, & > .drawing-item-delete{\r\n display: initial;\r\n }\r\n & > .component-name{\r\n color: $lighterBlue;\r\n }\r\n }\r\n .el-form-item{\r\n margin-bottom: 15px;\r\n }\r\n}\r\n.drawing-item{\r\n position: relative;\r\n cursor: move;\r\n &.unfocus-bordered:not(.activeFromItem) > div:first-child {\r\n border: 1px dashed #ccc;\r\n }\r\n .el-form-item{\r\n padding: 12px 10px;\r\n }\r\n}\r\n.drawing-row-item{\r\n position: relative;\r\n cursor: move;\r\n box-sizing: border-box;\r\n border: 1px dashed #ccc;\r\n border-radius: 3px;\r\n padding: 0 2px;\r\n margin-bottom: 15px;\r\n .drawing-row-item {\r\n margin-bottom: 2px;\r\n }\r\n .el-col{\r\n margin-top: 22px;\r\n }\r\n .el-form-item{\r\n margin-bottom: 0;\r\n }\r\n .drag-wrapper{\r\n min-height: 80px;\r\n }\r\n &.active-from-item{\r\n border: 1px dashed $lighterBlue;\r\n }\r\n .component-name{\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n font-size: 12px;\r\n color: #bbb;\r\n display: inline-block;\r\n padding: 0 6px;\r\n }\r\n}\r\n.drawing-item, .drawing-row-item{\r\n &:hover {\r\n & > .el-form-item{\r\n background: $selectedColor;\r\n border-radius: 6px;\r\n }\r\n & > .drawing-item-copy, & > .drawing-item-delete{\r\n display: initial;\r\n }\r\n }\r\n & > .drawing-item-copy, & > .drawing-item-delete{\r\n display: none;\r\n position: absolute;\r\n top: -10px;\r\n width: 22px;\r\n height: 22px;\r\n line-height: 22px;\r\n text-align: center;\r\n border-radius: 50%;\r\n font-size: 12px;\r\n border: 1px solid;\r\n cursor: pointer;\r\n z-index: 1;\r\n }\r\n & > .drawing-item-copy{\r\n right: 56px;\r\n border-color: $lighterBlue;\r\n color: $lighterBlue;\r\n background: #fff;\r\n &:hover{\r\n background: $lighterBlue;\r\n color: #fff;\r\n }\r\n }\r\n & > .drawing-item-delete{\r\n right: 24px;\r\n border-color: #F56C6C;\r\n color: #F56C6C;\r\n background: #fff;\r\n &:hover{\r\n background: #F56C6C;\r\n color: #fff;\r\n }\r\n }\r\n}\r\n\r\n</style>\r\n"],"sourceRoot":"src/views/tool/build"}]}
|