1 |
- {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\components\\FlowChartComponent\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\components\\FlowChartComponent\\index.vue","mtime":1619607677256},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQovLyBpbXBvcnQgJy4uL19fdXRpbHNfXy9nbycNCi8vIGltcG9ydCBGbG93RGVzaW5nZXIgZnJvbSAnLi4vX191dGlsc19fL2Zsb3ctZGVzaW5nZXInOw0KaW1wb3J0IHN0YXJ0Tm9kZUluZm8gZnJvbSAnQC9jb21wb25lbnRzL3N0YXJ0Tm9kZUluZm8nDQppbXBvcnQgZW5kTm9kZUluZm8gZnJvbSAnQC9jb21wb25lbnRzL2VuZE5vZGVJbmZvJw0KaW1wb3J0IGxpbmtJbmZvIGZyb20gJ0AvY29tcG9uZW50cy9saW5rSW5mbycNCmltcG9ydCBQcm9jZXNzTm9kZUNvbmZpZyBmcm9tICdAL2NvbXBvbmVudHMvUHJvY2Vzc05vZGVDb25maWcnDQppbXBvcnQgRHluYW1pY1Byb2Nlc3NOb2RlQ29uZmlnIGZyb20gJ0AvY29tcG9uZW50cy9EeW5hbWljUHJvY2Vzc05vZGVDb25maWcnDQppbXBvcnQgU2VydmljZU5vZGVDb25maWcgZnJvbSAnQC9jb21wb25lbnRzL1NlcnZpY2VOb2RlQ29uZmlnJw0KLy8gaW1wb3J0IEZsb3dEaXNwbGF5IGZyb20gJy4uL19fdXRpbHNfXy9mbG93LWRpc3BsYXknOw0KZXhwb3J0IGRlZmF1bHQgew0KICBjb21wb25lbnRzOnsNCiAgICBzdGFydE5vZGVJbmZvLCBlbmROb2RlSW5mbywgbGlua0luZm8sIFByb2Nlc3NOb2RlQ29uZmlnLCBEeW5hbWljUHJvY2Vzc05vZGVDb25maWcsIFNlcnZpY2VOb2RlQ29uZmlnDQogIH0sDQogIHByb3BzOnsNCiAgICBlZGl0YWJsZTp7ICAvL+aYr+WQpuWPr+e8lui+kQ0KICAgICAgdHlwZTpCb29sZWFuLA0KICAgICAgZGVmYXVsdDp0cnVlDQogICAgfSwNCiAgICBmcmVzaDp7DQogICAgICB0eXBlOkJvb2xlYW4sDQogICAgICBkZWZhdWx0OmZhbHNlDQogICAgfSwNCiAgICBjdXJyZW50U3RlcHM6ew0KICAgICAgdHlwZTpOdW1iZXIsDQogICAgICBkZWZhdWx0Om51bGwNCiAgICB9LA0KICAgIG5vRnJlc2hGbGFnOnsNCiAgICAgIHR5cGU6Qm9vbGVhbiwNCiAgICAgIGRlZmF1bHQ6ZmFsc2UNCiAgICB9LA0KICAgIHJlYWRPbmx5OnsNCiAgICAgIHR5cGU6Qm9vbGVhbiwNCiAgICAgIGRlZmF1bHQ6ZmFsc2UNCiAgICB9LA0KICAgIGRhdGE6ew0KICAgICAgdHlwZTpPYmplY3QsDQogICAgICBkZWZhdWx0ICgpIHsNCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQogIH0sDQogIGRhdGEgKCkgew0KICAgIHJldHVybiB7DQogICAgICBteURlc2lnbmVyOm51bGwsICAvL+eUu+W4g+WunuS+iw0KICAgICAgZHJhd2VyT2JqZWN0OnsNCiAgICAgICAgc2hvdzpmYWxzZQ0KICAgICAgfSwNCiAgICAgIG5vZGVNc2c6e30sICAvL+WtmOaUvuiKgueCueaVsOaNrg0KICAgICAgcGF0aE1zZzp7fSwgIC8v5a2Y5pS+6Lev5b6E5pWw5o2uDQogICAgICByZWplY3RlZE5vZGVzOltdLCAgLy/pqbPlm57oioLngrkNCiAgICAgIGFzc2lnbmVkTm9kZXM6IFtdLCAgLy/mjIfmtL7oioLngrkNCiAgICB9DQogIH0sDQogIGFjdGl2YXRlZCAoKSB7DQogICAgaWYoIXRoaXMubm9GcmVzaEZsYWcpew0KICAgICAgdGhpcy5pbml0KCkNCiAgICB9DQogIH0sDQogIGRlYWN0aXZhdGVkICgpIHsgLy9rZWVwLWFsaXZlIOe7hOS7tuWBnOeUqOaXtuiwg+eUqA0KICAgIGlmKHRoaXMuY3VycmVudFN0ZXBzID09PSAxICYmIHRoaXMubXlEZXNpZ25lcil7DQogICAgICB0aGlzLmRhdGEuZ3VpU3R5bGUgPSBKU09OLnBhcnNlKHRoaXMubXlEZXNpZ25lci5nZXRGbG93RGF0YSgpKQ0KICAgIH0NCiAgfSwNCiAgbWV0aG9kczp7DQogICAgaW5pdCAoKSB7DQogICAgICAgIGlmKCFBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5ub2RlTXNnKSl7DQogICAgICAgICAgICBsZXQgbm9kZU1zZyA9IFtdDQogICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmRhdGEubm9kZU1zZykubWFwKGl0ZW0gPT4gew0KICAgICAgICAgICAgICBub2RlTXNnLnB1c2godGhpcy5kYXRhLm5vZGVNc2dbaXRlbV0pDQogICAgICAgICAgICAgIHJldHVybiBpdGVtDQogICAgICAgICAgICB9KQ0KDQogICAgICAgICAgICB0aGlzLmRhdGEubm9kZU1zZyA9IG5vZGVNc2cNCg0KICAgICAgICAgICAgbGV0IHBhdGhNc2cgPSBbXQ0KICAgICAgICAgICAgT2JqZWN0LmtleXModGhpcy5kYXRhLnBhdGhNc2cpLm1hcChpdGVtID0+IHsNCiAgICAgICAgICAgICAgcGF0aE1zZy5wdXNoKHRoaXMuZGF0YS5wYXRoTXNnW2l0ZW1dKQ0KICAgICAgICAgICAgICByZXR1cm4gaXRlbQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIHRoaXMuZGF0YS5wYXRoTXNnID0gcGF0aE1zZw0KICAgICAgICB9DQoNCiAgICAgICAgdGhpcy5kYXRhUHJvY2Vzc2luZygpDQogICAgICAgIGlmKHRoaXMuY3VycmVudFN0ZXBzID09PSAxKXsNCiAgICAgICAgICAvLyDmtYHnqIvlm77orr7orqHlmagNCiAgICAgICAgICBpZighdGhpcy5teURlc2lnbmVyKXsNCiAgICAgICAgICAgIC8vIHRoaXMubXlEZXNpZ25lcj0gbmV3IEZsb3dEZXNpbmdlcignZ29DaGFydCcsew0KICAgICAgICAgICAgLy8gICBzaG93RWRpdE5vZGU6dGhpcy5zaG93RWRpdE5vZGUsICAvL+iKgueCueWPjOWHu+e8lui+kQ0KICAgICAgICAgICAgLy8gICBTZWxlY3Rpb25EZWxldGVkOnRoaXMuU2VsZWN0aW9uRGVsZXRlZCwgIC8v5Yig6Zmk5LqL5Lu2DQogICAgICAgICAgICAvLyAgIExpbmtEcmF3bjp0aGlzLkxpbmtEcmF3biwgIC8v57q/55qE55Sf5oiQDQogICAgICAgICAgICAvLyAgIGV4dGVybmFsb2JqZWN0c2Ryb3BwZWQ6dGhpcy5leHRlcm5hbG9iamVjdHNkcm9wcGVkLCAgLy/oioLngrnnlJ/miJANCiAgICAgICAgICAgIC8vICAgTGlua1JlbGlua2VkOiB0aGlzLkxpbmtSZWxpbmtlZCAgLy/ov57nur/kv67mlLkNCiAgICAgICAgICAgIC8vIH0pOw0KDQogICAgICAgICAgfQ0KDQogICAgICAgICAgdGhpcy5pbml0VG9vbGJhciA9IHRoaXMubXlEZXNpZ25lci5pbml0VG9vbGJhcigncGFsZXR0ZURpdicsdGhpcy5kYXRhLm1vZHVsZVR5cGUpDQogICAgICAgICAgdGhpcy5teURlc2lnbmVyLmRpc3BsYXlGbG93KEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhLmd1aVN0eWxlKSkpOy8vIOWcqOiuvuiuoemdouadv+S4reaYvuekuua1geeoi+Wbvg0KICAgICAgICAgIHRoaXMuZGF0YS5teURpc3BsYXkgPSB0aGlzLm15RGVzaWduZXIuZGlhZ3JhbQ0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICBpZih0aGlzLm15RGlzcGxheSl7DQogICAgICAgICAgICB0aGlzLm15RGlzcGxheS5sb2FkRmxvdyhKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YS5ndWlTdHlsZSkpKQ0KICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgdGhpcy5teURpc3BsYXkgPSBuZXcgRmxvd0Rpc3BsYXkoJ3Nob3dDaGFydCcsew0KICAgICAgICAgICAgICBzaG93RWRpdE5vZGU6dGhpcy5zaG93RWRpdE5vZGUsICAvL+iKgueCueWPjOWHu+e8lui+kQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0aGlzLm15RGlzcGxheS5sb2FkRmxvdyhKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YS5ndWlTdHlsZSkpKQ0KICAgICAgICAgIH0NCg0KICAgICAgICAgIC8vIHRoaXMuZGF0YS5teURpc3BsYXkgPSB0aGlzLm15RGlzcGxheS5kaWFncmFtDQoNCiAgICAgICAgfQ0KDQoNCiAgICB9LA0KICAgIGNvbXBhcmUgKHByb3BlcnR5KSB7DQogICAgICByZXR1cm4gZnVuY3Rpb24oYSxiKSB7DQogICAgICAgIHZhciB2YWx1ZTEgPSBhW3Byb3BlcnR5XTsNCiAgICAgICAgdmFyIHZhbHVlMiA9IGJbcHJvcGVydHldOw0KICAgICAgICByZXR1cm4gdmFsdWUxIC0gdmFsdWUyDQogICAgICB9DQogICAgfSwNCiAgICBkYXRhUHJvY2Vzc2luZyAoKSB7ICAvL+WkhOeQhuWQjuerr+i/lOWbnuiKgueCueaVsOaNruWSjOi3r+W+hOaVsOaNrg0KICAgICAgaWYodGhpcy5kYXRhLm5vZGVNc2cpew0KDQogICAgICAgIHRoaXMuZGF0YS5ub2RlTXNnLmZvckVhY2goaXRlbSA9PiB7DQogICAgICAgICAgdGhpcy5ub2RlTXNnW2l0ZW0ua2V5XSA9IGl0ZW0NCiAgICAgICAgICBpZihpdGVtLnR5cGUgPT09IDIpeyAgLy/nu5PmnZ/oioLngrnlr7nmlbDmja7mjpLluo8s5Yy65YiG5omn6KGM56iL5bqP6L+Y5piv5oqE6YCB5Lq6DQogICAgICAgICAgICB0aGlzLm5vZGVNc2dbaXRlbS5rZXldLmFjdGlvbkNvbmZpZy5zb3J0KHRoaXMuY29tcGFyZSgnaGFuZGxlVHlwZScpKQ0KICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICAgICAgdGhpcy5kYXRhLm5vZGVNc2cgPSB0aGlzLm5vZGVNc2cNCiAgICAgIH0NCg0KICAgICAgaWYodGhpcy5kYXRhLnBhdGhNc2cpew0KICAgICAgICB0aGlzLmRhdGEucGF0aE1zZy5mb3JFYWNoKGl0ZW0gPT4gew0KICAgICAgICAgIHRoaXMucGF0aE1zZ1tpdGVtLmtleV0gPSBpdGVtDQogICAgICAgIH0pDQogICAgICAgIHRoaXMuZGF0YS5wYXRoTXNnID0gdGhpcy5wYXRoTXNnDQogICAgICB9DQoNCiAgICAgIHRoaXMuZGF0YS5yZW1vdmVQYXRoID0gW10NCiAgICAgIHRoaXMuZGF0YS5yZW1vdmVOb2RlID0gW10NCg0KICAgIH0sDQogICAgc2hvd0VkaXROb2RlIChub2RlKSB7ICAvL+WPjOWHu+e8lui+kQ0KDQogICAgICAvLyBub2RlLmZpbmROb2Rlc091dE9mKCkNCiAgICAgIGlmKG5vZGUuZGF0YS50eXBlID09PSAxKXsNCiAgICAgICAgbGV0IGRlZmF1bHRPYmogPSB7DQogICAgICAgICAgY29uZGl0aW9uVHlwZTogMCwNCiAgICAgICAgICBydWxlTGlzdDogW10sDQogICAgICAgICAgcHJpb3JpdHk6IG51bGwsDQogICAgICAgICAgZGVmYXVsdFByaW9yaXR5OiBudWxsLA0KICAgICAgICAgIG1vZGlmeUlkOiBudWxsLA0KICAgICAgICAgIGlkOm51bGwsDQogICAgICAgICAgdHJpZ2dlckJ0OltdLA0KICAgICAgICAgIHZpc2libGVCdDpbXQ0KICAgICAgICB9DQogICAgICAgIGlmKCFub2RlLmRhdGEuaWQpew0KICAgICAgICAgIHRoaXMubm9kZU1zZ1tub2RlLmRhdGEua2V5XSA9IE9iamVjdC5hc3NpZ24oZGVmYXVsdE9iaix0aGlzLm5vZGVNc2dbbm9kZS5kYXRhLmtleV0pDQogICAgICAgIH0NCg0KICAgICAgICB0aGlzLmRyYXdlck9iamVjdCA9IHsNCiAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgIGNvbXBvbmVudDogJ3N0YXJ0Tm9kZUluZm8nLA0KICAgICAgICAgIGNvbmZpZ0RhdGE6IHRoaXMubm9kZU1zZ1tub2RlLmRhdGEua2V5XSwNCiAgICAgICAgICB0aXRsZTon5byA5aeL6IqC54K56YWN572uJw0KICAgICAgICB9DQogICAgICB9DQogICAgICBpZihub2RlLmRhdGEudHlwZSA9PT0gMil7DQogICAgICAgIGxldCBkZWZhdWx0T2JqID0gew0KICAgICAgICAgIGlkOm51bGwsDQogICAgICAgICAgbWFudWFsQ29uZmlnOm51bGwsDQogICAgICAgICAgYWN0aW9uQ29uZmlnOltdDQogICAgICAgIH0NCiAgICAgICAgaWYoIW5vZGUuZGF0YS5pZCl7DQogICAgICAgICAgdGhpcy5ub2RlTXNnW25vZGUuZGF0YS5rZXldID0gT2JqZWN0LmFzc2lnbihkZWZhdWx0T2JqLHRoaXMubm9kZU1zZ1tub2RlLmRhdGEua2V5XSkNCiAgICAgICAgfQ0KICAgICAgICB0aGlzLmRyYXdlck9iamVjdCA9IHsNCiAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgIGNvbXBvbmVudDogJ2VuZE5vZGVJbmZvJywNCiAgICAgICAgICBjb25maWdEYXRhOiB0aGlzLm5vZGVNc2dbbm9kZS5kYXRhLmtleV0sDQogICAgICAgICAgdGl0bGU6J+e7k+adn+iKgueCuemFjee9ricNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICAvLyDlrqHmibnoioLngrnlkozmk43kvZzoioLngrnnlKjlkIzkuIDkuKrphY3nva7nlYzpnaLvvIzmoLnmja7lj4LmlbDmjqfliLblsZXnpLrpobkNCiAgICAgIGlmKG5vZGUuZGF0YS5jYXRlZ29yeSA9PT0gIkFwcHJvdmFsIiB8fCBub2RlLmRhdGEuY2F0ZWdvcnkgPT09ICJPcGVyYXRpb24iKXsNCiAgICAgICAgdGhpcy5yZWplY3RlZE5vZGVzID0gW10NCiAgICAgICAgdGhpcy5hc3NpZ25lZE5vZGVzID0gW10NCiAgICAgICAgdGhpcy5maW5kTm9kZXNJbnRvKG5vZGUpDQogICAgICAgIHRoaXMuZmluZE5vZGVzT3V0T2Yobm9kZSkNCiAgICAgICAgLy8g6buY6K6k6IqC54K56YWN572uDQogICAgICAgIGxldCBkZWZhdWx0T2JqID0gew0KICAgICAgICAgIGFjdFNlcnZpY2VTOltdLA0KICAgICAgICAgIGFjdGlvbkNvbmZpZzpbXSwNCiAgICAgICAgICBhcHByb3ZlbExpc3Q6W10sDQogICAgICAgICAgYmFja0lkOm51bGwsDQogICAgICAgICAgaWQ6bnVsbCwNCiAgICAgICAgICBtYW51YWxDb25maWc6MCwNCiAgICAgICAgICBtb2RpZmlhYmxlRmllbGQ6W10sDQogICAgICAgICAgbW9kdWxlSWQ6bnVsbCwNCiAgICAgICAgICBuYW1lOifkuK3pl7ToioLngrknLA0KICAgICAgICAgIG5vZGVUeXBlOjAsDQogICAgICAgICAgcnVsZUxpc3Q6W10sDQogICAgICAgICAgaW5ldml0YWJsZTogMSwgIC8v6IqC54K55b+F57uPDQogICAgICAgICAgYXBwcm92ZUNvbmRpdGlvbjogMCwgIC8v5a6h5om55p2h5Lu2DQogICAgICAgICAgYXNzaWduQmFjazogMCwgIC8v6amz5Zue5pON5L2cDQogICAgICAgICAgd2hldGhlckJhY2s6IDAsIC8v5Y+v5Li66amz5Zue6IqC54K5DQogICAgICAgICAgbm9kZUNhbmNsZTogMCwgIC8v5L2c5bqf5pON5L2cDQogICAgICAgICAgYXNzaWduTmV4dDogMSwgLy/mjIfmtL7mtYHovazoioLngrkNCiAgICAgICAgICBhc3NpZ25Ob2RlOiAxLCAgLy/oioLngrnmmK/lkKbmmK/lv4XpnIDmjIfmtL4NCiAgICAgICAgICBhc3NpZ25BcHByb3ZlcjogMSwgIC8v5piv5ZCm5Yqo5oCB5oyH5rS+5pON5L2c5Lq6DQogICAgICAgICAgdmlzaWJsZUJ0OltdLCAgLy/lj6/op4HmjInpkq4NCiAgICAgICAgICBub2RlQmFjazogMCwgIC8v6amz5Zue5oyJ6ZKu5byA5YWzDQogICAgICAgICAgbm9kZUFncmVlOiAwLCAvL+WQjOaEj+aMiemSrg0KDQogICAgICAgIH0NCg0KICAgICAgICBpZih0aGlzLmRhdGEubW9kdWxlVHlwZSA9PT0gMCl7DQogICAgICAgICAgZGVmYXVsdE9iaiA9IHsNCiAgICAgICAgICAgIGFjdFNlcnZpY2VTOltdLA0KICAgICAgICAgICAgYWN0aW9uQ29uZmlnOltdLA0KICAgICAgICAgICAgYXBwcm92ZWxMaXN0OltdLA0KICAgICAgICAgICAgYmFja0lkOm51bGwsDQogICAgICAgICAgICBpZDpudWxsLA0KICAgICAgICAgICAgbWFudWFsQ29uZmlnOjAsDQogICAgICAgICAgICBtb2RpZmlhYmxlRmllbGQ6JycsDQogICAgICAgICAgICBtb2RpZmlhYmxlRmllbGROYW1lOicnLA0KICAgICAgICAgICAgbW9kdWxlSWQ6bnVsbCwNCiAgICAgICAgICAgIG5hbWU6J+WuoeaJueiKgueCuScsDQogICAgICAgICAgICBub2RlVHlwZTowLA0KICAgICAgICAgICAgcnVsZUxpc3Q6W10NCiAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBpZighbm9kZS5kYXRhLmlkKXsNCiAgICAgICAgICB0aGlzLm5vZGVNc2dbbm9kZS5kYXRhLmtleV0gPSBPYmplY3QuYXNzaWduKGRlZmF1bHRPYmosdGhpcy5ub2RlTXNnW25vZGUuZGF0YS5rZXldKQ0KICAgICAgICB9DQogICAgICAgIHRoaXMuZHJhd2VyT2JqZWN0ID0gew0KICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgY29tcG9uZW50OiB0aGlzLmRhdGEubW9kdWxlVHlwZSA9PT0gMD8nUHJvY2Vzc05vZGVDb25maWcnOidEeW5hbWljUHJvY2Vzc05vZGVDb25maWcnLA0KICAgICAgICAgIGNvbmZpZ0RhdGE6IHRoaXMubm9kZU1zZ1tub2RlLmRhdGEua2V5XSwNCiAgICAgICAgICBub2RlOiBub2RlLA0KICAgICAgICAgIHRpdGxlOm5vZGUuZGF0YS5jYXRlZ29yeSA9PT0gIkFwcHJvdmFsIj8n5a6h5om56IqC54K56YWN572uJzon5pON5L2c6IqC54K5Jw0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIC8vIOacjeWKoeiKgueCuQ0KICAgICAgaWYobm9kZS5kYXRhLmNhdGVnb3J5ID09PSAnU2VydmljZScpew0KICAgICAgICBsZXQgZGVmYXVsdE9iaiA9IHsNCiAgICAgICAgICBpZDpudWxsLA0KICAgICAgICAgIGFjdGlvbkNvbmZpZzpbew0KICAgICAgICAgICAgImlkIjpudWxsLAkgICAgLy/mlrDlop7kuI3kvKDvvIzkv67mlLnkvKANCiAgICAgICAgICAgICJoYW5kbGVWYWx1ZSI6bnVsbCwJICAgIC8v5YW35L2T55qE5YWz5LqO6K+35rGC54q25oCB77yMdXJs5LmL57G755qEanNvbg0KICAgICAgICAgICAgImhhbmRsZVR5cGUiOm51bGwsCS8vNTHvvJpyZXN05pyN5Yqh5a6e546w77yMNTLvvJrmtojmga/ns7vnu58NCiAgICAgICAgICAgICJleHRyYU1zZyI6bnVsbAkvL+ebuOWFs+WPguaVsA0KICAgICAgICAgIH1dDQogICAgICAgIH0NCiAgICAgICAgaWYoIW5vZGUuZGF0YS5pZCl7DQogICAgICAgICAgdGhpcy5ub2RlTXNnW25vZGUuZGF0YS5rZXldID0gT2JqZWN0LmFzc2lnbihkZWZhdWx0T2JqLHRoaXMubm9kZU1zZ1tub2RlLmRhdGEua2V5XSkNCiAgICAgICAgfQ0KICAgICAgICB0aGlzLmRyYXdlck9iamVjdCA9IHsNCiAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgIGNvbXBvbmVudDogJ1NlcnZpY2VOb2RlQ29uZmlnJywNCiAgICAgICAgICBjb25maWdEYXRhOiB0aGlzLm5vZGVNc2dbbm9kZS5kYXRhLmtleV0sDQogICAgICAgICAgdGl0bGU6J+acjeWKoeiKgueCuemFjee9ricNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICBpZihub2RlLmRhdGEuZnJvbSAhPT0gdW5kZWZpbmVkKXsNCiAgICAgICAgaWYodGhpcy5ub2RlTXNnW25vZGUuZGF0YS5mcm9tXS5jYXRlZ29yeSA9PT0gJ1NlcnZpY2UnICYmIHRoaXMuZGF0YS5tb2R1bGVUeXBlID09PSAxKXsNCiAgICAgICAgICByZXR1cm4NCiAgICAgICAgfQ0KICAgICAgICAvLyDpu5jorqTov57nur/phY3nva4NCiAgICAgICAgbGV0IGRlZmF1bHRPYmogPSB7DQogICAgICAgICAgZW5kTm9kZTpudWxsLA0KICAgICAgICAgIG1vZHVsZUlkOm51bGwsDQogICAgICAgICAgbmFtZTpudWxsLA0KICAgICAgICAgIHJ1bGVMaXN0OltdLA0KICAgICAgICAgIHNvdXJjZXM6bnVsbCwNCiAgICAgICAgICBzdGFydE5vZGU6bnVsbCwNCiAgICAgICAgICBzdGF0dXM6bnVsbA0KICAgICAgICB9DQogICAgICAgIGlmKCFub2RlLmRhdGEubW9kdWxlSWQpew0KICAgICAgICAgIHRoaXMucGF0aE1zZ1tub2RlLmRhdGEua2V5XSA9IE9iamVjdC5hc3NpZ24oZGVmYXVsdE9iaix0aGlzLnBhdGhNc2dbbm9kZS5kYXRhLmtleV0pDQogICAgICAgIH0NCg0KICAgICAgICBsZXQgdGFibGVDb25maWcgPSBbew0KICAgICAgICAgICAgSUQ6IHRoaXMubm9kZU1zZ1tub2RlLmRhdGEuZnJvbV0ubm9kZUZvcm1JZCwNCiAgICAgICAgICAgIHZhbHVlOiB0aGlzLm5vZGVNc2dbbm9kZS5kYXRhLmZyb21dLm5vZGVGb3JtDQogICAgICAgICAgfV0NCg0KICAgICAgICBpZih0aGlzLm5vZGVNc2dbbm9kZS5kYXRhLmZyb21dLmNhdGVnb3J5ID09PSAnU3RhcnQnKXsNCiAgICAgICAgICB0YWJsZUNvbmZpZyA9IFt7DQogICAgICAgICAgICBJRDogdGhpcy5ub2RlTXNnW25vZGUuZGF0YS5mcm9tXS5idXNpbmVzc1R5cGUsDQogICAgICAgICAgICB2YWx1ZTogdGhpcy5ub2RlTXNnW25vZGUuZGF0YS5mcm9tXS5idXNpbmVzc1R5cGVOYW1lDQogICAgICAgICAgfV0NCiAgICAgICAgfQ0KDQogICAgICAgIHRoaXMuZHJhd2VyT2JqZWN0ID0gew0KICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgY29tcG9uZW50OiAnbGlua0luZm8nLA0KICAgICAgICAgIGNvbmZpZ0RhdGE6IHRoaXMucGF0aE1zZ1tub2RlLmRhdGEua2V5XSwNCiAgICAgICAgICBUQUJMRV9JRDogdGhpcy5kYXRhLm1vZHVsZVR5cGUgPT09IDE/dGFibGVDb25maWc6dGhpcy5kYXRhLmJ1c2luZXNzVHlwZSwNCiAgICAgICAgICB0aXRsZTon6L+e5o6l57q/6YWN572uJw0KICAgICAgICB9DQogICAgICB9DQogICAgfSwNCiAgICBmaW5kTm9kZXNJbnRvIChub2RlKSB7ICAvL+afpeaJvueItuiKgueCuQ0KICAgICAgbGV0IHBhcmVudHMgPSBub2RlLmZpbmROb2Rlc0ludG8oKQ0KDQogICAgICBpZihwYXJlbnRzLmNvdW50ID4gMCl7DQogICAgICAgIG5vZGUuZmluZE5vZGVzSW50bygpLm1hcChpdGVtID0+IHsNCiAgICAgICAgICB0aGlzLnJlamVjdGVkTm9kZXMucHVzaCh7DQogICAgICAgICAgICB2YWx1ZTppdGVtLmRhdGEua2V5LA0KICAgICAgICAgICAgbGFiZWw6aXRlbS5kYXRhLnRleHQNCiAgICAgICAgICB9KQ0KICAgICAgICAgIHRoaXMuZmluZE5vZGVzSW50byhpdGVtKQ0KICAgICAgICB9KQ0KICAgICAgfWVsc2V7DQogICAgICAgIHJldHVybg0KICAgICAgfQ0KICAgIH0sDQogICAgZmluZE5vZGVzT3V0T2YgKG5vZGUpIHsgIC8v5p+l5om+5a2Q6IqC54K5DQogICAgICBsZXQgY2hpbGRyZW5zID0gbm9kZS5maW5kTm9kZXNPdXRPZigpDQoNCiAgICAgIGlmKGNoaWxkcmVucy5jb3VudCA+IDApew0KICAgICAgICBub2RlLmZpbmROb2Rlc091dE9mKCkubWFwKGl0ZW0gPT4gew0KICAgICAgICAgIGlmKGl0ZW0uZGF0YS5rZXkgIT0gLTIpew0KICAgICAgICAgICAgdGhpcy5hc3NpZ25lZE5vZGVzLnB1c2goew0KICAgICAgICAgICAgICB2YWx1ZTppdGVtLmRhdGEua2V5LA0KICAgICAgICAgICAgICBsYWJlbDppdGVtLmRhdGEudGV4dA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIHRoaXMuZmluZE5vZGVzT3V0T2YoaXRlbSkNCiAgICAgICAgICB9DQoNCiAgICAgICAgfSkNCiAgICAgIH1lbHNlew0KICAgICAgICByZXR1cm4NCiAgICAgIH0NCiAgICB9LA0KICAgIFNlbGVjdGlvbkRlbGV0ZWQgKG5vZGUpIHsgIC8v5Yig6Zmk6IqC54K55oiW6ICF57q/DQoNCiAgICAgIGlmKG5vZGUuZnJvbVBvcnQgIT09IHVuZGVmaW5lZCl7ICAvL+e6v+eahOWIoOmZpA0KICAgICAgICBkZWxldGUgdGhpcy5wYXRoTXNnW25vZGUua2V5XQ0KICAgICAgICBpZihub2RlLmlkKXsgIC8v5bey5L+d5a2Y55qE57q/DQogICAgICAgICAgdGhpcy5kYXRhLnJlbW92ZVBhdGgucHVzaChub2RlLmlkKQ0KICAgICAgICB9DQogICAgICB9ZWxzZXsgIC8v6IqC54K55Yig6ZmkDQogICAgICAgIGRlbGV0ZSB0aGlzLm5vZGVNc2dbbm9kZS5rZXldDQogICAgICAgIGlmKG5vZGUuaWQpew0KICAgICAgICAgIHRoaXMuZGF0YS5yZW1vdmVOb2RlLnB1c2goew0KICAgICAgICAgICAgaWQ6bm9kZS5pZCwNCiAgICAgICAgICAgIHR5cGU6bm9kZS50eXBlDQogICAgICAgICAgfSkNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0sDQogICAgTGlua0RyYXduIChub2RlKSB7ICAvL+i/nue6v+eUn+aIkA0KICAgICAgaWYoIXRoaXMuanVkZ2VMb29wKCkpew0KICAgICAgICB0aGlzLiRNb2RhbC5mY1dhcm5pbmcoew0KICAgICAgICAgIHRpdGxlOiforablkYonLA0KICAgICAgICAgIGNvbnRlbnQ6J+a1geeoi+WbvuS4reWtmOWcqOWbnui3r++8jOivt+mHjeaWsOiuvue9riEhJywNCiAgICAgICAgICBtYXNrOnRydWUNCiAgICAgICAgfSkNCg0KICAgICAgICB0aGlzLmRhdGEuZ3VpU3R5bGUgPSBKU09OLnBhcnNlKHRoaXMubXlEZXNpZ25lci5nZXRGbG93RGF0YSgpKQ0KICAgICAgICBsZXQgbGlua0RhdGFBcnJheSA9IHRoaXMuZGF0YS5ndWlTdHlsZS5saW5rRGF0YUFycmF5DQogICAgICAgIGxpbmtEYXRhQXJyYXkgPSBsaW5rRGF0YUFycmF5LmZpbHRlcihpdGVtID0+IHsNCiAgICAgICAgICByZXR1cm4gaXRlbS5rZXkgIT09IG5vZGUua2V5DQogICAgICAgIH0pDQoNCiAgICAgICAgdGhpcy5kYXRhLmd1aVN0eWxlLmxpbmtEYXRhQXJyYXkgPSBsaW5rRGF0YUFycmF5DQogICAgICAgIHRoaXMuaW5pdCgpDQogICAgICAgIC8vIHJlamVjdCgpDQogICAgICAgIHJldHVybg0KICAgICAgfWVsc2V7DQogICAgICAgIHRoaXMucGF0aE1zZ1tub2RlLmtleV0gPSBub2RlDQogICAgICAgIHRoaXMucGF0aE1zZ1tub2RlLmtleV0ucnVsZUxpc3QgPSBbXQ0KICAgICAgfQ0KDQogICAgfSwNCiAgICBMaW5rUmVsaW5rZWQgKG5vZGUpIHsgIC8v6L+e57q/5L+u5pS5DQogICAgICB0aGlzLnBhdGhNc2dbbm9kZS5rZXldLmZyb20gPSBub2RlLmZyb20NCiAgICAgIHRoaXMucGF0aE1zZ1tub2RlLmtleV0udG8gPSBub2RlLnRvDQogICAgICB0aGlzLnBhdGhNc2dbbm9kZS5rZXldLmZyb21Qb3J0ID0gbm9kZS5mcm9tUG9ydA0KICAgICAgdGhpcy5wYXRoTXNnW25vZGUua2V5XS50b1BvcnQgPSBub2RlLnRvUG9ydA0KICAgIH0sDQogICAganVkZ2VMb29wICgpIHsgIC8v5Yik5pat5piv5ZCm5a2Y5Zyo6Zet546vICB0cnVl5Li65rKh5pyJ6Zet546vICBmYWxzZeaciemXreeOrw0KICAgICAgICAvLyDojrflj5bmiYDmnInnmoToioLngrkNCiAgICAgICAgbGV0IGRhdGEgPSBKU09OLnBhcnNlKHRoaXMubXlEZXNpZ25lci5nZXRGbG93RGF0YSgpKQ0KICAgICAgICBjb25zdCBlZGdlcyA9IGRhdGEubGlua0RhdGFBcnJheT9kYXRhLmxpbmtEYXRhQXJyYXk6SlNPTi5wYXJzZShkYXRhKS5saW5rRGF0YUFycmF5Ow0KICAgICAgICBjb25zdCBub2RlcyA9IFtdOw0KICAgICAgICBjb25zdCBsaXN0ID0ge307IC8vIOmCu+aOpeihqA0KICAgICAgICBjb25zdCBxdWV1ZSA9IFtdOyAvLyDlhaXluqbkuLow55qE6IqC54K56ZuG5ZCIDQogICAgICAgIGNvbnN0IGluZGVncmVlID0ge307DQogICAgICAgIGVkZ2VzLmZvckVhY2goZSA9PiB7DQogICAgICAgICAgICBjb25zdCB7IGZyb20sIHRvIH0gPSBlOw0KICAgICAgICAgICAgaWYgKCFub2Rlcy5pbmNsdWRlcyhmcm9tKSkgew0KICAgICAgICAgICAgICAgIG5vZGVzLnB1c2goZnJvbSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoIW5vZGVzLmluY2x1ZGVzKHRvKSkgew0KICAgICAgICAgICAgICAgIG5vZGVzLnB1c2godG8pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgYWRkRWRnZShmcm9tLCB0byk7DQogICAgICAgIH0pOw0KICAgICAgICBjb25zdCBWID0gbm9kZXMubGVuZ3RoOw0KDQogICAgICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB7DQogICAgICAgICAgICBpZiAoIWluZGVncmVlW25vZGVdKSBpbmRlZ3JlZVtub2RlXSA9IDA7DQogICAgICAgICAgICBpZiAoIWxpc3Rbbm9kZV0pIGxpc3Rbbm9kZV0gPSBbXTsNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gYWRkRWRnZShzb3VyY2UsIHRhcmdldCkgew0KICAgICAgICAgICAgaWYgKCFsaXN0W3NvdXJjZV0pIGxpc3Rbc291cmNlXSA9IFtdOw0KICAgICAgICAgICAgaWYgKCFpbmRlZ3JlZVt0YXJnZXRdKSBpbmRlZ3JlZVt0YXJnZXRdID0gMDsNCiAgICAgICAgICAgIGxpc3Rbc291cmNlXS5wdXNoKHRhcmdldCk7DQogICAgICAgICAgICBpbmRlZ3JlZVt0YXJnZXRdICs9IDE7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc29ydCgpIHsNCiAgICAgICAgICAgIE9iamVjdC5rZXlzKGluZGVncmVlKS5mb3JFYWNoKGlkID0+IHsNCiAgICAgICAgICAgICAgICBpZiAoaW5kZWdyZWVbaWRdID09PSAwKSB7DQogICAgICAgICAgICAgICAgICAgIHF1ZXVlLnB1c2goaWQpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgbGV0IGNvdW50ID0gMDsNCiAgICAgICAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICArK2NvdW50Ow0KICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnROb2RlID0gcXVldWUucG9wKCk7DQogICAgICAgICAgICAgICAgY29uc3Qgbm9kZVRhcmdldHMgPSBsaXN0W2N1cnJlbnROb2RlXTsNCiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVUYXJnZXRzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IG5vZGVUYXJnZXRzW2ldOw0KICAgICAgICAgICAgICAgICAgICBpbmRlZ3JlZVt0YXJnZXRdIC09IDE7DQogICAgICAgICAgICAgICAgICAgIGlmIChpbmRlZ3JlZVt0YXJnZXRdID09PSAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBxdWV1ZS5wdXNoKHRhcmdldCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICAvLyBmYWxzZSDmsqHmnInovpPlh7rlhajpg6jpobbngrnvvIzmnInlkJHlm77kuK3mnInlm57ot68NCiAgICAgICAgICAgIHJldHVybiAhKGNvdW50IDwgVik7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gc29ydCgpOw0KICAgIH0sDQogICAgZXh0ZXJuYWxvYmplY3RzZHJvcHBlZCAobm9kZSkgeyAgLy/oioLngrnnlJ/miJANCg0KICAgICAgaWYobm9kZS5jYXRlZ29yeSA9PT0gJ1NlcnZpY2UnIHx8IG5vZGUuY2F0ZWdvcnkgPT09ICdTdWJwcm9jZXNzZXMnKXsNCiAgICAgICAgdGhpcy5ub2RlTXNnW25vZGUua2V5XSA9IG5vZGUNCiAgICAgICAgdGhpcy5ub2RlTXNnW25vZGUua2V5XS5uYW1lID0gbm9kZS50ZXh0DQogICAgICAgIHJldHVybg0KICAgICAgfQ0KICAgICAgdGhpcy5ub2RlTXNnW25vZGUua2V5XSA9IG5vZGUNCiAgICAgIHRoaXMubm9kZU1zZ1tub2RlLmtleV0ucnVsZUxpc3QgPSBbXQ0KICAgICAgdGhpcy5ub2RlTXNnW25vZGUua2V5XS5hY3RTZXJ2aWNlUyA9Ww0KICAgICAgICB7DQogICAgICAgICAgc3RhdHVzOjEsDQogICAgICAgICAgaGFuZGxlVmFsdWU6bnVsbCwNCiAgICAgICAgICBoYW5kbGVUeXBlOjExDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBzdGF0dXM6MSwNCiAgICAgICAgICBoYW5kbGVWYWx1ZTpudWxsLA0KICAgICAgICAgIGhhbmRsZVR5cGU6MjANCiAgICAgICAgfQ0KICAgICAgXQ0KICAgICAgdGhpcy5ub2RlTXNnW25vZGUua2V5XS5hY3Rpb25Db25maWcgPVtdDQogICAgICB0aGlzLm5vZGVNc2dbbm9kZS5rZXldLmFwcHJvdmVsTGlzdCA9IFtdDQogICAgICB0aGlzLm5vZGVNc2dbbm9kZS5rZXldLmFwcHJvdmVyU3R5bGUgPSAwDQogICAgICB0aGlzLm5vZGVNc2dbbm9kZS5rZXldLm5hbWUgPSBub2RlLnRleHQNCiAgICB9LA0KICAgIGNsb3NlRHJhd2VyICgpIHsgIC8v5YWz6Zet562W5YiS5Z2XDQogICAgICB0aGlzLmRyYXdlck9iamVjdCA9IHsNCiAgICAgICAgc2hvdzogZmFsc2UNCiAgICAgIH0NCiAgICB9DQogIH0NCn0NCg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;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;;AAEA;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","file":"index.vue","sourceRoot":"src/components/FlowChartComponent","sourcesContent":["<template>\r\n <div class=\"FlowChartComponent\">\r\n <!-- <Alert show-icon closable v-if=\"currentSteps === 1\">双击空白区域即可直接新增一个中间节点,双击节点可编辑</Alert> -->\r\n <div class=\"chartContent\">\r\n <div id=\"paletteDiv\"></div>\r\n <div id=\"goChart\" v-show=\"currentSteps === 1\">\r\n </div>\r\n <div id=\"showChart\" v-show=\"currentSteps === 2\">\r\n </div>\r\n </div>\r\n\r\n <!-- 全局侧滑模块 -->\r\n <Drawer\r\n v-model=\"drawerObject.show\"\r\n transfer\r\n :title=\"drawerObject.title\"\r\n :width=\"472\"\r\n :mask-closable=\"false\"\r\n :closable=\"false\"\r\n scrollable\r\n >\r\n <components\r\n v-if=\"drawerObject.show\"\r\n :configData=\"drawerObject.configData\"\r\n :data=\"drawerObject.configData\"\r\n :is=\"drawerObject.component\"\r\n :TABLE_ID=\"drawerObject.TABLE_ID\"\r\n :node=\"drawerObject.node\"\r\n :status=\"drawerObject.status\"\r\n :rejectedNodes=\"rejectedNodes\"\r\n :assignedNodes=\"assignedNodes\"\r\n :readOnly=\"readOnly\"\r\n :moduleType=\"data.moduleType\"\r\n @closeDrawer=\"closeDrawer\"\r\n >\r\n </components>\r\n </Drawer>\r\n </div>\r\n</template>\r\n<script>\r\n// import '../__utils__/go'\r\n// import FlowDesinger from '../__utils__/flow-desinger';\r\nimport startNodeInfo from '@/components/startNodeInfo'\r\nimport endNodeInfo from '@/components/endNodeInfo'\r\nimport linkInfo from '@/components/linkInfo'\r\nimport ProcessNodeConfig from '@/components/ProcessNodeConfig'\r\nimport DynamicProcessNodeConfig from '@/components/DynamicProcessNodeConfig'\r\nimport ServiceNodeConfig from '@/components/ServiceNodeConfig'\r\n// import FlowDisplay from '../__utils__/flow-display';\r\nexport default {\r\n components:{\r\n startNodeInfo, endNodeInfo, linkInfo, ProcessNodeConfig, DynamicProcessNodeConfig, ServiceNodeConfig\r\n },\r\n props:{\r\n editable:{ //是否可编辑\r\n type:Boolean,\r\n default:true\r\n },\r\n fresh:{\r\n type:Boolean,\r\n default:false\r\n },\r\n currentSteps:{\r\n type:Number,\r\n default:null\r\n },\r\n noFreshFlag:{\r\n type:Boolean,\r\n default:false\r\n },\r\n readOnly:{\r\n type:Boolean,\r\n default:false\r\n },\r\n data:{\r\n type:Object,\r\n default () {\r\n return {\r\n }\r\n }\r\n }\r\n },\r\n data () {\r\n return {\r\n myDesigner:null, //画布实例\r\n drawerObject:{\r\n show:false\r\n },\r\n nodeMsg:{}, //存放节点数据\r\n pathMsg:{}, //存放路径数据\r\n rejectedNodes:[], //驳回节点\r\n assignedNodes: [], //指派节点\r\n }\r\n },\r\n activated () {\r\n if(!this.noFreshFlag){\r\n this.init()\r\n }\r\n },\r\n deactivated () { //keep-alive 组件停用时调用\r\n if(this.currentSteps === 1 && this.myDesigner){\r\n this.data.guiStyle = JSON.parse(this.myDesigner.getFlowData())\r\n }\r\n },\r\n methods:{\r\n init () {\r\n if(!Array.isArray(this.data.nodeMsg)){\r\n let nodeMsg = []\r\n Object.keys(this.data.nodeMsg).map(item => {\r\n nodeMsg.push(this.data.nodeMsg[item])\r\n return item\r\n })\r\n\r\n this.data.nodeMsg = nodeMsg\r\n\r\n let pathMsg = []\r\n Object.keys(this.data.pathMsg).map(item => {\r\n pathMsg.push(this.data.pathMsg[item])\r\n return item\r\n })\r\n this.data.pathMsg = pathMsg\r\n }\r\n\r\n this.dataProcessing()\r\n if(this.currentSteps === 1){\r\n // 流程图设计器\r\n if(!this.myDesigner){\r\n // this.myDesigner= new FlowDesinger('goChart',{\r\n // showEditNode:this.showEditNode, //节点双击编辑\r\n // SelectionDeleted:this.SelectionDeleted, //删除事件\r\n // LinkDrawn:this.LinkDrawn, //线的生成\r\n // externalobjectsdropped:this.externalobjectsdropped, //节点生成\r\n // LinkRelinked: this.LinkRelinked //连线修改\r\n // });\r\n\r\n }\r\n\r\n this.initToolbar = this.myDesigner.initToolbar('paletteDiv',this.data.moduleType)\r\n this.myDesigner.displayFlow(JSON.parse(JSON.stringify(this.data.guiStyle)));// 在设计面板中显示流程图\r\n this.data.myDisplay = this.myDesigner.diagram\r\n }else{\r\n if(this.myDisplay){\r\n this.myDisplay.loadFlow(JSON.parse(JSON.stringify(this.data.guiStyle)))\r\n }else{\r\n this.myDisplay = new FlowDisplay('showChart',{\r\n showEditNode:this.showEditNode, //节点双击编辑\r\n });\r\n this.myDisplay.loadFlow(JSON.parse(JSON.stringify(this.data.guiStyle)))\r\n }\r\n\r\n // this.data.myDisplay = this.myDisplay.diagram\r\n\r\n }\r\n\r\n\r\n },\r\n compare (property) {\r\n return function(a,b) {\r\n var value1 = a[property];\r\n var value2 = b[property];\r\n return value1 - value2\r\n }\r\n },\r\n dataProcessing () { //处理后端返回节点数据和路径数据\r\n if(this.data.nodeMsg){\r\n\r\n this.data.nodeMsg.forEach(item => {\r\n this.nodeMsg[item.key] = item\r\n if(item.type === 2){ //结束节点对数据排序,区分执行程序还是抄送人\r\n this.nodeMsg[item.key].actionConfig.sort(this.compare('handleType'))\r\n }\r\n })\r\n this.data.nodeMsg = this.nodeMsg\r\n }\r\n\r\n if(this.data.pathMsg){\r\n this.data.pathMsg.forEach(item => {\r\n this.pathMsg[item.key] = item\r\n })\r\n this.data.pathMsg = this.pathMsg\r\n }\r\n\r\n this.data.removePath = []\r\n this.data.removeNode = []\r\n\r\n },\r\n showEditNode (node) { //双击编辑\r\n\r\n // node.findNodesOutOf()\r\n if(node.data.type === 1){\r\n let defaultObj = {\r\n conditionType: 0,\r\n ruleList: [],\r\n priority: null,\r\n defaultPriority: null,\r\n modifyId: null,\r\n id:null,\r\n triggerBt:[],\r\n visibleBt:[]\r\n }\r\n if(!node.data.id){\r\n this.nodeMsg[node.data.key] = Object.assign(defaultObj,this.nodeMsg[node.data.key])\r\n }\r\n\r\n this.drawerObject = {\r\n show: true,\r\n component: 'startNodeInfo',\r\n configData: this.nodeMsg[node.data.key],\r\n title:'开始节点配置'\r\n }\r\n }\r\n if(node.data.type === 2){\r\n let defaultObj = {\r\n id:null,\r\n manualConfig:null,\r\n actionConfig:[]\r\n }\r\n if(!node.data.id){\r\n this.nodeMsg[node.data.key] = Object.assign(defaultObj,this.nodeMsg[node.data.key])\r\n }\r\n this.drawerObject = {\r\n show: true,\r\n component: 'endNodeInfo',\r\n configData: this.nodeMsg[node.data.key],\r\n title:'结束节点配置'\r\n }\r\n }\r\n\r\n // 审批节点和操作节点用同一个配置界面,根据参数控制展示项\r\n if(node.data.category === \"Approval\" || node.data.category === \"Operation\"){\r\n this.rejectedNodes = []\r\n this.assignedNodes = []\r\n this.findNodesInto(node)\r\n this.findNodesOutOf(node)\r\n // 默认节点配置\r\n let defaultObj = {\r\n actServiceS:[],\r\n actionConfig:[],\r\n approvelList:[],\r\n backId:null,\r\n id:null,\r\n manualConfig:0,\r\n modifiableField:[],\r\n moduleId:null,\r\n name:'中间节点',\r\n nodeType:0,\r\n ruleList:[],\r\n inevitable: 1, //节点必经\r\n approveCondition: 0, //审批条件\r\n assignBack: 0, //驳回操作\r\n whetherBack: 0, //可为驳回节点\r\n nodeCancle: 0, //作废操作\r\n assignNext: 1, //指派流转节点\r\n assignNode: 1, //节点是否是必需指派\r\n assignApprover: 1, //是否动态指派操作人\r\n visibleBt:[], //可见按钮\r\n nodeBack: 0, //驳回按钮开关\r\n nodeAgree: 0, //同意按钮\r\n\r\n }\r\n\r\n if(this.data.moduleType === 0){\r\n defaultObj = {\r\n actServiceS:[],\r\n actionConfig:[],\r\n approvelList:[],\r\n backId:null,\r\n id:null,\r\n manualConfig:0,\r\n modifiableField:'',\r\n modifiableFieldName:'',\r\n moduleId:null,\r\n name:'审批节点',\r\n nodeType:0,\r\n ruleList:[]\r\n }\r\n }\r\n\r\n if(!node.data.id){\r\n this.nodeMsg[node.data.key] = Object.assign(defaultObj,this.nodeMsg[node.data.key])\r\n }\r\n this.drawerObject = {\r\n show: true,\r\n component: this.data.moduleType === 0?'ProcessNodeConfig':'DynamicProcessNodeConfig',\r\n configData: this.nodeMsg[node.data.key],\r\n node: node,\r\n title:node.data.category === \"Approval\"?'审批节点配置':'操作节点'\r\n }\r\n }\r\n\r\n // 服务节点\r\n if(node.data.category === 'Service'){\r\n let defaultObj = {\r\n id:null,\r\n actionConfig:[{\r\n \"id\":null,\t //新增不传,修改传\r\n \"handleValue\":null,\t //具体的关于请求状态,url之类的json\r\n \"handleType\":null,\t//51:rest服务实现,52:消息系统\r\n \"extraMsg\":null\t//相关参数\r\n }]\r\n }\r\n if(!node.data.id){\r\n this.nodeMsg[node.data.key] = Object.assign(defaultObj,this.nodeMsg[node.data.key])\r\n }\r\n this.drawerObject = {\r\n show: true,\r\n component: 'ServiceNodeConfig',\r\n configData: this.nodeMsg[node.data.key],\r\n title:'服务节点配置'\r\n }\r\n }\r\n\r\n if(node.data.from !== undefined){\r\n if(this.nodeMsg[node.data.from].category === 'Service' && this.data.moduleType === 1){\r\n return\r\n }\r\n // 默认连线配置\r\n let defaultObj = {\r\n endNode:null,\r\n moduleId:null,\r\n name:null,\r\n ruleList:[],\r\n sources:null,\r\n startNode:null,\r\n status:null\r\n }\r\n if(!node.data.moduleId){\r\n this.pathMsg[node.data.key] = Object.assign(defaultObj,this.pathMsg[node.data.key])\r\n }\r\n\r\n let tableConfig = [{\r\n ID: this.nodeMsg[node.data.from].nodeFormId,\r\n value: this.nodeMsg[node.data.from].nodeForm\r\n }]\r\n\r\n if(this.nodeMsg[node.data.from].category === 'Start'){\r\n tableConfig = [{\r\n ID: this.nodeMsg[node.data.from].businessType,\r\n value: this.nodeMsg[node.data.from].businessTypeName\r\n }]\r\n }\r\n\r\n this.drawerObject = {\r\n show: true,\r\n component: 'linkInfo',\r\n configData: this.pathMsg[node.data.key],\r\n TABLE_ID: this.data.moduleType === 1?tableConfig:this.data.businessType,\r\n title:'连接线配置'\r\n }\r\n }\r\n },\r\n findNodesInto (node) { //查找父节点\r\n let parents = node.findNodesInto()\r\n\r\n if(parents.count > 0){\r\n node.findNodesInto().map(item => {\r\n this.rejectedNodes.push({\r\n value:item.data.key,\r\n label:item.data.text\r\n })\r\n this.findNodesInto(item)\r\n })\r\n }else{\r\n return\r\n }\r\n },\r\n findNodesOutOf (node) { //查找子节点\r\n let childrens = node.findNodesOutOf()\r\n\r\n if(childrens.count > 0){\r\n node.findNodesOutOf().map(item => {\r\n if(item.data.key != -2){\r\n this.assignedNodes.push({\r\n value:item.data.key,\r\n label:item.data.text\r\n })\r\n this.findNodesOutOf(item)\r\n }\r\n\r\n })\r\n }else{\r\n return\r\n }\r\n },\r\n SelectionDeleted (node) { //删除节点或者线\r\n\r\n if(node.fromPort !== undefined){ //线的删除\r\n delete this.pathMsg[node.key]\r\n if(node.id){ //已保存的线\r\n this.data.removePath.push(node.id)\r\n }\r\n }else{ //节点删除\r\n delete this.nodeMsg[node.key]\r\n if(node.id){\r\n this.data.removeNode.push({\r\n id:node.id,\r\n type:node.type\r\n })\r\n }\r\n }\r\n },\r\n LinkDrawn (node) { //连线生成\r\n if(!this.judgeLoop()){\r\n this.$Modal.fcWarning({\r\n title:'警告',\r\n content:'流程图中存在回路,请重新设置!!',\r\n mask:true\r\n })\r\n\r\n this.data.guiStyle = JSON.parse(this.myDesigner.getFlowData())\r\n let linkDataArray = this.data.guiStyle.linkDataArray\r\n linkDataArray = linkDataArray.filter(item => {\r\n return item.key !== node.key\r\n })\r\n\r\n this.data.guiStyle.linkDataArray = linkDataArray\r\n this.init()\r\n // reject()\r\n return\r\n }else{\r\n this.pathMsg[node.key] = node\r\n this.pathMsg[node.key].ruleList = []\r\n }\r\n\r\n },\r\n LinkRelinked (node) { //连线修改\r\n this.pathMsg[node.key].from = node.from\r\n this.pathMsg[node.key].to = node.to\r\n this.pathMsg[node.key].fromPort = node.fromPort\r\n this.pathMsg[node.key].toPort = node.toPort\r\n },\r\n judgeLoop () { //判断是否存在闭环 true为没有闭环 false有闭环\r\n // 获取所有的节点\r\n let data = JSON.parse(this.myDesigner.getFlowData())\r\n const edges = data.linkDataArray?data.linkDataArray:JSON.parse(data).linkDataArray;\r\n const nodes = [];\r\n const list = {}; // 邻接表\r\n const queue = []; // 入度为0的节点集合\r\n const indegree = {};\r\n edges.forEach(e => {\r\n const { from, to } = e;\r\n if (!nodes.includes(from)) {\r\n nodes.push(from);\r\n }\r\n if (!nodes.includes(to)) {\r\n nodes.push(to);\r\n }\r\n addEdge(from, to);\r\n });\r\n const V = nodes.length;\r\n\r\n nodes.forEach(node => {\r\n if (!indegree[node]) indegree[node] = 0;\r\n if (!list[node]) list[node] = [];\r\n });\r\n\r\n function addEdge(source, target) {\r\n if (!list[source]) list[source] = [];\r\n if (!indegree[target]) indegree[target] = 0;\r\n list[source].push(target);\r\n indegree[target] += 1;\r\n }\r\n function sort() {\r\n Object.keys(indegree).forEach(id => {\r\n if (indegree[id] === 0) {\r\n queue.push(id);\r\n }\r\n });\r\n let count = 0;\r\n while (queue.length) {\r\n ++count;\r\n const currentNode = queue.pop();\r\n const nodeTargets = list[currentNode];\r\n for (let i = 0; i < nodeTargets.length; i++) {\r\n const target = nodeTargets[i];\r\n indegree[target] -= 1;\r\n if (indegree[target] === 0) {\r\n queue.push(target);\r\n }\r\n }\r\n }\r\n // false 没有输出全部顶点,有向图中有回路\r\n return !(count < V);\r\n }\r\n\r\n return sort();\r\n },\r\n externalobjectsdropped (node) { //节点生成\r\n\r\n if(node.category === 'Service' || node.category === 'Subprocesses'){\r\n this.nodeMsg[node.key] = node\r\n this.nodeMsg[node.key].name = node.text\r\n return\r\n }\r\n this.nodeMsg[node.key] = node\r\n this.nodeMsg[node.key].ruleList = []\r\n this.nodeMsg[node.key].actServiceS =[\r\n {\r\n status:1,\r\n handleValue:null,\r\n handleType:11\r\n },\r\n {\r\n status:1,\r\n handleValue:null,\r\n handleType:20\r\n }\r\n ]\r\n this.nodeMsg[node.key].actionConfig =[]\r\n this.nodeMsg[node.key].approvelList = []\r\n this.nodeMsg[node.key].approverStyle = 0\r\n this.nodeMsg[node.key].name = node.text\r\n },\r\n closeDrawer () { //关闭策划块\r\n this.drawerObject = {\r\n show: false\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=scss\" >\r\n.FlowChartComponent{\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n display: flex;\r\n position: relative;\r\n flex-direction: column;\r\n\r\n .burgeon-alert{\r\n margin-bottom: 0;\r\n }\r\n\r\n .chartContent{\r\n flex: 1;\r\n display: flex;\r\n }\r\n\r\n #paletteDiv{\r\n padding: 5px;\r\n width: 160px;\r\n height: 100%;\r\n display: inline-block;\r\n border-right: 1px solid #dcdee2;\r\n }\r\n\r\n\r\n canvas{\r\n outline: none;\r\n }\r\n\r\n #goChart,#showChart{\r\n flex-grow: 1;\r\n flex: 1;\r\n // border: solid 1px black\r\n }\r\n}\r\n</style>\r\n"]}]}
|