5af797b015757ea05a552403c074f18a.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":1619607677296},{"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:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJFOi9ib21hbi1mcmFtd29yay9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQiKS5kZWZhdWx0OwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CgpyZXF1aXJlKCJyZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWUuanMiKTsKCnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmRlc2NyaXB0aW9uLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsbC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnJlZHVjZS5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zcGxpdC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyIpOwoKdmFyIF9hc3luY1RvR2VuZXJhdG9yMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiRTovYm9tYW4tZnJhbXdvcmsvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXN5bmNUb0dlbmVyYXRvciIpKTsKCnZhciBfb2JqZWN0U3ByZWFkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiRTovYm9tYW4tZnJhbXdvcmsvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkMiIpKTsKCnZhciBfdnVlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJ2dWUiKSk7Cgp2YXIgX1BhcmFtZXRlckNvbmZpZ3VyYXRpb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvY29tcG9uZW50cy9QYXJhbWV0ZXJDb25maWd1cmF0aW9uIikpOwoKdmFyIF9GbG93Q2hhcnRDb21wb25lbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvY29tcG9uZW50cy9GbG93Q2hhcnRDb21wb25lbnQiKSk7Cgp2YXIgX0Zsb3dTdWNjZXNzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJAL2NvbXBvbmVudHMvRmxvd1N1Y2Nlc3MiKSk7Cgp2YXIgX3Z1ZXggPSByZXF1aXJlKCJ2dWV4Iik7Cgp2YXIgX3RpbWVycyA9IHJlcXVpcmUoInRpbWVycyIpOwoKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8gaW1wb3J0ICcuLi9fX3V0aWxzX18vZ28nCnZhciBfZGVmYXVsdCA9IHsKICBuYW1lOiAnVGVtcGxhdGVNYW5hZ2VtZW50TmV3JywKICBjb21wb25lbnRzOiB7CiAgICBQYXJhbWV0ZXJDb25maWd1cmF0aW9uOiBfUGFyYW1ldGVyQ29uZmlndXJhdGlvbi5kZWZhdWx0LAogICAgRmxvd0NoYXJ0Q29tcG9uZW50OiBfRmxvd0NoYXJ0Q29tcG9uZW50LmRlZmF1bHQsCiAgICBGbG93U3VjY2VzczogX0Zsb3dTdWNjZXNzLmRlZmF1bHQKICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBjdXJyZW50U3RlcHM6IDAsCiAgICAgIGN1cnJlbnRDb21wb25lbnQ6IG51bGwsCiAgICAgIGltZ0Jhc2U6ICcnLAogICAgICBkZWZhdWx0RGF0YTogewogICAgICAgIGd1aVN0eWxlOiBKU09OLnN0cmluZ2lmeSh7CiAgICAgICAgICAiY2xhc3MiOiAiTmV3R3JhcGhMaW5rc01vZGVsIiwKICAgICAgICAgICJsaW5rRnJvbVBvcnRJZFByb3BlcnR5IjogImZyb21Qb3J0IiwKICAgICAgICAgICJsaW5rVG9Qb3J0SWRQcm9wZXJ0eSI6ICJ0b1BvcnQiLAogICAgICAgICAgIm5vZGVEYXRhQXJyYXkiOiBbewogICAgICAgICAgICAia2V5IjogLTEsCiAgICAgICAgICAgICJjYXRlZ29yeSI6ICJTdGFydCIsCiAgICAgICAgICAgICJsb2MiOiAiMTc1IDAiLAogICAgICAgICAgICAidGV4dCI6ICLlvIDlp4siLAogICAgICAgICAgICAidHlwZSI6IDEKICAgICAgICAgIH0sIHsKICAgICAgICAgICAgImtleSI6IDAsCiAgICAgICAgICAgICJsb2MiOiAiMTc1IDEwMCIsCiAgICAgICAgICAgICJ0ZXh0IjogIuWuoeaJueiKgueCuSIsCiAgICAgICAgICAgICJ0eXBlIjogMCwKICAgICAgICAgICAgImNhdGVnb3J5IjogJ0FwcHJvdmFsJwogICAgICAgICAgfSwgewogICAgICAgICAgICAia2V5IjogLTIsCiAgICAgICAgICAgICJjYXRlZ29yeSI6ICJFbmQiLAogICAgICAgICAgICAibG9jIjogIjE3NSAyMDAiLAogICAgICAgICAgICAidGV4dCI6ICLnu5PmnZ8iLAogICAgICAgICAgICAidHlwZSI6IDIKICAgICAgICAgIH1dLAogICAgICAgICAgImxpbmtEYXRhQXJyYXkiOiBbewogICAgICAgICAgICAiZnJvbSI6IC0xLAogICAgICAgICAgICAidG8iOiAwLAogICAgICAgICAgICAiZnJvbVBvcnQiOiAiQiIsCiAgICAgICAgICAgICJ0b1BvcnQiOiAiVCIsCiAgICAgICAgICAgICJrZXkiOiAwCiAgICAgICAgICB9LCB7CiAgICAgICAgICAgICJmcm9tIjogMCwKICAgICAgICAgICAgInRvIjogLTIsCiAgICAgICAgICAgICJmcm9tUG9ydCI6ICJCIiwKICAgICAgICAgICAgInRvUG9ydCI6ICJUIiwKICAgICAgICAgICAgImtleSI6IDEKICAgICAgICAgIH1dCiAgICAgICAgfSksCiAgICAgICAgbm9kZU1zZzogW3sKICAgICAgICAgICJrZXkiOiAtMSwKICAgICAgICAgICJjYXRlZ29yeSI6ICJTdGFydCIsCiAgICAgICAgICAibG9jIjogIjE3NSAwIiwKICAgICAgICAgICJ0ZXh0IjogIuW8gOWniyIsCiAgICAgICAgICAibmFtZSI6ICLlvIDlp4siLAogICAgICAgICAgInR5cGUiOiAxLAogICAgICAgICAgInJ1bGVMaXN0IjogW10KICAgICAgICB9LCB7CiAgICAgICAgICAia2V5IjogMCwKICAgICAgICAgICJsb2MiOiAiMTc1IDEwMCIsCiAgICAgICAgICAidGV4dCI6ICLlrqHmibnoioLngrkiLAogICAgICAgICAgIm5hbWUiOiAi5a6h5om56IqC54K5IiwKICAgICAgICAgICJjYXRlZ29yeSI6ICdBcHByb3ZhbCcsCiAgICAgICAgICAidHlwZSI6IDAsCiAgICAgICAgICAicnVsZUxpc3QiOiBbXSwKICAgICAgICAgICJhY3RTZXJ2aWNlUyI6IFtdLAogICAgICAgICAgImFjdGlvbkNvbmZpZyI6IFtdLAogICAgICAgICAgImFwcHJvdmVsTGlzdCI6IFtdLAogICAgICAgICAgImFwcHJvdmVyU3R5bGUiOiAwCiAgICAgICAgfSwgewogICAgICAgICAgImtleSI6IC0yLAogICAgICAgICAgImNhdGVnb3J5IjogIkVuZCIsCiAgICAgICAgICAibG9jIjogIjE3NSAyMDAiLAogICAgICAgICAgInRleHQiOiAi57uT5p2fIiwKICAgICAgICAgICJuYW1lIjogIue7k+adnyIsCiAgICAgICAgICAidHlwZSI6IDIsCiAgICAgICAgICAiYWN0aW9uQ29uZmlnIjogW3sKICAgICAgICAgICAgaGFuZGxlVmFsdWU6IG51bGwsCiAgICAgICAgICAgIGV4dHJhX21zZzoge30sCiAgICAgICAgICAgIGhhbmRsZVR5cGU6IDMxCiAgICAgICAgICB9LCB7CiAgICAgICAgICAgIGhhbmRsZVZhbHVlOiAne30nLAogICAgICAgICAgICBleHRyYV9tc2c6IHt9LAogICAgICAgICAgICBoYW5kbGVUeXBlOiA0MQogICAgICAgICAgfV0KICAgICAgICB9XSwKICAgICAgICBwYXRoTXNnOiBbewogICAgICAgICAgImZyb20iOiAtMSwKICAgICAgICAgICJ0byI6IDAsCiAgICAgICAgICAiZnJvbVBvcnQiOiAiQiIsCiAgICAgICAgICAidG9Qb3J0IjogIlQiLAogICAgICAgICAgInJ1bGVMaXN0IjogW10sCiAgICAgICAgICAia2V5IjogMAogICAgICAgIH0sIHsKICAgICAgICAgICJmcm9tIjogMCwKICAgICAgICAgICJ0byI6IC0yLAogICAgICAgICAgImZyb21Qb3J0IjogIkIiLAogICAgICAgICAgInRvUG9ydCI6ICJUIiwKICAgICAgICAgICJydWxlTGlzdCI6IFtdLAogICAgICAgICAgImtleSI6IDEKICAgICAgICB9XSwKICAgICAgICByZW1vdmVOb2RlOiBbXSwKICAgICAgICByZW1vdmVQYXRoOiBbXQogICAgICB9LAogICAgICBkYXRhOiB7CiAgICAgICAgZ3VpU3R5bGU6IEpTT04uc3RyaW5naWZ5KHsKICAgICAgICAgICJjbGFzcyI6ICJOZXdHcmFwaExpbmtzTW9kZWwiLAogICAgICAgICAgImxpbmtGcm9tUG9ydElkUHJvcGVydHkiOiAiZnJvbVBvcnQiLAogICAgICAgICAgImxpbmtUb1BvcnRJZFByb3BlcnR5IjogInRvUG9ydCIsCiAgICAgICAgICAibm9kZURhdGFBcnJheSI6IFt7CiAgICAgICAgICAgICJrZXkiOiAtMSwKICAgICAgICAgICAgImNhdGVnb3J5IjogIlN0YXJ0IiwKICAgICAgICAgICAgImxvYyI6ICIxNzUgMCIsCiAgICAgICAgICAgICJ0ZXh0IjogIuW8gOWniyIsCiAgICAgICAgICAgICJ0eXBlIjogMQogICAgICAgICAgfSwgewogICAgICAgICAgICAia2V5IjogMCwKICAgICAgICAgICAgImxvYyI6ICIxNzUgMTAwIiwKICAgICAgICAgICAgInRleHQiOiAi5a6h5om56IqC54K5IiwKICAgICAgICAgICAgInR5cGUiOiAwLAogICAgICAgICAgICAiY2F0ZWdvcnkiOiAnQXBwcm92YWwnCiAgICAgICAgICB9LCB7CiAgICAgICAgICAgICJrZXkiOiAtMiwKICAgICAgICAgICAgImNhdGVnb3J5IjogIkVuZCIsCiAgICAgICAgICAgICJsb2MiOiAiMTc1IDIwMCIsCiAgICAgICAgICAgICJ0ZXh0IjogIue7k+adnyIsCiAgICAgICAgICAgICJ0eXBlIjogMgogICAgICAgICAgfV0sCiAgICAgICAgICAibGlua0RhdGFBcnJheSI6IFt7CiAgICAgICAgICAgICJmcm9tIjogLTEsCiAgICAgICAgICAgICJ0byI6IDAsCiAgICAgICAgICAgICJmcm9tUG9ydCI6ICJCIiwKICAgICAgICAgICAgInRvUG9ydCI6ICJUIiwKICAgICAgICAgICAgImtleSI6IDAKICAgICAgICAgIH0sIHsKICAgICAgICAgICAgImZyb20iOiAwLAogICAgICAgICAgICAidG8iOiAtMiwKICAgICAgICAgICAgImZyb21Qb3J0IjogIkIiLAogICAgICAgICAgICAidG9Qb3J0IjogIlQiLAogICAgICAgICAgICAia2V5IjogMQogICAgICAgICAgfV0KICAgICAgICB9KSwKICAgICAgICBub2RlTXNnOiBbewogICAgICAgICAgImtleSI6IC0xLAogICAgICAgICAgImNhdGVnb3J5IjogIlN0YXJ0IiwKICAgICAgICAgICJsb2MiOiAiMTc1IDAiLAogICAgICAgICAgInRleHQiOiAi5byA5aeLIiwKICAgICAgICAgICJuYW1lIjogIuW8gOWniyIsCiAgICAgICAgICAidHlwZSI6IDEsCiAgICAgICAgICAicnVsZUxpc3QiOiBbXQogICAgICAgIH0sIHsKICAgICAgICAgICJrZXkiOiAwLAogICAgICAgICAgImxvYyI6ICIxNzUgMTAwIiwKICAgICAgICAgICJ0ZXh0IjogIuWuoeaJueiKgueCuSIsCiAgICAgICAgICAibmFtZSI6ICLlrqHmibnoioLngrkiLAogICAgICAgICAgImNhdGVnb3J5IjogJ0FwcHJvdmFsJywKICAgICAgICAgICJ0eXBlIjogMCwKICAgICAgICAgICJydWxlTGlzdCI6IFtdLAogICAgICAgICAgImFjdFNlcnZpY2VTIjogW10sCiAgICAgICAgICAiYWN0aW9uQ29uZmlnIjogW10sCiAgICAgICAgICAiYXBwcm92ZWxMaXN0IjogW10sCiAgICAgICAgICAiYXBwcm92ZXJTdHlsZSI6IDAKICAgICAgICB9LCB7CiAgICAgICAgICAia2V5IjogLTIsCiAgICAgICAgICAiY2F0ZWdvcnkiOiAiRW5kIiwKICAgICAgICAgICJsb2MiOiAiMTc1IDIwMCIsCiAgICAgICAgICAidGV4dCI6ICLnu5PmnZ8iLAogICAgICAgICAgIm5hbWUiOiAi57uT5p2fIiwKICAgICAgICAgICJ0eXBlIjogMiwKICAgICAgICAgICJhY3Rpb25Db25maWciOiBbewogICAgICAgICAgICBoYW5kbGVWYWx1ZTogbnVsbCwKICAgICAgICAgICAgZXh0cmFfbXNnOiB7fSwKICAgICAgICAgICAgaGFuZGxlVHlwZTogMzEKICAgICAgICAgIH0sIHsKICAgICAgICAgICAgaGFuZGxlVmFsdWU6ICd7fScsCiAgICAgICAgICAgIGV4dHJhX21zZzoge30sCiAgICAgICAgICAgIGhhbmRsZVR5cGU6IDQxCiAgICAgICAgICB9XQogICAgICAgIH1dLAogICAgICAgIHBhdGhNc2c6IFt7CiAgICAgICAgICAiZnJvbSI6IC0xLAogICAgICAgICAgInRvIjogMCwKICAgICAgICAgICJmcm9tUG9ydCI6ICJCIiwKICAgICAgICAgICJ0b1BvcnQiOiAiVCIsCiAgICAgICAgICAicnVsZUxpc3QiOiBbXSwKICAgICAgICAgICJrZXkiOiAwCiAgICAgICAgfSwgewogICAgICAgICAgImZyb20iOiAwLAogICAgICAgICAgInRvIjogLTIsCiAgICAgICAgICAiZnJvbVBvcnQiOiAiQiIsCiAgICAgICAgICAidG9Qb3J0IjogIlQiLAogICAgICAgICAgInJ1bGVMaXN0IjogW10sCiAgICAgICAgICAia2V5IjogMQogICAgICAgIH1dLAogICAgICAgIHJlbW92ZU5vZGU6IFtdLAogICAgICAgIHJlbW92ZVBhdGg6IFtdLAogICAgICAgIGF1dG9DbG9zZTogdHJ1ZSwKICAgICAgICBtb2R1bGVUeXBlOiAwCiAgICAgIH0sCiAgICAgIG5vRnJlc2hGbGFnOiBmYWxzZSwKICAgICAgcmVhZE9ubHk6IGZhbHNlLAogICAgICAvL+aYr+WQpuWPquivu+S4uumihOiniOaooeW8jwogICAgICAvL+WtmOaUvuS4ieatpemqpOeahOaVsOaNrgogICAgICBkZWZhdWx0TW9kdWxlVHlwZTogbnVsbCAvL+aaguWtmOaooeeJiOexu+WeiwoKICAgIH07CiAgfSwKICB3YXRjaDogewogICAgY3VycmVudFN0ZXBzOiBmdW5jdGlvbiBjdXJyZW50U3RlcHModmFsKSB7CiAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgY29tcG9uZW50TmFtZSA9ICJjb21wb25lbnRfIi5jb25jYXQodmFsKTsKCiAgICAgIGlmIChfdnVlLmRlZmF1bHQuY29tcG9uZW50KGNvbXBvbmVudE5hbWUpID09PSB1bmRlZmluZWQpIHsKICAgICAgICBpZiAodmFsID09PSAwKSB7CiAgICAgICAgICBfdnVlLmRlZmF1bHQuY29tcG9uZW50KGNvbXBvbmVudE5hbWUsIF9QYXJhbWV0ZXJDb25maWd1cmF0aW9uLmRlZmF1bHQpOwogICAgICAgIH0gZWxzZSBpZiAodmFsID09PSAxKSB7CiAgICAgICAgICBfdnVlLmRlZmF1bHQuY29tcG9uZW50KGNvbXBvbmVudE5hbWUsIF9GbG93Q2hhcnRDb21wb25lbnQuZGVmYXVsdCk7CiAgICAgICAgfSBlbHNlIGlmICh2YWwgPT09IDIpIHsKICAgICAgICAgIF92dWUuZGVmYXVsdC5jb21wb25lbnQoY29tcG9uZW50TmFtZSwgX0Zsb3dTdWNjZXNzLmRlZmF1bHQpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdGhpcy5jdXJyZW50Q29tcG9uZW50ID0gY29tcG9uZW50TmFtZTsKICAgIH0KICB9LAogIG1ldGhvZHM6ICgwLCBfb2JqZWN0U3ByZWFkMi5kZWZhdWx0KSgoMCwgX29iamVjdFNwcmVhZDIuZGVmYXVsdCkoe30sICgwLCBfdnVleC5tYXBNdXRhdGlvbnMpKFsnY3VycmVudENoYW5nZSddKSksIHt9LCB7CiAgICBnZXRNb2R1bGVJbmZvOiBmdW5jdGlvbiBnZXRNb2R1bGVJbmZvKGlkKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CgogICAgICB0aGlzLiRuZXR3b3JrLnBvc3QoJy9wL2NzL21vZHVsZS9sb2FkJywgewogICAgICAgIGlkOiBpZAogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLmRhdGEucmVzdWx0Q29kZSA9PT0gMCkgewogICAgICAgICAgcmVzLmRhdGEuZGF0YS5idXNpbmVzc1R5cGUgPSBbewogICAgICAgICAgICBJRDogcmVzLmRhdGEuZGF0YS5idXNpbmVzc1R5cGUsCiAgICAgICAgICAgIExhYmVsOiByZXMuZGF0YS5kYXRhLmJ1c2luZXNzVHlwZU5hbWUsCiAgICAgICAgICAgIHZhbDogcmVzLmRhdGEuZGF0YS5idXNpbmVzc1R5cGVUZXh0CiAgICAgICAgICB9XTsKICAgICAgICAgIHJlcy5kYXRhLmRhdGEuYnVzaW5lc3NOdW1iZXIgPSBbewogICAgICAgICAgICBJRDogU3RyaW5nKHJlcy5kYXRhLmRhdGEuYnVzaW5lc3NLZXlJZCksCiAgICAgICAgICAgIExhYmVsOiByZXMuZGF0YS5kYXRhLmJ1c2luZXNzS2V5LAogICAgICAgICAgICB2YWw6IHJlcy5kYXRhLmRhdGEuYnVzaW5lc3NLZXlOYW1lCiAgICAgICAgICB9XTsKICAgICAgICAgIF90aGlzLmRhdGEgPSByZXMuZGF0YS5kYXRhOwogICAgICAgICAgX3RoaXMuZGF0YS5ndWlTdHlsZSA9IEpTT04ucGFyc2UocmVzLmRhdGEuZGF0YS5ndWlTdHlsZSk7CiAgICAgICAgICBfdGhpcy5kYXRhLm1vZHVsZUlkID0gcmVzLmRhdGEuZGF0YS5pZDsKCiAgICAgICAgICBfdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoX3RoaXMucmVhZE9ubHkpIHsKICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50U3RlcHMgPSAyOwogICAgICAgICAgICAgIF90aGlzLm5vRnJlc2hGbGFnID0gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgX3RoaXMuJHJlZnMuY29tcG9uZW50XzEuaW5pdCgpOwoKICAgICAgICAgICAgICBfdGhpcy5ub0ZyZXNoRmxhZyA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIG5leHRTdGVwczogZnVuY3Rpb24gbmV4dFN0ZXBzKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICAgIHJldHVybiAoMCwgX2FzeW5jVG9HZW5lcmF0b3IyLmRlZmF1bHQpKCAvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICAgIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjsKICAgICAgICAgICAgICAgIHJldHVybiBfdGhpczIuY2hlY2tNb2R1bGVOYW1lKCk7CgogICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgIGlmICghX2NvbnRleHQuc2VudCkgewogICAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gNDsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIiwgZmFsc2UpOwoKICAgICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICBpZiAoIShfdGhpczIuY3VycmVudFN0ZXBzID09PSAwICYmIF90aGlzMi5kZWZhdWx0TW9kdWxlVHlwZSAhPSBfdGhpczIuZGF0YS5tb2R1bGVUeXBlICYmIF90aGlzMi5kZWZhdWx0TW9kdWxlVHlwZSAhPT0gbnVsbCkpIHsKICAgICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDc7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIF90aGlzMi4kTW9kYWwuZmNXYXJuaW5nKHsKICAgICAgICAgICAgICAgICAgdGl0bGU6ICforablkYonLAogICAgICAgICAgICAgICAgICBjb250ZW50OiAn5oKo5bey5L+u5pS55qih5p2/57G75Z6LL+WNleaNruexu+Wei++8jOi/meWwhuWvvOiHtOS4i+S4gOatpeeahOa1geeoi+iuvuiuoeWZqOWGheaJgOacieiuvue9ruaBouWkjeWIneWni+WMlu+8jOaYr+WQpuehruWumuabtOaUuT8nLAogICAgICAgICAgICAgICAgICBzaG93Q2FuY2VsOiB0cnVlLAogICAgICAgICAgICAgICAgICBtYXNrOiB0cnVlLAogICAgICAgICAgICAgICAgICBvbk9rOiBmdW5jdGlvbiBvbk9rKCkgewogICAgICAgICAgICAgICAgICAgIF90aGlzMi5kZWZhdWx0TW9kdWxlVHlwZSA9IF90aGlzMi5kYXRhLm1vZHVsZVR5cGU7CiAgICAgICAgICAgICAgICAgICAgX3RoaXMyLmRhdGEgPSBPYmplY3QuYXNzaWduKF90aGlzMi5kYXRhLCBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KF90aGlzMi5kZWZhdWx0RGF0YSkpKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKF90aGlzMi5kYXRhLmJ1c2luZXNzVHlwZSAmJiBfdGhpczIuZGF0YS5idXNpbmVzc1R5cGUubGVuZ3RoID4gMCAmJiBfdGhpczIuZGF0YS5uYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICBfdGhpczIuZGVmYXVsdE1vZHVsZVR5cGUgPSBfdGhpczIuZGF0YS5tb2R1bGVUeXBlOwogICAgICAgICAgICAgICAgICAgICAgKytfdGhpczIuY3VycmVudFN0ZXBzOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICBfdGhpczIuJE1vZGFsLmZjV2FybmluZyh7CiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6K2m5ZGKJywKICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ+ivt+Whq+WGmeW/heWhq+mhuSEnLAogICAgICAgICAgICAgICAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIG9uQ2FuY2VsOiBmdW5jdGlvbiBvbkNhbmNlbCgpIHt9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYWJydXB0KCJyZXR1cm4iKTsKCiAgICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICAgICAgaWYgKF90aGlzMi5kYXRhLm5hbWUgJiYgKF90aGlzMi5kYXRhLm1vZHVsZVR5cGUgPT09IDAgPyBfdGhpczIuZGF0YS5idXNpbmVzc1R5cGUgJiYgX3RoaXMyLmRhdGEuYnVzaW5lc3NUeXBlLmxlbmd0aCA+IDAgOiB0cnVlKSkgewogICAgICAgICAgICAgICAgICBfdGhpczIuZGVmYXVsdE1vZHVsZVR5cGUgPSBfdGhpczIuZGF0YS5tb2R1bGVUeXBlOwogICAgICAgICAgICAgICAgICArK190aGlzMi5jdXJyZW50U3RlcHM7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBfdGhpczIuJE1vZGFsLmZjV2FybmluZyh7CiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICforablkYonLAogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfor7floavlhpnlv4XloavpobkhJywKICAgICAgICAgICAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICBjYXNlIDg6CiAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgY2hlY2tNb2R1bGVOYW1lOiBmdW5jdGlvbiBjaGVja01vZHVsZU5hbWUoKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgcmV0dXJuICgwLCBfYXN5bmNUb0dlbmVyYXRvcjIuZGVmYXVsdCkoIC8qI19fUFVSRV9fKi9yZWdlbmVyYXRvclJ1bnRpbWUubWFyayhmdW5jdGlvbiBfY2FsbGVlMigpIHsKICAgICAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZTIkKF9jb250ZXh0MikgewogICAgICAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgICAgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAyOwogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgICAgICAgICAgdmFyIGpzb25PYmplY3QgPSB7CiAgICAgICAgICAgICAgICAgICAgSUQ6IF90aGlzMy5kYXRhLm1vZHVsZUlkLAogICAgICAgICAgICAgICAgICAgIE5BTUU6IF90aGlzMy5kYXRhLm5hbWUKICAgICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICAgIF90aGlzMy4kbmV0d29yay5wb3N0KCcvcC9jcy9tb2R1bGUvZHVwbGljYXRlJywganNvbk9iamVjdCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLnJlc3VsdENvZGUgIT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgIF90aGlzMy4kTW9kYWwuZmNXYXJuaW5nKHsKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICforablkYonLAogICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiByZXMuZGF0YS5yZXN1bHRNc2csCiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2s6IHRydWUKICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgIHJlamVjdCgpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXMpOwogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuc3RvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTIpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBwcmV2aW91c1N0ZXBzOiBmdW5jdGlvbiBwcmV2aW91c1N0ZXBzKCkgewogICAgICAvL+S4iuS4gOatpQogICAgICAtLXRoaXMuY3VycmVudFN0ZXBzOwogICAgfSwKICAgIGNvbmZpcm06IGZ1bmN0aW9uIGNvbmZpcm0oZmxhZykgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICAgIHJldHVybiAoMCwgX2FzeW5jVG9HZW5lcmF0b3IyLmRlZmF1bHQpKCAvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTMoKSB7CiAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUzJChfY29udGV4dDMpIHsKICAgICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICAgIHN3aXRjaCAoX2NvbnRleHQzLnByZXYgPSBfY29udGV4dDMubmV4dCkgewogICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gMjsKICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICAgICAgIHZhciBzdmcgPSBfdGhpczQuZGF0YS5teURpc3BsYXkubWFrZUltYWdlKHsKICAgICAgICAgICAgICAgICAgICBzY2FsZTogMgogICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgIF90aGlzNC5pbWdCYXNlID0gc3ZnLmdldEF0dHJpYnV0ZSgnc3JjJyk7CiAgICAgICAgICAgICAgICAgIHZhciBub2RlTXNnID0gW107CiAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKF90aGlzNC5kYXRhLm5vZGVNc2cpLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgICAgIG5vZGVNc2cucHVzaChfdGhpczQuZGF0YS5ub2RlTXNnW2l0ZW1dKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgIHZhciBwYXRoTXNnID0gW107CiAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKF90aGlzNC5kYXRhLnBhdGhNc2cpLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgICAgIHBhdGhNc2cucHVzaChfdGhpczQuZGF0YS5wYXRoTXNnW2l0ZW1dKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgIHZhciBqc29uT2JqZWN0ID0gewogICAgICAgICAgICAgICAgICAgIGlkOiBfdGhpczQuZGF0YS5tb2R1bGVJZCwKICAgICAgICAgICAgICAgICAgICBuYW1lOiBfdGhpczQuZGF0YS5uYW1lLAogICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBfdGhpczQuZGF0YS5kZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICAgICBHVUlfU1RZTEU6IF90aGlzNC5kYXRhLmd1aVN0eWxlLAogICAgICAgICAgICAgICAgICAgIHVybDogc3ZnLmdldEF0dHJpYnV0ZSgnc3JjJyksCiAgICAgICAgICAgICAgICAgICAgbW9kdWxlVHlwZTogX3RoaXM0LmRhdGEubW9kdWxlVHlwZSwKICAgICAgICAgICAgICAgICAgICBCVVNJTkVTU19UWVBFOiBfdGhpczQuZGF0YS5idXNpbmVzc1R5cGUgPyBfdGhpczQuZGF0YS5idXNpbmVzc1R5cGVbMF0uSUQgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIEJVU0lORVNTX1RZUEVfTkFNRTogX3RoaXM0LmRhdGEuYnVzaW5lc3NUeXBlID8gX3RoaXM0LmRhdGEuYnVzaW5lc3NUeXBlWzBdLkxhYmVsIDogbnVsbCwKICAgICAgICAgICAgICAgICAgICBidXNpbmVzc1R5cGVUZXh0OiBfdGhpczQuZGF0YS5idXNpbmVzc1R5cGUgPyBfdGhpczQuZGF0YS5idXNpbmVzc1R5cGVbMF0udmFsIDogbnVsbCwKICAgICAgICAgICAgICAgICAgICBidXNpbmVzc0tleUlkOiBfdGhpczQuZGF0YS5idXNpbmVzc051bWJlciAmJiBfdGhpczQuZGF0YS5idXNpbmVzc051bWJlci5sZW5ndGggPiAwID8gX3RoaXM0LmRhdGEuYnVzaW5lc3NOdW1iZXJbMF0uSUQgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzS2V5OiBfdGhpczQuZGF0YS5idXNpbmVzc051bWJlciAmJiBfdGhpczQuZGF0YS5idXNpbmVzc051bWJlci5sZW5ndGggPiAwID8gX3RoaXM0LmRhdGEuYnVzaW5lc3NOdW1iZXJbMF0uTGFiZWwgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzS2V5TmFtZTogX3RoaXM0LmRhdGEuYnVzaW5lc3NOdW1iZXIgJiYgX3RoaXM0LmRhdGEuYnVzaW5lc3NOdW1iZXIubGVuZ3RoID4gMCA/IF90aGlzNC5kYXRhLmJ1c2luZXNzTnVtYmVyWzBdLnZhbCA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgYXV0b0Nsb3NlOiBfdGhpczQuZGF0YS5hdXRvQ2xvc2UsCiAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NDaGVja1VybDogX3RoaXM0LmRhdGEuYnVzaW5lc3NDaGVja1VybCwKICAgICAgICAgICAgICAgICAgICBub2RlTXNnOiBub2RlTXNnLAogICAgICAgICAgICAgICAgICAgIHBhdGhNc2c6IHBhdGhNc2csCiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlTm9kZTogX3RoaXM0LmRhdGEucmVtb3ZlTm9kZSwKICAgICAgICAgICAgICAgICAgICByZW1vdmVQYXRoOiBfdGhpczQuZGF0YS5yZW1vdmVQYXRoCiAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgICBfdGhpczQuJG5ldHdvcmsucG9zdCgnL3AvY3MvbW9kdWxlL2NvbW1pdCcsIGpzb25PYmplY3QpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgICAgIGlmIChyZXMuZGF0YS5yZXN1bHRDb2RlID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmRhdGEgPSB7CiAgICAgICAgICAgICAgICAgICAgICAvLyAgIGd1aVN0eWxlOnsKICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAiY2xhc3MiOiAiZ28uR3JhcGhMaW5rc01vZGVsIiwKICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAibGlua0Zyb21Qb3J0SWRQcm9wZXJ0eSI6ICJmcm9tUG9ydCIsCiAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgImxpbmtUb1BvcnRJZFByb3BlcnR5IjogInRvUG9ydCIsCiAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgIm5vZGVEYXRhQXJyYXkiOiBbXSwKICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAibGlua0RhdGFBcnJheSI6IFtdCiAgICAgICAgICAgICAgICAgICAgICAvLyAgIH0KICAgICAgICAgICAgICAgICAgICAgIC8vIH0KICAgICAgICAgICAgICAgICAgICAgIGlmICghZmxhZykgewogICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZmxhZyA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgICAgICBfdGhpczQuJHJvdXRlci5wdXNoKCcvVGVtcGxhdGVNYW5hZ2VtZW50TGlzdHMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzNC5jdXJyZW50Q2hhbmdlKHsKICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnL1RlbXBsYXRlTWFuYWdlbWVudExpc3RzJwogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlcyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLmFicnVwdCgicmV0dXJuIiwgX2NvbnRleHQzLnNlbnQpOwoKICAgICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDMuc3RvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTMpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBmb3JtYXRHdWlTdHlsZTogZnVuY3Rpb24gZm9ybWF0R3VpU3R5bGUoKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwoKICAgICAgcmV0dXJuICgwLCBfYXN5bmNUb0dlbmVyYXRvcjIuZGVmYXVsdCkoIC8qI19fUFVSRV9fKi9yZWdlbmVyYXRvclJ1bnRpbWUubWFyayhmdW5jdGlvbiBfY2FsbGVlNCgpIHsKICAgICAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZTQkKF9jb250ZXh0NCkgewogICAgICAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgICAgc3dpdGNoIChfY29udGV4dDQucHJldiA9IF9jb250ZXh0NC5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSAyOwogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7CiAgICAgICAgICAgICAgICAgIHZhciBzdGFydE5vZGUgPSB7fTsgLy/ojrflj5blvIDlp4voioLngrkKCiAgICAgICAgICAgICAgICAgIF90aGlzNS5kYXRhLmd1aVN0eWxlLm5vZGVEYXRhQXJyYXkubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0ua2V5ID09PSAtMSkgewogICAgICAgICAgICAgICAgICAgICAgc3RhcnROb2RlID0gaXRlbTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgdmFyIHN0YXJ0bGluayA9IHt9OyAvL+iOt+WPluesrOS4gOaguee6v+eahOaVsOaNrgoKICAgICAgICAgICAgICAgICAgX3RoaXM1LmRhdGEuZ3VpU3R5bGUubGlua0RhdGFBcnJheS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5mcm9tID09PSAtMSkgewogICAgICAgICAgICAgICAgICAgICAgc3RhcnRsaW5rID0gaXRlbTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0pOyAvL+iOt+WPlui/nue6v+eahOato+ehruaOkuW6jwoKCiAgICAgICAgICAgICAgICAgIHZhciBsaW5rTWFwID0gW107CiAgICAgICAgICAgICAgICAgIG5ldyBBcnJheShfdGhpczUuZGF0YS5ndWlTdHlsZS5saW5rRGF0YUFycmF5Lmxlbmd0aCkuZmlsbChudWxsKS5tYXAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIF90aGlzNS5kYXRhLmd1aVN0eWxlLmxpbmtEYXRhQXJyYXkubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICAgICAgICBpZiAobGlua01hcC5sZW5ndGggPT09IDAgJiYgaXRlbS5mcm9tID09PSAtMSkgewogICAgICAgICAgICAgICAgICAgICAgICBsaW5rTWFwLnB1c2goaXRlbSk7CiAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgaWYgKGxpbmtNYXAubGVuZ3RoID4gMCAmJiBpdGVtLmZyb20gPT09IGxpbmtNYXBbbGlua01hcC5sZW5ndGggLSAxXS50bykgewogICAgICAgICAgICAgICAgICAgICAgICBsaW5rTWFwLnB1c2goaXRlbSk7CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICBfdGhpczUuZGF0YS5ndWlTdHlsZS5saW5rRGF0YUFycmF5ID0gbGlua01hcDsgLy/ojrflj5boioLngrnnmoTmraPnoa7pobrluo8KICAgICAgICAgICAgICAgICAgLy8gbGV0IG5vZGVNYXAgPSBbc3RhcnROb2RlXQoKICAgICAgICAgICAgICAgICAgX3RoaXM1LmRhdGEuZ3VpU3R5bGUubm9kZURhdGFBcnJheSA9IF90aGlzNS5kYXRhLmd1aVN0eWxlLmxpbmtEYXRhQXJyYXkucmVkdWNlKGZ1bmN0aW9uIChzdW0sIGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICBzdW0ucHVzaChfdGhpczUuZGF0YS5EaWFncmFtLm1vZGVsLmZpbmROb2RlRGF0YUZvcktleShpdGVtLnRvKSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1bTsKICAgICAgICAgICAgICAgICAgfSwgW3N0YXJ0Tm9kZV0pOyAvL+WwhuaJgOacieiKgueCueeahHjovbTkuI7lvIDlp4voioLngrnlr7npvZAKCiAgICAgICAgICAgICAgICAgIF90aGlzNS5kYXRhLmd1aVN0eWxlLm5vZGVEYXRhQXJyYXkubWFwKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgICAgICAgICAgICAgIHZhciBsb2MgPSBpdGVtLmxvYy5zcGxpdCgnICcpOwogICAgICAgICAgICAgICAgICAgIGxvY1swXSA9IHN0YXJ0Tm9kZS5sb2Muc3BsaXQoJyAnKVswXTsKICAgICAgICAgICAgICAgICAgICBsb2NbMV0gPSBOdW1iZXIoc3RhcnROb2RlLmxvYy5zcGxpdCgnICcpWzFdKSArIGluZGV4ICogODA7CiAgICAgICAgICAgICAgICAgICAgaXRlbS5sb2MgPSBsb2Muam9pbignICcpOwogICAgICAgICAgICAgICAgICB9KTsgLy/lsIbmiYDmnInov57nur/nmoR46L205LiO5byA5aeL6IqC54K55a+56b2QCgoKICAgICAgICAgICAgICAgICAgX3RoaXM1LmRhdGEuZ3VpU3R5bGUubGlua0RhdGFBcnJheS5tYXAoZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgaXRlbS5wb2ludHMuai5tYXAoZnVuY3Rpb24gKHRlbXApIHsKICAgICAgICAgICAgICAgICAgICAgIHRlbXAuRiA9IHN0YXJ0bGluay5wb2ludHMualswXS5GOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIGl0ZW0ucG9pbnRzLmoubWFwKGZ1bmN0aW9uICh0ZW1wLCBqKSB7CiAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGogIT09IGl0ZW0ucG9pbnRzLmoubGVuZ3RoIC0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAuRyA9IE51bWJlcihfdGhpczUuZGF0YS5ndWlTdHlsZS5ub2RlRGF0YUFycmF5W2luZGV4XS5sb2Muc3BsaXQoJyAnKVsxXSkgKyAyMDsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wLkcgPSBOdW1iZXIoX3RoaXM1LmRhdGEuZ3VpU3R5bGUubm9kZURhdGFBcnJheVtpbmRleCArIDFdLmxvYy5zcGxpdCgnICcpWzFdKSAtIDIwOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSBfdGhpczUuZGF0YS5ndWlTdHlsZS5saW5rRGF0YUFycmF5Lmxlbmd0aCAtIDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGogIT09IGl0ZW0ucG9pbnRzLmoubGVuZ3RoIC0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAuRyA9IE51bWJlcihfdGhpczUuZGF0YS5ndWlTdHlsZS5ub2RlRGF0YUFycmF5W2luZGV4XS5sb2Muc3BsaXQoJyAnKVsxXSkgKyAyMDsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wLkcgPSBOdW1iZXIoX3RoaXM1LmRhdGEuZ3VpU3R5bGUubm9kZURhdGFBcnJheVtpbmRleCArIDFdLmxvYy5zcGxpdCgnICcpWzFdKSAtIDIwOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaiAhPT0gaXRlbS5wb2ludHMuai5sZW5ndGggLSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcC5HID0gTnVtYmVyKF90aGlzNS5kYXRhLmd1aVN0eWxlLm5vZGVEYXRhQXJyYXlbaW5kZXhdLmxvYy5zcGxpdCgnICcpWzFdKSArIDIwOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAuRyA9IE51bWJlcihfdGhpczUuZGF0YS5ndWlTdHlsZS5ub2RlRGF0YUFycmF5W2luZGV4ICsgMV0ubG9jLnNwbGl0KCcgJylbMV0pIC0gMjA7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICBfdGhpczUuZGF0YS5EaWFncmFtLm1vZGVsID0gZ28uTW9kZWwuZnJvbUpzb24oX3RoaXM1LmRhdGEuZ3VpU3R5bGUpOwogICAgICAgICAgICAgICAgICAoMCwgX3RpbWVycy5zZXRUaW1lb3V0KShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgICAgICB9LCAxMDApOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NC5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlNCk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIGRhdGFDaGFuZ2U6IGZ1bmN0aW9uIGRhdGFDaGFuZ2UoZGF0YSkgewogICAgICAvL+avj+S4gOatpeS4reeahOaVsOaNruWPmOWMlgogICAgICB0aGlzLmRhdGEgPSBPYmplY3QuYXNzaWduKHRoaXMuZGF0YSwgZGF0YSk7CiAgICB9LAogICAgY2xvc2U6IGZ1bmN0aW9uIGNsb3NlKCkgewogICAgICB0aGlzLiRyb3V0ZXIucHVzaCgnL1RlbXBsYXRlTWFuYWdlbWVudExpc3RzJyk7CiAgICAgIHRoaXMuY3VycmVudENoYW5nZSh7CiAgICAgICAgcGF0aDogJy9UZW1wbGF0ZU1hbmFnZW1lbnRMaXN0cycKICAgICAgfSk7CiAgICB9LAogICAgY29uZmlybUFuZFB1Ymxpc2g6IGZ1bmN0aW9uIGNvbmZpcm1BbmRQdWJsaXNoKCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIC8v5L+d5a2Y5bm25Y+R5biDCiAgICAgIHRoaXMuY29uZmlybSh0cnVlKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczYuJG5ldHdvcmsucG9zdCgnL3AvY3MvbW9kdWxlL3B1Ymxpc2gnLCB7CiAgICAgICAgICBpZDogcmVzLmRhdGEuZGF0YS5pZAogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgICBpZiAocmVzcG9uc2UuZGF0YS5yZXN1bHRDb2RlID09PSAwKSB7CiAgICAgICAgICAgIF90aGlzNi4kcm91dGVyLnB1c2goJy9UZW1wbGF0ZU1hbmFnZW1lbnRMaXN0cycpOwoKICAgICAgICAgICAgX3RoaXM2LmN1cnJlbnRDaGFuZ2UoewogICAgICAgICAgICAgIHBhdGg6ICcvVGVtcGxhdGVNYW5hZ2VtZW50TGlzdHMnCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0KICB9KSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgX3Z1ZS5kZWZhdWx0LmNvbXBvbmVudCgiY29tcG9uZW50XyIuY29uY2F0KHRoaXMuY3VycmVudFN0ZXBzKSwgX3Z1ZS5kZWZhdWx0LmV4dGVuZChPYmplY3QuYXNzaWduKHsKICAgICAgaXNLZWVwQWxpdmVNb2RlbDogdHJ1ZQogICAgfSwgX1BhcmFtZXRlckNvbmZpZ3VyYXRpb24uZGVmYXVsdCkpKTsKCiAgICB0aGlzLmN1cnJlbnRDb21wb25lbnQgPSAiY29tcG9uZW50XyIuY29uY2F0KHRoaXMuY3VycmVudFN0ZXBzKTsKCiAgICBpZiAodGhpcy4kcm91dGUucGFyYW1zLmZsYWcgPT09ICcxJykgewogICAgICB0aGlzLnJlYWRPbmx5ID0gdHJ1ZTsKICAgICAgdGhpcy5ub0ZyZXNoRmxhZyA9IHRydWU7CiAgICAgIHRoaXMuZ2V0TW9kdWxlSW5mbyh0aGlzLiRyb3V0ZS5wYXJhbXMuaWQpOwogICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKHRoaXMuJHJvdXRlLnBhcmFtcy5pZCA9PT0gJy0xJykgey8v5paw5aKeCiAgICB9IGVsc2UgewogICAgICAvL+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\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\n// import '../__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\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 this.$network.post('/p/cs/module/load', {id:id}).then((res) => {\r\n if(res.data.resultCode === 0){\r\n res.data.data.businessType = [{\r\n ID:res.data.data.businessType,\r\n Label:res.data.data.businessTypeName,\r\n val:res.data.data.businessTypeText\r\n }]\r\n\r\n res.data.data.businessNumber = [{\r\n ID:String(res.data.data.businessKeyId),\r\n Label:res.data.data.businessKey,\r\n val:res.data.data.businessKeyName\r\n }]\r\n this.data = res.data.data\r\n this.data.guiStyle = JSON.parse(res.data.data.guiStyle)\r\n this.data.moduleId = res.data.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 this.$network.post('/p/cs/module/duplicate',jsonObject).then(res => {\r\n if(res.data.resultCode !== 0){\r\n this.$Modal.fcWarning({\r\n title:'警告',\r\n content:res.data.resultMsg,\r\n mask:true\r\n })\r\n reject()\r\n }\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 this.$network.post('/p/cs/module/commit',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 this.$network.post('/p/cs/module/publish', {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 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 === '-1'){ //新增\r\n\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"}]}