13d76a85e8e153a55dfdc75d4c48ee28.json 65 KB

1
  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\\activiti\\TemplateManagementNew\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\views\\activiti\\TemplateManagementNew\\index.vue","mtime":1620609644503},{"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:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJFOi9ib21hbi1mcmFtd29yay9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQiKS5kZWZhdWx0OwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CgpyZXF1aXJlKCJyZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWUuanMiKTsKCnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmRlc2NyaXB0aW9uLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsbC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnJlZHVjZS5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zcGxpdC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyIpOwoKdmFyIF9hc3luY1RvR2VuZXJhdG9yMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiRTovYm9tYW4tZnJhbXdvcmsvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXN5bmNUb0dlbmVyYXRvciIpKTsKCnZhciBfb2JqZWN0U3ByZWFkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiRTovYm9tYW4tZnJhbXdvcmsvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkMiIpKTsKCnJlcXVpcmUoIkAvdXRpbHMvZ28iKTsKCnZhciBfdnVlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJ2dWUiKSk7Cgp2YXIgX1BhcmFtZXRlckNvbmZpZ3VyYXRpb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvY29tcG9uZW50cy9QYXJhbWV0ZXJDb25maWd1cmF0aW9uIikpOwoKdmFyIF9GbG93Q2hhcnRDb21wb25lbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvY29tcG9uZW50cy9GbG93Q2hhcnRDb21wb25lbnQiKSk7Cgp2YXIgX0Zsb3dTdWNjZXNzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJAL2NvbXBvbmVudHMvRmxvd1N1Y2Nlc3MiKSk7Cgp2YXIgX3Z1ZXggPSByZXF1aXJlKCJ2dWV4Iik7Cgp2YXIgX3RpbWVycyA9IHJlcXVpcmUoInRpbWVycyIpOwoKdmFyIF9tb2RlbGVyID0gcmVxdWlyZSgiQC9hcGkvbW9kZWxlci5qcyIpOwoKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KdmFyIF9kZWZhdWx0ID0gewogIG5hbWU6ICdUZW1wbGF0ZU1hbmFnZW1lbnROZXcnLAogIGNvbXBvbmVudHM6IHsKICAgIFBhcmFtZXRlckNvbmZpZ3VyYXRpb246IF9QYXJhbWV0ZXJDb25maWd1cmF0aW9uLmRlZmF1bHQsCiAgICBGbG93Q2hhcnRDb21wb25lbnQ6IF9GbG93Q2hhcnRDb21wb25lbnQuZGVmYXVsdCwKICAgIEZsb3dTdWNjZXNzOiBfRmxvd1N1Y2Nlc3MuZGVmYXVsdAogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGN1cnJlbnRTdGVwczogMCwKICAgICAgY3VycmVudENvbXBvbmVudDogbnVsbCwKICAgICAgaW1nQmFzZTogJycsCiAgICAgIGRlZmF1bHREYXRhOiB7CiAgICAgICAgZ3VpU3R5bGU6IEpTT04uc3RyaW5naWZ5KHsKICAgICAgICAgICJjbGFzcyI6ICJOZXdHcmFwaExpbmtzTW9kZWwiLAogICAgICAgICAgImxpbmtGcm9tUG9ydElkUHJvcGVydHkiOiAiZnJvbVBvcnQiLAogICAgICAgICAgImxpbmtUb1BvcnRJZFByb3BlcnR5IjogInRvUG9ydCIsCiAgICAgICAgICAibm9kZURhdGFBcnJheSI6IFt7CiAgICAgICAgICAgICJrZXkiOiAtMSwKICAgICAgICAgICAgImNhdGVnb3J5IjogIlN0YXJ0IiwKICAgICAgICAgICAgImxvYyI6ICIxNzUgMCIsCiAgICAgICAgICAgICJ0ZXh0IjogIuW8gOWniyIsCiAgICAgICAgICAgICJ0eXBlIjogMQogICAgICAgICAgfSwgewogICAgICAgICAgICAia2V5IjogMCwKICAgICAgICAgICAgImxvYyI6ICIxNzUgMTAwIiwKICAgICAgICAgICAgInRleHQiOiAi5a6h5om56IqC54K5IiwKICAgICAgICAgICAgInR5cGUiOiAwLAogICAgICAgICAgICAiY2F0ZWdvcnkiOiAnQXBwcm92YWwnCiAgICAgICAgICB9LCB7CiAgICAgICAgICAgICJrZXkiOiAtMiwKICAgICAgICAgICAgImNhdGVnb3J5IjogIkVuZCIsCiAgICAgICAgICAgICJsb2MiOiAiMTc1IDIwMCIsCiAgICAgICAgICAgICJ0ZXh0IjogIue7k+adnyIsCiAgICAgICAgICAgICJ0eXBlIjogMgogICAgICAgICAgfV0sCiAgICAgICAgICAibGlua0RhdGFBcnJheSI6IFt7CiAgICAgICAgICAgICJmcm9tIjogLTEsCiAgICAgICAgICAgICJ0byI6IDAsCiAgICAgICAgICAgICJmcm9tUG9ydCI6ICJCIiwKICAgICAgICAgICAgInRvUG9ydCI6ICJUIiwKICAgICAgICAgICAgImtleSI6IDAKICAgICAgICAgIH0sIHsKICAgICAgICAgICAgImZyb20iOiAwLAogICAgICAgICAgICAidG8iOiAtMiwKICAgICAgICAgICAgImZyb21Qb3J0IjogIkIiLAogICAgICAgICAgICAidG9Qb3J0IjogIlQiLAogICAgICAgICAgICAia2V5IjogMQogICAgICAgICAgfV0KICAgICAgICB9KSwKICAgICAgICBub2RlTXNnOiBbewogICAgICAgICAgImtleSI6IC0xLAogICAgICAgICAgImNhdGVnb3J5IjogIlN0YXJ0IiwKICAgICAgICAgICJsb2MiOiAiMTc1IDAiLAogICAgICAgICAgInRleHQiOiAi5byA5aeLIiwKICAgICAgICAgICJuYW1lIjogIuW8gOWniyIsCiAgICAgICAgICAidHlwZSI6IDEsCiAgICAgICAgICAicnVsZUxpc3QiOiBbXQogICAgICAgIH0sIHsKICAgICAgICAgICJrZXkiOiAwLAogICAgICAgICAgImxvYyI6ICIxNzUgMTAwIiwKICAgICAgICAgICJ0ZXh0IjogIuWuoeaJueiKgueCuSIsCiAgICAgICAgICAibmFtZSI6ICLlrqHmibnoioLngrkiLAogICAgICAgICAgImNhdGVnb3J5IjogJ0FwcHJvdmFsJywKICAgICAgICAgICJ0eXBlIjogMCwKICAgICAgICAgICJydWxlTGlzdCI6IFtdLAogICAgICAgICAgImFjdFNlcnZpY2VTIjogW10sCiAgICAgICAgICAiYWN0aW9uQ29uZmlnIjogW10sCiAgICAgICAgICAiYXBwcm92ZWxMaXN0IjogW10sCiAgICAgICAgICAiYXBwcm92ZXJTdHlsZSI6IDAKICAgICAgICB9LCB7CiAgICAgICAgICAia2V5IjogLTIsCiAgICAgICAgICAiY2F0ZWdvcnkiOiAiRW5kIiwKICAgICAgICAgICJsb2MiOiAiMTc1IDIwMCIsCiAgICAgICAgICAidGV4dCI6ICLnu5PmnZ8iLAogICAgICAgICAgIm5hbWUiOiAi57uT5p2fIiwKICAgICAgICAgICJ0eXBlIjogMiwKICAgICAgICAgICJhY3Rpb25Db25maWciOiBbewogICAgICAgICAgICBoYW5kbGVWYWx1ZTogbnVsbCwKICAgICAgICAgICAgZXh0cmFfbXNnOiB7fSwKICAgICAgICAgICAgaGFuZGxlVHlwZTogMzEKICAgICAgICAgIH0sIHsKICAgICAgICAgICAgaGFuZGxlVmFsdWU6ICd7fScsCiAgICAgICAgICAgIGV4dHJhX21zZzoge30sCiAgICAgICAgICAgIGhhbmRsZVR5cGU6IDQxCiAgICAgICAgICB9XQogICAgICAgIH1dLAogICAgICAgIHBhdGhNc2c6IFt7CiAgICAgICAgICAiZnJvbSI6IC0xLAogICAgICAgICAgInRvIjogMCwKICAgICAgICAgICJmcm9tUG9ydCI6ICJCIiwKICAgICAgICAgICJ0b1BvcnQiOiAiVCIsCiAgICAgICAgICAicnVsZUxpc3QiOiBbXSwKICAgICAgICAgICJrZXkiOiAwCiAgICAgICAgfSwgewogICAgICAgICAgImZyb20iOiAwLAogICAgICAgICAgInRvIjogLTIsCiAgICAgICAgICAiZnJvbVBvcnQiOiAiQiIsCiAgICAgICAgICAidG9Qb3J0IjogIlQiLAogICAgICAgICAgInJ1bGVMaXN0IjogW10sCiAgICAgICAgICAia2V5IjogMQogICAgICAgIH1dLAogICAgICAgIHJlbW92ZU5vZGU6IFtdLAogICAgICAgIHJlbW92ZVBhdGg6IFtdCiAgICAgIH0sCiAgICAgIGRhdGE6IHsKICAgICAgICBndWlTdHlsZTogSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgImNsYXNzIjogIk5ld0dyYXBoTGlua3NNb2RlbCIsCiAgICAgICAgICAibGlua0Zyb21Qb3J0SWRQcm9wZXJ0eSI6ICJmcm9tUG9ydCIsCiAgICAgICAgICAibGlua1RvUG9ydElkUHJvcGVydHkiOiAidG9Qb3J0IiwKICAgICAgICAgICJub2RlRGF0YUFycmF5IjogW3sKICAgICAgICAgICAgImtleSI6IC0xLAogICAgICAgICAgICAiY2F0ZWdvcnkiOiAiU3RhcnQiLAogICAgICAgICAgICAibG9jIjogIjE3NSAwIiwKICAgICAgICAgICAgInRleHQiOiAi5byA5aeLIiwKICAgICAgICAgICAgInR5cGUiOiAxCiAgICAgICAgICB9LCB7CiAgICAgICAgICAgICJrZXkiOiAwLAogICAgICAgICAgICAibG9jIjogIjE3NSAxMDAiLAogICAgICAgICAgICAidGV4dCI6ICLlrqHmibnoioLngrkiLAogICAgICAgICAgICAidHlwZSI6IDAsCiAgICAgICAgICAgICJjYXRlZ29yeSI6ICdBcHByb3ZhbCcKICAgICAgICAgIH0sIHsKICAgICAgICAgICAgImtleSI6IC0yLAogICAgICAgICAgICAiY2F0ZWdvcnkiOiAiRW5kIiwKICAgICAgICAgICAgImxvYyI6ICIxNzUgMjAwIiwKICAgICAgICAgICAgInRleHQiOiAi57uT5p2fIiwKICAgICAgICAgICAgInR5cGUiOiAyCiAgICAgICAgICB9XSwKICAgICAgICAgICJsaW5rRGF0YUFycmF5IjogW3sKICAgICAgICAgICAgImZyb20iOiAtMSwKICAgICAgICAgICAgInRvIjogMCwKICAgICAgICAgICAgImZyb21Qb3J0IjogIkIiLAogICAgICAgICAgICAidG9Qb3J0IjogIlQiLAogICAgICAgICAgICAia2V5IjogMAogICAgICAgICAgfSwgewogICAgICAgICAgICAiZnJvbSI6IDAsCiAgICAgICAgICAgICJ0byI6IC0yLAogICAgICAgICAgICAiZnJvbVBvcnQiOiAiQiIsCiAgICAgICAgICAgICJ0b1BvcnQiOiAiVCIsCiAgICAgICAgICAgICJrZXkiOiAxCiAgICAgICAgICB9XQogICAgICAgIH0pLAogICAgICAgIG5vZGVNc2c6IFt7CiAgICAgICAgICAia2V5IjogLTEsCiAgICAgICAgICAiY2F0ZWdvcnkiOiAiU3RhcnQiLAogICAgICAgICAgImxvYyI6ICIxNzUgMCIsCiAgICAgICAgICAidGV4dCI6ICLlvIDlp4siLAogICAgICAgICAgIm5hbWUiOiAi5byA5aeLIiwKICAgICAgICAgICJ0eXBlIjogMSwKICAgICAgICAgICJydWxlTGlzdCI6IFtdCiAgICAgICAgfSwgewogICAgICAgICAgImtleSI6IDAsCiAgICAgICAgICAibG9jIjogIjE3NSAxMDAiLAogICAgICAgICAgInRleHQiOiAi5a6h5om56IqC54K5IiwKICAgICAgICAgICJuYW1lIjogIuWuoeaJueiKgueCuSIsCiAgICAgICAgICAiY2F0ZWdvcnkiOiAnQXBwcm92YWwnLAogICAgICAgICAgInR5cGUiOiAwLAogICAgICAgICAgInJ1bGVMaXN0IjogW10sCiAgICAgICAgICAiYWN0U2VydmljZVMiOiBbXSwKICAgICAgICAgICJhY3Rpb25Db25maWciOiBbXSwKICAgICAgICAgICJhcHByb3ZlbExpc3QiOiBbXSwKICAgICAgICAgICJhcHByb3ZlclN0eWxlIjogMAogICAgICAgIH0sIHsKICAgICAgICAgICJrZXkiOiAtMiwKICAgICAgICAgICJjYXRlZ29yeSI6ICJFbmQiLAogICAgICAgICAgImxvYyI6ICIxNzUgMjAwIiwKICAgICAgICAgICJ0ZXh0IjogIue7k+adnyIsCiAgICAgICAgICAibmFtZSI6ICLnu5PmnZ8iLAogICAgICAgICAgInR5cGUiOiAyLAogICAgICAgICAgImFjdGlvbkNvbmZpZyI6IFt7CiAgICAgICAgICAgIGhhbmRsZVZhbHVlOiBudWxsLAogICAgICAgICAgICBleHRyYV9tc2c6IHt9LAogICAgICAgICAgICBoYW5kbGVUeXBlOiAzMQogICAgICAgICAgfSwgewogICAgICAgICAgICBoYW5kbGVWYWx1ZTogJ3t9JywKICAgICAgICAgICAgZXh0cmFfbXNnOiB7fSwKICAgICAgICAgICAgaGFuZGxlVHlwZTogNDEKICAgICAgICAgIH1dCiAgICAgICAgfV0sCiAgICAgICAgcGF0aE1zZzogW3sKICAgICAgICAgICJmcm9tIjogLTEsCiAgICAgICAgICAidG8iOiAwLAogICAgICAgICAgImZyb21Qb3J0IjogIkIiLAogICAgICAgICAgInRvUG9ydCI6ICJUIiwKICAgICAgICAgICJydWxlTGlzdCI6IFtdLAogICAgICAgICAgImtleSI6IDAKICAgICAgICB9LCB7CiAgICAgICAgICAiZnJvbSI6IDAsCiAgICAgICAgICAidG8iOiAtMiwKICAgICAgICAgICJmcm9tUG9ydCI6ICJCIiwKICAgICAgICAgICJ0b1BvcnQiOiAiVCIsCiAgICAgICAgICAicnVsZUxpc3QiOiBbXSwKICAgICAgICAgICJrZXkiOiAxCiAgICAgICAgfV0sCiAgICAgICAgcmVtb3ZlTm9kZTogW10sCiAgICAgICAgcmVtb3ZlUGF0aDogW10sCiAgICAgICAgYXV0b0Nsb3NlOiB0cnVlLAogICAgICAgIG1vZHVsZVR5cGU6IDAKICAgICAgfSwKICAgICAgbm9GcmVzaEZsYWc6IGZhbHNlLAogICAgICByZWFkT25seTogZmFsc2UsCiAgICAgIC8v5piv5ZCm5Y+q6K+75Li66aKE6KeI5qih5byPCiAgICAgIC8v5a2Y5pS+5LiJ5q2l6aqk55qE5pWw5o2uCiAgICAgIGRlZmF1bHRNb2R1bGVUeXBlOiBudWxsIC8v5pqC5a2Y5qih54mI57G75Z6LCgogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICBjdXJyZW50U3RlcHM6IGZ1bmN0aW9uIGN1cnJlbnRTdGVwcyh2YWwpIHsKICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBjb21wb25lbnROYW1lID0gImNvbXBvbmVudF8iLmNvbmNhdCh2YWwpOwoKICAgICAgaWYgKF92dWUuZGVmYXVsdC5jb21wb25lbnQoY29tcG9uZW50TmFtZSkgPT09IHVuZGVmaW5lZCkgewogICAgICAgIGlmICh2YWwgPT09IDApIHsKICAgICAgICAgIF92dWUuZGVmYXVsdC5jb21wb25lbnQoY29tcG9uZW50TmFtZSwgX1BhcmFtZXRlckNvbmZpZ3VyYXRpb24uZGVmYXVsdCk7CiAgICAgICAgfSBlbHNlIGlmICh2YWwgPT09IDEpIHsKICAgICAgICAgIF92dWUuZGVmYXVsdC5jb21wb25lbnQoY29tcG9uZW50TmFtZSwgX0Zsb3dDaGFydENvbXBvbmVudC5kZWZhdWx0KTsKICAgICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gMikgewogICAgICAgICAgX3Z1ZS5kZWZhdWx0LmNvbXBvbmVudChjb21wb25lbnROYW1lLCBfRmxvd1N1Y2Nlc3MuZGVmYXVsdCk7CiAgICAgICAgfQogICAgICB9CgogICAgICB0aGlzLmN1cnJlbnRDb21wb25lbnQgPSBjb21wb25lbnROYW1lOwogICAgfQogIH0sCiAgbWV0aG9kczogKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKCgwLCBfb2JqZWN0U3ByZWFkMi5kZWZhdWx0KSh7fSwgKDAsIF92dWV4Lm1hcE11dGF0aW9ucykoWydjdXJyZW50Q2hhbmdlJ10pKSwge30sIHsKICAgIGdldE1vZHVsZUluZm86IGZ1bmN0aW9uIGdldE1vZHVsZUluZm8oaWQpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgICgwLCBfbW9kZWxlci5nZXRMb2FkKSh7CiAgICAgICAgaWQ6IGlkCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMucmVzdWx0Q29kZSA9PT0gMCkgewogICAgICAgICAgcmVzLmRhdGEuYnVzaW5lc3NUeXBlID0gW3sKICAgICAgICAgICAgSUQ6IHJlcy5kYXRhLmJ1c2luZXNzVHlwZSwKICAgICAgICAgICAgTGFiZWw6IHJlcy5kYXRhLmJ1c2luZXNzVHlwZU5hbWUsCiAgICAgICAgICAgIHZhbDogcmVzLmRhdGEuYnVzaW5lc3NUeXBlVGV4dAogICAgICAgICAgfV07CiAgICAgICAgICByZXMuZGF0YS5idXNpbmVzc051bWJlciA9IFt7CiAgICAgICAgICAgIElEOiBTdHJpbmcocmVzLmRhdGEuYnVzaW5lc3NLZXlJZCksCiAgICAgICAgICAgIExhYmVsOiByZXMuZGF0YS5idXNpbmVzc0tleSwKICAgICAgICAgICAgdmFsOiByZXMuZGF0YS5idXNpbmVzc0tleU5hbWUKICAgICAgICAgIH1dOwogICAgICAgICAgX3RoaXMuZGF0YSA9IHJlcy5kYXRhOwogICAgICAgICAgX3RoaXMuZGF0YS5ndWlTdHlsZSA9IEpTT04ucGFyc2UocmVzLmRhdGEuZ3VpU3R5bGUpOwogICAgICAgICAgX3RoaXMuZGF0YS5tb2R1bGVJZCA9IHJlcy5kYXRhLmlkOwoKICAgICAgICAgIF90aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmIChfdGhpcy5yZWFkT25seSkgewogICAgICAgICAgICAgIF90aGlzLmN1cnJlbnRTdGVwcyA9IDI7CiAgICAgICAgICAgICAgX3RoaXMubm9GcmVzaEZsYWcgPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBfdGhpcy4kcmVmcy5jb21wb25lbnRfMS5pbml0KCk7CgogICAgICAgICAgICAgIF90aGlzLm5vRnJlc2hGbGFnID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgbmV4dFN0ZXBzOiBmdW5jdGlvbiBuZXh0U3RlcHMoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgcmV0dXJuICgwLCBfYXN5bmNUb0dlbmVyYXRvcjIuZGVmYXVsdCkoIC8qI19fUFVSRV9fKi9yZWdlbmVyYXRvclJ1bnRpbWUubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgICAgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAyOwogICAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMi5jaGVja01vZHVsZU5hbWUoKTsKCiAgICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgaWYgKCFfY29udGV4dC5zZW50KSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA0OwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYWJydXB0KCJyZXR1cm4iLCBmYWxzZSk7CgogICAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICAgIGlmICghKF90aGlzMi5jdXJyZW50U3RlcHMgPT09IDAgJiYgX3RoaXMyLmRlZmF1bHRNb2R1bGVUeXBlICE9IF90aGlzMi5kYXRhLm1vZHVsZVR5cGUgJiYgX3RoaXMyLmRlZmF1bHRNb2R1bGVUeXBlICE9PSBudWxsKSkgewogICAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNzsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgX3RoaXMyLiRNb2RhbC5mY1dhcm5pbmcoewogICAgICAgICAgICAgICAgICB0aXRsZTogJ+itpuWRiicsCiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfmgqjlt7Lkv67mlLnmqKHmnb/nsbvlnosv5Y2V5o2u57G75Z6L77yM6L+Z5bCG5a+86Ie05LiL5LiA5q2l55qE5rWB56iL6K6+6K6h5Zmo5YaF5omA5pyJ6K6+572u5oGi5aSN5Yid5aeL5YyW77yM5piv5ZCm56Gu5a6a5pu05pS5PycsCiAgICAgICAgICAgICAgICAgIHNob3dDYW5jZWw6IHRydWUsCiAgICAgICAgICAgICAgICAgIG1hc2s6IHRydWUsCiAgICAgICAgICAgICAgICAgIG9uT2s6IGZ1bmN0aW9uIG9uT2soKSB7CiAgICAgICAgICAgICAgICAgICAgX3RoaXMyLmRlZmF1bHRNb2R1bGVUeXBlID0gX3RoaXMyLmRhdGEubW9kdWxlVHlwZTsKICAgICAgICAgICAgICAgICAgICBfdGhpczIuZGF0YSA9IE9iamVjdC5hc3NpZ24oX3RoaXMyLmRhdGEsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoX3RoaXMyLmRlZmF1bHREYXRhKSkpOwoKICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXMyLmRhdGEuYnVzaW5lc3NUeXBlICYmIF90aGlzMi5kYXRhLmJ1c2luZXNzVHlwZS5sZW5ndGggPiAwICYmIF90aGlzMi5kYXRhLm5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgIF90aGlzMi5kZWZhdWx0TW9kdWxlVHlwZSA9IF90aGlzMi5kYXRhLm1vZHVsZVR5cGU7CiAgICAgICAgICAgICAgICAgICAgICArK190aGlzMi5jdXJyZW50U3RlcHM7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgIF90aGlzMi4kTW9kYWwuZmNXYXJuaW5nKHsKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICforablkYonLAogICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAn6K+35aGr5YaZ5b+F5aGr6aG5IScsCiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2s6IHRydWUKICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgb25DYW5jZWw6IGZ1bmN0aW9uIG9uQ2FuY2VsKCkge30KICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5hYnJ1cHQoInJldHVybiIpOwoKICAgICAgICAgICAgICBjYXNlIDc6CiAgICAgICAgICAgICAgICBpZiAoX3RoaXMyLmRhdGEubmFtZSAmJiAoX3RoaXMyLmRhdGEubW9kdWxlVHlwZSA9PT0gMCA/IF90aGlzMi5kYXRhLmJ1c2luZXNzVHlwZSAmJiBfdGhpczIuZGF0YS5idXNpbmVzc1R5cGUubGVuZ3RoID4gMCA6IHRydWUpKSB7CiAgICAgICAgICAgICAgICAgIF90aGlzMi5kZWZhdWx0TW9kdWxlVHlwZSA9IF90aGlzMi5kYXRhLm1vZHVsZVR5cGU7CiAgICAgICAgICAgICAgICAgICsrX3RoaXMyLmN1cnJlbnRTdGVwczsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIF90aGlzMi4kTW9kYWwuZmNXYXJuaW5nKHsKICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+itpuWRiicsCiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ+ivt+Whq+WGmeW/heWhq+mhuSEnLAogICAgICAgICAgICAgICAgICAgIG1hc2s6IHRydWUKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LnN0b3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBjaGVja01vZHVsZU5hbWU6IGZ1bmN0aW9uIGNoZWNrTW9kdWxlTmFtZSgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CgogICAgICByZXR1cm4gKDAsIF9hc3luY1RvR2VuZXJhdG9yMi5kZWZhdWx0KSggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDI7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgICAgICB2YXIganNvbk9iamVjdCA9IHsKICAgICAgICAgICAgICAgICAgICBJRDogX3RoaXMzLmRhdGEubW9kdWxlSWQsCiAgICAgICAgICAgICAgICAgICAgTkFNRTogX3RoaXMzLmRhdGEubmFtZQogICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAoMCwgX21vZGVsZXIuZ2V0RHVwbGljYXRlKShqc29uT2JqZWN0KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICAgICAgICBpZiAocmVzLnJlc3VsdENvZGUgIT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgIF90aGlzMy4kTW9kYWwuZmNXYXJuaW5nKHsKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICforablkYonLAogICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiByZXMucmVzdWx0TXNnLAogICAgICAgICAgICAgICAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICByZWplY3QoKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzKTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUyKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgcHJldmlvdXNTdGVwczogZnVuY3Rpb24gcHJldmlvdXNTdGVwcygpIHsKICAgICAgLy/kuIrkuIDmraUKICAgICAgLS10aGlzLmN1cnJlbnRTdGVwczsKICAgIH0sCiAgICBjb25maXJtOiBmdW5jdGlvbiBjb25maXJtKGZsYWcpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICByZXR1cm4gKDAsIF9hc3luY1RvR2VuZXJhdG9yMi5kZWZhdWx0KSggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUzKCkgewogICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlMyQoX2NvbnRleHQzKSB7CiAgICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICBzd2l0Y2ggKF9jb250ZXh0My5wcmV2ID0gX2NvbnRleHQzLm5leHQpIHsKICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDI7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgICAgICB2YXIgc3ZnID0gX3RoaXM0LmRhdGEubXlEaXNwbGF5Lm1ha2VJbWFnZSh7CiAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDIKICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICBfdGhpczQuaW1nQmFzZSA9IHN2Zy5nZXRBdHRyaWJ1dGUoJ3NyYycpOwogICAgICAgICAgICAgICAgICB2YXIgbm9kZU1zZyA9IFtdOwogICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhfdGhpczQuZGF0YS5ub2RlTXNnKS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICBub2RlTXNnLnB1c2goX3RoaXM0LmRhdGEubm9kZU1zZ1tpdGVtXSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICB2YXIgcGF0aE1zZyA9IFtdOwogICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhfdGhpczQuZGF0YS5wYXRoTXNnKS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICBwYXRoTXNnLnB1c2goX3RoaXM0LmRhdGEucGF0aE1zZ1tpdGVtXSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICB2YXIganNvbk9iamVjdCA9IHsKICAgICAgICAgICAgICAgICAgICBpZDogX3RoaXM0LmRhdGEubW9kdWxlSWQsCiAgICAgICAgICAgICAgICAgICAgbmFtZTogX3RoaXM0LmRhdGEubmFtZSwKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogX3RoaXM0LmRhdGEuZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAgICAgR1VJX1NUWUxFOiBfdGhpczQuZGF0YS5ndWlTdHlsZSwKICAgICAgICAgICAgICAgICAgICB1cmw6IHN2Zy5nZXRBdHRyaWJ1dGUoJ3NyYycpLAogICAgICAgICAgICAgICAgICAgIG1vZHVsZVR5cGU6IF90aGlzNC5kYXRhLm1vZHVsZVR5cGUsCiAgICAgICAgICAgICAgICAgICAgQlVTSU5FU1NfVFlQRTogX3RoaXM0LmRhdGEuYnVzaW5lc3NUeXBlID8gX3RoaXM0LmRhdGEuYnVzaW5lc3NUeXBlWzBdLklEIDogbnVsbCwKICAgICAgICAgICAgICAgICAgICBCVVNJTkVTU19UWVBFX05BTUU6IF90aGlzNC5kYXRhLmJ1c2luZXNzVHlwZSA/IF90aGlzNC5kYXRhLmJ1c2luZXNzVHlwZVswXS5MYWJlbCA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NUeXBlVGV4dDogX3RoaXM0LmRhdGEuYnVzaW5lc3NUeXBlID8gX3RoaXM0LmRhdGEuYnVzaW5lc3NUeXBlWzBdLnZhbCA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NLZXlJZDogX3RoaXM0LmRhdGEuYnVzaW5lc3NOdW1iZXIgJiYgX3RoaXM0LmRhdGEuYnVzaW5lc3NOdW1iZXIubGVuZ3RoID4gMCA/IF90aGlzNC5kYXRhLmJ1c2luZXNzTnVtYmVyWzBdLklEIDogbnVsbCwKICAgICAgICAgICAgICAgICAgICBidXNpbmVzc0tleTogX3RoaXM0LmRhdGEuYnVzaW5lc3NOdW1iZXIgJiYgX3RoaXM0LmRhdGEuYnVzaW5lc3NOdW1iZXIubGVuZ3RoID4gMCA/IF90aGlzNC5kYXRhLmJ1c2luZXNzTnVtYmVyWzBdLkxhYmVsIDogbnVsbCwKICAgICAgICAgICAgICAgICAgICBidXNpbmVzc0tleU5hbWU6IF90aGlzNC5kYXRhLmJ1c2luZXNzTnVtYmVyICYmIF90aGlzNC5kYXRhLmJ1c2luZXNzTnVtYmVyLmxlbmd0aCA+IDAgPyBfdGhpczQuZGF0YS5idXNpbmVzc051bWJlclswXS52YWwgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGF1dG9DbG9zZTogX3RoaXM0LmRhdGEuYXV0b0Nsb3NlLAogICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzQ2hlY2tVcmw6IF90aGlzNC5kYXRhLmJ1c2luZXNzQ2hlY2tVcmwsCiAgICAgICAgICAgICAgICAgICAgbm9kZU1zZzogbm9kZU1zZywKICAgICAgICAgICAgICAgICAgICBwYXRoTXNnOiBwYXRoTXNnLAogICAgICAgICAgICAgICAgICAgIHJlbW92ZU5vZGU6IF90aGlzNC5kYXRhLnJlbW92ZU5vZGUsCiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlUGF0aDogX3RoaXM0LmRhdGEucmVtb3ZlUGF0aAogICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAoMCwgX21vZGVsZXIuZ2V0Q29tbWl0KShqc29uT2JqZWN0KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEucmVzdWx0Q29kZSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5kYXRhID0gewogICAgICAgICAgICAgICAgICAgICAgLy8gICBndWlTdHlsZTp7CiAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgImNsYXNzIjogImdvLkdyYXBoTGlua3NNb2RlbCIsCiAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgImxpbmtGcm9tUG9ydElkUHJvcGVydHkiOiAiZnJvbVBvcnQiLAogICAgICAgICAgICAgICAgICAgICAgLy8gICAgICJsaW5rVG9Qb3J0SWRQcm9wZXJ0eSI6ICJ0b1BvcnQiLAogICAgICAgICAgICAgICAgICAgICAgLy8gICAgICJub2RlRGF0YUFycmF5IjogW10sCiAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgImxpbmtEYXRhQXJyYXkiOiBbXQogICAgICAgICAgICAgICAgICAgICAgLy8gICB9CiAgICAgICAgICAgICAgICAgICAgICAvLyB9CiAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZsYWcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmZsYWcgPSB0cnVlOwoKICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXM0LiRyb3V0ZXIucHVzaCgnL1RlbXBsYXRlTWFuYWdlbWVudExpc3RzJyk7CgogICAgICAgICAgICAgICAgICAgICAgICBfdGhpczQuY3VycmVudENoYW5nZSh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJy9UZW1wbGF0ZU1hbmFnZW1lbnRMaXN0cycKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5hYnJ1cHQoInJldHVybiIsIF9jb250ZXh0My5zZW50KTsKCiAgICAgICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLnN0b3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUzKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgZm9ybWF0R3VpU3R5bGU6IGZ1bmN0aW9uIGZvcm1hdEd1aVN0eWxlKCkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKCiAgICAgIHJldHVybiAoMCwgX2FzeW5jVG9HZW5lcmF0b3IyLmRlZmF1bHQpKCAvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTQoKSB7CiAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWU0JChfY29udGV4dDQpIHsKICAgICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICAgIHN3aXRjaCAoX2NvbnRleHQ0LnByZXYgPSBfY29udGV4dDQubmV4dCkgewogICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgIF9jb250ZXh0NC5uZXh0ID0gMjsKICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgewogICAgICAgICAgICAgICAgICB2YXIgc3RhcnROb2RlID0ge307IC8v6I635Y+W5byA5aeL6IqC54K5CgogICAgICAgICAgICAgICAgICBfdGhpczUuZGF0YS5ndWlTdHlsZS5ub2RlRGF0YUFycmF5Lm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmtleSA9PT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0Tm9kZSA9IGl0ZW07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgIHZhciBzdGFydGxpbmsgPSB7fTsgLy/ojrflj5bnrKzkuIDmoLnnur/nmoTmlbDmja4KCiAgICAgICAgICAgICAgICAgIF90aGlzNS5kYXRhLmd1aVN0eWxlLmxpbmtEYXRhQXJyYXkubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uZnJvbSA9PT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0bGluayA9IGl0ZW07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9KTsgLy/ojrflj5bov57nur/nmoTmraPnoa7mjpLluo8KCgogICAgICAgICAgICAgICAgICB2YXIgbGlua01hcCA9IFtdOwogICAgICAgICAgICAgICAgICBuZXcgQXJyYXkoX3RoaXM1LmRhdGEuZ3VpU3R5bGUubGlua0RhdGFBcnJheS5sZW5ndGgpLmZpbGwobnVsbCkubWFwKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBfdGhpczUuZGF0YS5ndWlTdHlsZS5saW5rRGF0YUFycmF5Lm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgICAgICAgaWYgKGxpbmtNYXAubGVuZ3RoID09PSAwICYmIGl0ZW0uZnJvbSA9PT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGlua01hcC5wdXNoKGl0ZW0pOwogICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rTWFwLmxlbmd0aCA+IDAgJiYgaXRlbS5mcm9tID09PSBsaW5rTWFwW2xpbmtNYXAubGVuZ3RoIC0gMV0udG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGlua01hcC5wdXNoKGl0ZW0pOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgX3RoaXM1LmRhdGEuZ3VpU3R5bGUubGlua0RhdGFBcnJheSA9IGxpbmtNYXA7IC8v6I635Y+W6IqC54K555qE5q2j56Gu6aG65bqPCiAgICAgICAgICAgICAgICAgIC8vIGxldCBub2RlTWFwID0gW3N0YXJ0Tm9kZV0KCiAgICAgICAgICAgICAgICAgIF90aGlzNS5kYXRhLmd1aVN0eWxlLm5vZGVEYXRhQXJyYXkgPSBfdGhpczUuZGF0YS5ndWlTdHlsZS5saW5rRGF0YUFycmF5LnJlZHVjZShmdW5jdGlvbiAoc3VtLCBpdGVtKSB7CiAgICAgICAgICAgICAgICAgICAgc3VtLnB1c2goX3RoaXM1LmRhdGEuRGlhZ3JhbS5tb2RlbC5maW5kTm9kZURhdGFGb3JLZXkoaXRlbS50bykpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBzdW07CiAgICAgICAgICAgICAgICAgIH0sIFtzdGFydE5vZGVdKTsgLy/lsIbmiYDmnInoioLngrnnmoR46L205LiO5byA5aeL6IqC54K55a+56b2QCgogICAgICAgICAgICAgICAgICBfdGhpczUuZGF0YS5ndWlTdHlsZS5ub2RlRGF0YUFycmF5Lm1hcChmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbG9jID0gaXRlbS5sb2Muc3BsaXQoJyAnKTsKICAgICAgICAgICAgICAgICAgICBsb2NbMF0gPSBzdGFydE5vZGUubG9jLnNwbGl0KCcgJylbMF07CiAgICAgICAgICAgICAgICAgICAgbG9jWzFdID0gTnVtYmVyKHN0YXJ0Tm9kZS5sb2Muc3BsaXQoJyAnKVsxXSkgKyBpbmRleCAqIDgwOwogICAgICAgICAgICAgICAgICAgIGl0ZW0ubG9jID0gbG9jLmpvaW4oJyAnKTsKICAgICAgICAgICAgICAgICAgfSk7IC8v5bCG5omA5pyJ6L+e57q/55qEeOi9tOS4juW8gOWni+iKgueCueWvuem9kAoKCiAgICAgICAgICAgICAgICAgIF90aGlzNS5kYXRhLmd1aVN0eWxlLmxpbmtEYXRhQXJyYXkubWFwKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgICAgICAgICAgICAgIGl0ZW0ucG9pbnRzLmoubWFwKGZ1bmN0aW9uICh0ZW1wKSB7CiAgICAgICAgICAgICAgICAgICAgICB0ZW1wLkYgPSBzdGFydGxpbmsucG9pbnRzLmpbMF0uRjsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBpdGVtLnBvaW50cy5qLm1hcChmdW5jdGlvbiAodGVtcCwgaikgewogICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChqICE9PSBpdGVtLnBvaW50cy5qLmxlbmd0aCAtIDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wLkcgPSBOdW1iZXIoX3RoaXM1LmRhdGEuZ3VpU3R5bGUubm9kZURhdGFBcnJheVtpbmRleF0ubG9jLnNwbGl0KCcgJylbMV0pICsgMjA7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcC5HID0gTnVtYmVyKF90aGlzNS5kYXRhLmd1aVN0eWxlLm5vZGVEYXRhQXJyYXlbaW5kZXggKyAxXS5sb2Muc3BsaXQoJyAnKVsxXSkgLSAyMDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PT0gX3RoaXM1LmRhdGEuZ3VpU3R5bGUubGlua0RhdGFBcnJheS5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChqICE9PSBpdGVtLnBvaW50cy5qLmxlbmd0aCAtIDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wLkcgPSBOdW1iZXIoX3RoaXM1LmRhdGEuZ3VpU3R5bGUubm9kZURhdGFBcnJheVtpbmRleF0ubG9jLnNwbGl0KCcgJylbMV0pICsgMjA7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcC5HID0gTnVtYmVyKF90aGlzNS5kYXRhLmd1aVN0eWxlLm5vZGVEYXRhQXJyYXlbaW5kZXggKyAxXS5sb2Muc3BsaXQoJyAnKVsxXSkgLSAyMDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGogIT09IGl0ZW0ucG9pbnRzLmoubGVuZ3RoIC0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAuRyA9IE51bWJlcihfdGhpczUuZGF0YS5ndWlTdHlsZS5ub2RlRGF0YUFycmF5W2luZGV4XS5sb2Muc3BsaXQoJyAnKVsxXSkgKyAyMDsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wLkcgPSBOdW1iZXIoX3RoaXM1LmRhdGEuZ3VpU3R5bGUubm9kZURhdGFBcnJheVtpbmRleCArIDFdLmxvYy5zcGxpdCgnICcpWzFdKSAtIDIwOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgX3RoaXM1LmRhdGEuRGlhZ3JhbS5tb2RlbCA9IGdvLk1vZGVsLmZyb21Kc29uKF90aGlzNS5kYXRhLmd1aVN0eWxlKTsKICAgICAgICAgICAgICAgICAgKDAsIF90aW1lcnMuc2V0VGltZW91dCkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICAgICAgICAgICAgfSwgMTAwKTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDQuc3RvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTQpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBkYXRhQ2hhbmdlOiBmdW5jdGlvbiBkYXRhQ2hhbmdlKGRhdGEpIHsKICAgICAgLy/mr4/kuIDmraXkuK3nmoTmlbDmja7lj5jljJYKICAgICAgdGhpcy5kYXRhID0gT2JqZWN0LmFzc2lnbih0aGlzLmRhdGEsIGRhdGEpOwogICAgfSwKICAgIGNsb3NlOiBmdW5jdGlvbiBjbG9zZSgpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goJy9UZW1wbGF0ZU1hbmFnZW1lbnRMaXN0cycpOwogICAgICB0aGlzLmN1cnJlbnRDaGFuZ2UoewogICAgICAgIHBhdGg6ICcvVGVtcGxhdGVNYW5hZ2VtZW50TGlzdHMnCiAgICAgIH0pOwogICAgfSwKICAgIGNvbmZpcm1BbmRQdWJsaXNoOiBmdW5jdGlvbiBjb25maXJtQW5kUHVibGlzaCgpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CgogICAgICAvL+S/neWtmOW5tuWPkeW4gwogICAgICB0aGlzLmNvbmZpcm0odHJ1ZSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgKDAsIF9tb2RlbGVyLmdldFB1Ymxpc2gpKHsKICAgICAgICAgIGlkOiByZXMuZGF0YS5kYXRhLmlkCiAgICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgIGlmIChyZXNwb25zZS5kYXRhLnJlc3VsdENvZGUgPT09IDApIHsKICAgICAgICAgICAgX3RoaXM2LiRyb3V0ZXIucHVzaCgnL1RlbXBsYXRlTWFuYWdlbWVudExpc3RzJyk7CgogICAgICAgICAgICBfdGhpczYuY3VycmVudENoYW5nZSh7CiAgICAgICAgICAgICAgcGF0aDogJy9UZW1wbGF0ZU1hbmFnZW1lbnRMaXN0cycKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQogIH0pLAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICBfdnVlLmRlZmF1bHQuY29tcG9uZW50KCJjb21wb25lbnRfIi5jb25jYXQodGhpcy5jdXJyZW50U3RlcHMpLCBfdnVlLmRlZmF1bHQuZXh0ZW5kKE9iamVjdC5hc3NpZ24oewogICAgICBpc0tlZXBBbGl2ZU1vZGVsOiB0cnVlCiAgICB9LCBfUGFyYW1ldGVyQ29uZmlndXJhdGlvbi5kZWZhdWx0KSkpOwoKICAgIHRoaXMuY3VycmVudENvbXBvbmVudCA9ICJjb21wb25lbnRfIi5jb25jYXQodGhpcy5jdXJyZW50U3RlcHMpOwogICAgY29uc29sZS5sb2codGhpcy4kcm91dGUucGFyYW1zLmlkLCA5OTk5OCk7CgogICAgaWYgKHRoaXMuJHJvdXRlLnBhcmFtcy5mbGFnID09PSAnMScpIHsKICAgICAgdGhpcy5yZWFkT25seSA9IHRydWU7CiAgICAgIHRoaXMubm9GcmVzaEZsYWcgPSB0cnVlOwogICAgICB0aGlzLmdldE1vZHVsZUluZm8odGhpcy4kcm91dGUucGFyYW1zLmlkKTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIGlmICh0aGlzLiRyb3V0ZS5wYXJhbXMuaWQgPT09IHVuZGVmaW5lZCkgewogICAgICAvL+aWsOWingogICAgICBjb25zb2xlLmxvZygyMjIzMyk7CiAgICB9IGVsc2UgewogICAgICAvL+e8lui+kQogICAgICB0aGlzLm5vRnJlc2hGbGFnID0gdHJ1ZTsKICAgICAgdGhpcy5jdXJyZW50U3RlcHMgPSAxOwogICAgICB0aGlzLmdldE1vZHVsZUluZm8odGhpcy4kcm91dGUucGFyYW1zLmlkKTsKICAgIH0KICB9LAogIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7fQp9OwpleHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDs="},{"version":3,"sources":["index.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <div class=\"TemplateManagementNew\">\r\n <!-- <Breadcrumb separator=\">\" class=\"breadcrumb\">\r\n <BreadcrumbItem to=\"/TemplateManagementLists\">模版管理</BreadcrumbItem>\r\n <BreadcrumbItem>{{$route.params.id != '-1'?'编辑模版':'新建模版'}}</BreadcrumbItem>\r\n\r\n </Breadcrumb> -->\r\n <!-- 预览状态 -->\r\n <div class=\"content\" v-if=\"this.readOnly\">\r\n <div class=\"tips\" v-if=\"currentSteps === 2\">\r\n <p>\r\n <span>单据类型:</span><span>{{data.businessTypeText}}</span>\r\n </p>\r\n <p>\r\n <span>模版名称:</span><span>{{data.name}}</span>\r\n </p>\r\n <p>\r\n <span>查询索引:</span><span>{{data.businessKey}}</span>\r\n </p>\r\n <p>\r\n <span>模版描述:</span><span>{{data.description}}</span>\r\n </p>\r\n <p>\r\n <span>自动处理:</span><span>{{data.autoClose?'开':'关'}}</span>\r\n </p>\r\n <p>\r\n <span>业务数据检查:</span><span>{{data.businessCheckUrl}}</span>\r\n </p>\r\n </div>\r\n <FlowChartComponent\r\n v-if=\"currentSteps === 2\"\r\n :data=\"data\"\r\n :currentSteps=\"2\"\r\n :readOnly=\"readOnly\"\r\n ref=\"component_2\"\r\n >\r\n </FlowChartComponent>\r\n <p class=\"buttonGroups\" v-if=\"currentSteps === 2\">\r\n <Button type=\"primary\" @click=\"close\">关闭</Button>\r\n </p>\r\n </div>\r\n\r\n <!-- 编辑状态 -->\r\n <Steps :current=\"currentSteps\" class=\"steps\" v-if=\"!this.readOnly\">\r\n <Step title=\"参数配置\" ></Step>\r\n <Step title=\"流程设计器\" ></Step>\r\n <Step title=\"保存发布模版\" ></Step>\r\n </Steps>\r\n\r\n <div class=\"content\" v-if=\"!this.readOnly\">\r\n <keep-alive exclude=\"component_2\" >\r\n <component\r\n :is=\"currentComponent\"\r\n :ref=\"currentComponent\"\r\n class=\"block\"\r\n :editable=\"currentSteps === 1?true:false\"\r\n :data=\"data\"\r\n :currentSteps=\"currentSteps\"\r\n :noFreshFlag=\"noFreshFlag\"\r\n @dataChange=dataChange\r\n >\r\n </component>\r\n </keep-alive>\r\n <p class=\"buttonGroups\">\r\n <Button type=\"primary\" v-if=\"currentSteps > 0\" @click=\"previousSteps\">上一步</Button>\r\n <Button type=\"primary\" v-if=\"currentSteps < 2\" @click=\"nextSteps\">下一步</Button>\r\n <Button type=\"primary\" v-if=\"(currentSteps === 2 && this.data.status !== 1)\" @click=\"confirm(false)\">保存</Button>\r\n <Button type=\"primary\" v-if=\"(currentSteps === 2 && this.data.status !== 1)\" @click=\"confirmAndPublish()\">保存并发布</Button>\r\n </p>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nimport '@/utils/go'\r\nimport Vue from 'vue'\r\nimport ParameterConfiguration from '@/components/ParameterConfiguration'\r\nimport FlowChartComponent from '@/components/FlowChartComponent'\r\nimport FlowSuccess from '@/components/FlowSuccess'\r\nimport { mapMutations } from 'vuex';\r\nimport { setTimeout } from 'timers';\r\nimport {\r\n getLoad,\r\n getCommit,\r\n getDuplicate,\r\n getPublish\r\n } from '@/api/modeler.js'\r\nexport default {\r\n name:'TemplateManagementNew',\r\n components:{ParameterConfiguration,FlowChartComponent,FlowSuccess},\r\n data () {\r\n return {\r\n currentSteps:0,\r\n currentComponent:null,\r\n imgBase:'',\r\n defaultData:{\r\n guiStyle:JSON.stringify({\r\n \"class\": \"NewGraphLinksModel\",\r\n \"linkFromPortIdProperty\": \"fromPort\",\r\n \"linkToPortIdProperty\": \"toPort\",\r\n \"nodeDataArray\": [\r\n {\"key\":-1, \"category\":\"Start\", \"loc\":\"175 0\", \"text\":\"开始\", \"type\": 1},\r\n {\"key\":0, \"loc\":\"175 100\", \"text\":\"审批节点\",\"type\": 0, \"category\": 'Approval'},\r\n {\"key\":-2, \"category\":\"End\", \"loc\":\"175 200\", \"text\":\"结束\", \"type\": 2}\r\n ],\r\n \"linkDataArray\": [\r\n {\"from\":-1, \"to\":0, \"fromPort\":\"B\", \"toPort\":\"T\",\"key\":0},\r\n {\"from\":0, \"to\":-2, \"fromPort\":\"B\", \"toPort\":\"T\",\"key\":1}\r\n ]\r\n }),\r\n nodeMsg:[\r\n {\"key\":-1, \"category\":\"Start\", \"loc\":\"175 0\", \"text\":\"开始\", \"name\":\"开始\", \"type\": 1,\"ruleList\":[]},\r\n {\"key\":0, \"loc\":\"175 100\", \"text\":\"审批节点\", \"name\":\"审批节点\", \"category\": 'Approval',\"type\": 0,\"ruleList\":[],\"actServiceS\":[],\"actionConfig\":[],\"approvelList\":[],\"approverStyle\":0},\r\n {\"key\":-2, \"category\":\"End\", \"loc\":\"175 200\", \"text\":\"结束\", \"name\":\"结束\", \"type\": 2,\"actionConfig\":[{\r\n handleValue:null,\r\n extra_msg:{},\r\n handleType:31\r\n },\r\n {\r\n handleValue:'{}',\r\n extra_msg:{},\r\n handleType:41\r\n }]}\r\n ],\r\n pathMsg:[\r\n {\"from\":-1, \"to\":0, \"fromPort\":\"B\", \"toPort\":\"T\",\"ruleList\":[],\"key\":0},\r\n {\"from\":0, \"to\":-2, \"fromPort\":\"B\", \"toPort\":\"T\",\"ruleList\":[],\"key\":1}\r\n ],\r\n removeNode:[],\r\n removePath:[],\r\n },\r\n data:{\r\n guiStyle:JSON.stringify({\r\n \"class\": \"NewGraphLinksModel\",\r\n \"linkFromPortIdProperty\": \"fromPort\",\r\n \"linkToPortIdProperty\": \"toPort\",\r\n \"nodeDataArray\": [\r\n {\"key\":-1, \"category\":\"Start\", \"loc\":\"175 0\", \"text\":\"开始\", \"type\": 1},\r\n {\"key\":0, \"loc\":\"175 100\", \"text\":\"审批节点\",\"type\": 0, \"category\": 'Approval'},\r\n {\"key\":-2, \"category\":\"End\", \"loc\":\"175 200\", \"text\":\"结束\", \"type\": 2}\r\n ],\r\n \"linkDataArray\": [\r\n {\"from\":-1, \"to\":0, \"fromPort\":\"B\", \"toPort\":\"T\",\"key\":0},\r\n {\"from\":0, \"to\":-2, \"fromPort\":\"B\", \"toPort\":\"T\",\"key\":1}\r\n ]\r\n }),\r\n nodeMsg:[\r\n {\"key\":-1, \"category\":\"Start\", \"loc\":\"175 0\", \"text\":\"开始\", \"name\":\"开始\", \"type\": 1,\"ruleList\":[]},\r\n {\"key\":0, \"loc\":\"175 100\", \"text\":\"审批节点\", \"name\":\"审批节点\", \"category\": 'Approval',\"type\": 0,\"ruleList\":[],\"actServiceS\":[],\"actionConfig\":[],\"approvelList\":[],\"approverStyle\":0},\r\n {\"key\":-2, \"category\":\"End\", \"loc\":\"175 200\", \"text\":\"结束\", \"name\":\"结束\", \"type\": 2,\"actionConfig\":[{\r\n handleValue:null,\r\n extra_msg:{},\r\n handleType:31\r\n },\r\n {\r\n handleValue:'{}',\r\n extra_msg:{},\r\n handleType:41\r\n }]}\r\n ],\r\n pathMsg:[\r\n {\"from\":-1, \"to\":0, \"fromPort\":\"B\", \"toPort\":\"T\",\"ruleList\":[],\"key\":0},\r\n {\"from\":0, \"to\":-2, \"fromPort\":\"B\", \"toPort\":\"T\",\"ruleList\":[],\"key\":1}\r\n ],\r\n removeNode:[],\r\n removePath:[],\r\n autoClose: true,\r\n moduleType: 0\r\n },\r\n noFreshFlag:false,\r\n\r\n readOnly:false, //是否只读为预览模式\r\n //存放三步骤的数据\r\n\r\n\r\n defaultModuleType: null, //暂存模版类型\r\n\r\n }\r\n },\r\n watch:{\r\n currentSteps (val) {\r\n if(this.readOnly){\r\n return\r\n }\r\n let componentName = `component_${val}`\r\n if(Vue.component(componentName) === undefined){\r\n if(val === 0 ){\r\n Vue.component(componentName,ParameterConfiguration)\r\n }else if(val === 1){\r\n\r\n Vue.component(componentName,FlowChartComponent)\r\n }else if(val === 2){\r\n Vue.component(componentName,FlowSuccess)\r\n }\r\n }\r\n\r\n this.currentComponent = componentName\r\n\r\n\r\n }\r\n },\r\n methods:{\r\n ...mapMutations(['currentChange']),\r\n getModuleInfo (id) {\r\n getLoad({id:id}).then((res) => {\r\n if(res.resultCode === 0){\r\n res.data.businessType = [{\r\n ID:res.data.businessType,\r\n Label:res.data.businessTypeName,\r\n val:res.data.businessTypeText\r\n }]\r\n\r\n res.data.businessNumber = [{\r\n ID:String(res.data.businessKeyId),\r\n Label:res.data.businessKey,\r\n val:res.data.businessKeyName\r\n }]\r\n this.data = res.data\r\n this.data.guiStyle = JSON.parse(res.data.guiStyle)\r\n this.data.moduleId = res.data.id\r\n\r\n this.$nextTick(() => {\r\n if(this.readOnly){\r\n this.currentSteps = 2\r\n this.noFreshFlag = false\r\n }else{\r\n this.$refs.component_1.init()\r\n this.noFreshFlag = false\r\n }\r\n\r\n })\r\n }\r\n });\r\n },\r\n async nextSteps () { //下一步\r\n if(await this.checkModuleName()){\r\n return false\r\n }\r\n\r\n if(this.currentSteps === 0 && (this.defaultModuleType != this.data.moduleType) && this.defaultModuleType !== null){\r\n this.$Modal.fcWarning({\r\n title:'警告',\r\n content:'您已修改模板类型/单据类型,这将导致下一步的流程设计器内所有设置恢复初始化,是否确定更改?',\r\n showCancel: true,\r\n mask: true,\r\n onOk: () => {\r\n this.defaultModuleType = this.data.moduleType\r\n this.data = Object.assign(this.data,JSON.parse(JSON.stringify(this.defaultData)))\r\n if(this.data.businessType && this.data.businessType.length > 0 && this.data.name){\r\n this.defaultModuleType = this.data.moduleType\r\n ++this.currentSteps\r\n }else{\r\n this.$Modal.fcWarning({\r\n title:'警告',\r\n content:'请填写必填项!',\r\n mask:true\r\n })\r\n }\r\n },\r\n onCancel: () => {\r\n }\r\n })\r\n return\r\n }\r\n\r\n\r\n if( this.data.name && (this.data.moduleType === 0?(this.data.businessType && this.data.businessType.length > 0):true) ){\r\n this.defaultModuleType = this.data.moduleType\r\n ++this.currentSteps\r\n }else{\r\n this.$Modal.fcWarning({\r\n title:'警告',\r\n content:'请填写必填项!',\r\n mask:true\r\n })\r\n }\r\n\r\n\r\n\r\n },\r\n async checkModuleName () {\r\n await new Promise((resolve, reject) => {\r\n let jsonObject = {\r\n ID:this.data.moduleId,\r\n NAME:this.data.name\r\n }\r\n getDuplicate(jsonObject).then(res => {\r\n if(res.resultCode !== 0){\r\n this.$Modal.fcWarning({\r\n title:'警告',\r\n content:res.resultMsg,\r\n mask:true\r\n })\r\n reject()\r\n }\r\n resolve(res)\r\n })\r\n })\r\n },\r\n previousSteps () { //上一步\r\n --this.currentSteps\r\n },\r\n async confirm (flag) { //确定\r\n\r\n return await new Promise((resolve,reject) => {\r\n\r\n var svg = this.data.myDisplay.makeImage({\r\n scale: 2\r\n });\r\n this.imgBase = svg.getAttribute('src')\r\n\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 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 let jsonObject = {\r\n id:this.data.moduleId,\r\n name:this.data.name,\r\n description:this.data.description,\r\n GUI_STYLE:this.data.guiStyle,\r\n url:svg.getAttribute('src'),\r\n moduleType: this.data.moduleType,\r\n BUSINESS_TYPE:this.data.businessType?this.data.businessType[0].ID:null,\r\n BUSINESS_TYPE_NAME:this.data.businessType?this.data.businessType[0].Label:null,\r\n businessTypeText:this.data.businessType?this.data.businessType[0].val:null,\r\n businessKeyId:(this.data.businessNumber && this.data.businessNumber.length > 0)?this.data.businessNumber[0].ID:null,\r\n businessKey:(this.data.businessNumber && this.data.businessNumber.length > 0)?this.data.businessNumber[0].Label:null,\r\n businessKeyName:(this.data.businessNumber && this.data.businessNumber.length > 0)?this.data.businessNumber[0].val:null,\r\n autoClose:this.data.autoClose,\r\n businessCheckUrl:this.data.businessCheckUrl,\r\n nodeMsg: nodeMsg,\r\n pathMsg: pathMsg,\r\n removeNode: this.data.removeNode,\r\n removePath: this.data.removePath\r\n }\r\n getCommit(jsonObject).then(res => {\r\n if(res.data.resultCode === 0){\r\n // this.data = {\r\n // guiStyle:{\r\n // \"class\": \"go.GraphLinksModel\",\r\n // \"linkFromPortIdProperty\": \"fromPort\",\r\n // \"linkToPortIdProperty\": \"toPort\",\r\n // \"nodeDataArray\": [],\r\n // \"linkDataArray\": []\r\n // }\r\n // }\r\n if(!flag){\r\n window.flag = true\r\n this.$router.push('/TemplateManagementLists')\r\n this.currentChange({\r\n path:'/TemplateManagementLists'\r\n });\r\n }\r\n\r\n resolve(res)\r\n }\r\n\r\n })\r\n })\r\n\r\n\r\n },\r\n async formatGuiStyle () { //format整个流程图\r\n await new Promise((resolve) => {\r\n let startNode = {} //获取开始节点\r\n this.data.guiStyle.nodeDataArray.map(item => {\r\n if(item.key === -1){\r\n startNode = item\r\n }\r\n })\r\n\r\n let startlink = {}\r\n //获取第一根线的数据\r\n this.data.guiStyle.linkDataArray.map(item => {\r\n if(item.from === -1){\r\n startlink = item\r\n }\r\n })\r\n\r\n //获取连线的正确排序\r\n let linkMap = []\r\n new Array(this.data.guiStyle.linkDataArray.length).fill(null).map(() => {\r\n this.data.guiStyle.linkDataArray.map(item => {\r\n if(linkMap.length === 0 && item.from === -1){\r\n linkMap.push(item)\r\n }\r\n if(linkMap.length > 0 && item.from === linkMap[linkMap.length-1].to){\r\n linkMap.push(item)\r\n }\r\n })\r\n })\r\n this.data.guiStyle.linkDataArray = linkMap\r\n\r\n\r\n //获取节点的正确顺序\r\n // let nodeMap = [startNode]\r\n this.data.guiStyle.nodeDataArray = this.data.guiStyle.linkDataArray.reduce((sum,item) => {\r\n sum.push(this.data.Diagram.model.findNodeDataForKey(item.to))\r\n return sum\r\n },[startNode])\r\n\r\n\r\n //将所有节点的x轴与开始节点对齐\r\n this.data.guiStyle.nodeDataArray.map((item,index) => {\r\n let loc = item.loc.split(' ')\r\n loc[0] = startNode.loc.split(' ')[0]\r\n loc[1] = Number(startNode.loc.split(' ')[1]) + index*80\r\n item.loc = loc.join(' ')\r\n })\r\n\r\n //将所有连线的x轴与开始节点对齐\r\n this.data.guiStyle.linkDataArray.map((item,index) => {\r\n item.points.j.map(temp => {\r\n temp.F = startlink.points.j[0].F\r\n })\r\n\r\n item.points.j.map((temp,j) => {\r\n if(index === 0){\r\n if(j !== item.points.j.length-1){\r\n temp.G = Number(this.data.guiStyle.nodeDataArray[index].loc.split(' ')[1])+20\r\n }else{\r\n temp.G = Number(this.data.guiStyle.nodeDataArray[index+1].loc.split(' ')[1])-20\r\n }\r\n }else if(index === this.data.guiStyle.linkDataArray.length - 1){\r\n if(j !== item.points.j.length-1){\r\n temp.G = Number(this.data.guiStyle.nodeDataArray[index].loc.split(' ')[1])+20\r\n }else{\r\n temp.G = Number(this.data.guiStyle.nodeDataArray[index+1].loc.split(' ')[1])-20\r\n }\r\n }else{\r\n if(j !== item.points.j.length-1){\r\n temp.G = Number(this.data.guiStyle.nodeDataArray[index].loc.split(' ')[1])+20\r\n }else{\r\n temp.G = Number(this.data.guiStyle.nodeDataArray[index+1].loc.split(' ')[1])-20\r\n }\r\n }\r\n\r\n })\r\n })\r\n\r\n this.data.Diagram.model = go.Model.fromJson(this.data.guiStyle)\r\n\r\n setTimeout(() => {\r\n resolve()\r\n },100)\r\n })\r\n },\r\n dataChange (data) { //每一步中的数据变化\r\n this.data = Object.assign(this.data,data)\r\n },\r\n close () {\r\n this.$router.push('/TemplateManagementLists')\r\n this.currentChange({\r\n path:'/TemplateManagementLists'\r\n });\r\n },\r\n confirmAndPublish () { //保存并发布\r\n this.confirm(true).then(res => {\r\n getPublish({id:res.data.data.id}).then((response) => {\r\n if(response.data.resultCode === 0){\r\n this.$router.push('/TemplateManagementLists')\r\n this.currentChange({\r\n path:'/TemplateManagementLists'\r\n });\r\n }\r\n })\r\n })\r\n }\r\n },\r\n created () {\r\n Vue.component(`component_${this.currentSteps}`,Vue.extend(Object.assign({isKeepAliveModel:true},ParameterConfiguration)))\r\n this.currentComponent = `component_${this.currentSteps}`\r\n console.log(this.$route.params.id,99998)\r\n if(this.$route.params.flag === '1'){\r\n this.readOnly = true\r\n this.noFreshFlag = true\r\n this.getModuleInfo(this.$route.params.id)\r\n return\r\n }\r\n if(this.$route.params.id === undefined){ //新增\r\n console.log(22233)\r\n }else{ //编辑\r\n this.noFreshFlag = true\r\n this.currentSteps = 1\r\n this.getModuleInfo(this.$route.params.id)\r\n }\r\n },\r\n beforeDestroy () {\r\n\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" >\r\n.TemplateManagementNew{\r\n padding:16px;\r\n background: white;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n .breadcrumb{\r\n margin-bottom: 30px;\r\n font-size: 18px;\r\n }\r\n\r\n .steps{\r\n width: 75%;\r\n margin-left: 12.5%;\r\n margin-bottom: 30px;\r\n }\r\n\r\n .content{\r\n flex:1;\r\n border:1px solid rgba(220,222,226,1);\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n // 预览tips\r\n .tips{\r\n width:260px;\r\n height:204px;\r\n background:rgba(236,236,236,1);\r\n padding: 16px;\r\n box-sizing: border-box;\r\n display: inline-block;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n z-index: 99;\r\n >p{\r\n font-weight:400;\r\n color:rgba(52,52,52,1);\r\n line-height:16px;\r\n margin-bottom: 12px;\r\n display: flex;\r\n\r\n >span:first-child{\r\n margin-right: 8px;\r\n white-space: nowrap;\r\n }\r\n\r\n >span:last-child{\r\n word-break: break-all;\r\n }\r\n }\r\n }\r\n\r\n .block{\r\n flex: 1;\r\n }\r\n\r\n .buttonGroups{\r\n text-align: right;\r\n padding-bottom: 16px;\r\n\r\n button{\r\n margin-right: 10px;\r\n\r\n &:last-child{\r\n margin-right:16px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .burgeon-steps-item.burgeon-steps-status-finish .burgeon-steps-head-inner > .burgeon-steps-icon, .burgeon-steps-item.burgeon-steps-status-finish .burgeon-steps-head-inner span{\r\n color: white;\r\n }\r\n\r\n .burgeon-steps-item.burgeon-steps-status-finish .burgeon-steps-head-inner{\r\n border-color: #09A155;\r\n background: #09A155;\r\n }\r\n}\r\n</style>\r\n"],"sourceRoot":"src/views/activiti/TemplateManagementNew"}]}