You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
92 KiB
1 line
92 KiB
{"remainingRequest":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\aa\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\mywork\\buycode\\code1\\springboot301400\\306\\aa\\admin\\src\\views\\modules\\fangjianOrder\\list.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\aa\\admin\\src\\views\\modules\\fangjianOrder\\list.vue","mtime":1649818457837},{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\aa\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1720078528573},{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\aa\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":1720078529261},{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\aa\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1720078528573},{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\aa\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1720078529317}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCiAgICBpbXBvcnQgQWRkT3JVcGRhdGUgZnJvbSAiLi9hZGQtb3ItdXBkYXRlIjsKICAgIGltcG9ydCBzdHlsZUpzIGZyb20gIi4uLy4uLy4uL3V0aWxzL3N0eWxlLmpzIjsKICAgIGltcG9ydCB1dGlsc0pzIGZyb20gIi4uLy4uLy4uL3V0aWxzL3V0aWxzLmpzIjsKCiAgICBleHBvcnQgZGVmYXVsdCB7CiAgICAgICAgZGF0YSgpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICBzZWFyY2hGb3JtOiB7CiAgICAgICAgICAgICAgICBrZXk6ICIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHNlc3Npb25UYWJsZSA6ICIiLC8v55m75b2V6LSm5oi35omA5Zyo6KGo5ZCNCiAgICAgICAgICAgIHJvbGUgOiAiIiwvL+adg+mZkAogICAgICAgICAgICB1c2VySWQ6IiIsLy/lvZPliY3nmbvlvZXkurrnmoRpZAogICAgLy/nuqfogZTooajkuIvmi4nmoYbmkJzntKLmnaHku7YKICAgICAgICAgICAgICBmYW5namlhblR5cGVzU2VsZWN0U2VhcmNoIDogW10sCiAgICAvL+W9k+WJjeihqOS4i+aLieahhuaQnOe0ouadoeS7tgogICAgICAgICAgICBmb3JtOnsKICAgICAgICAgICAgICAgIGlkIDogbnVsbCwKICAgICAgICAgICAgICAgIGZhbmdqaWFuSWQgOiBudWxsLAogICAgICAgICAgICAgICAgeW9uZ2h1SWQgOiBudWxsLAogICAgICAgICAgICAgICAgZmFuZ2ppYW5PcmRlclRpbWUgOiBudWxsLAogICAgICAgICAgICAgICAgZmFuZ2ppYW5PcmRlclRleHQgOiBudWxsLAogICAgICAgICAgICAgICAgZmFuZ2ppYW5PcmRlclR5cGVzIDogbnVsbCwKICAgICAgICAgICAgICAgIGNyZWF0ZVRpbWUgOiBudWxsLAogICAgICAgICAgICB9LAogICAgICAgICAgICBkYXRhTGlzdDogW10sCiAgICAgICAgICAgIHBhZ2VJbmRleDogMSwKICAgICAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgICAgICB0b3RhbFBhZ2U6IDAsCiAgICAgICAgICAgIGRhdGFMaXN0TG9hZGluZzogZmFsc2UsCiAgICAgICAgICAgIGRhdGFMaXN0U2VsZWN0aW9uczogW10sCiAgICAgICAgICAgIHNob3dGbGFnOiB0cnVlLAogICAgICAgICAgICBzZnNoVmlzaWFibGU6IGZhbHNlLAogICAgICAgICAgICBzaEZvcm06IHt9LAogICAgICAgICAgICBjaGFydFZpc2lhYmxlOiBmYWxzZSwKICAgICAgICAgICAgZWNoYXJ0c0RhdGU6IG5ldyBEYXRlKCksLy9lY2hhcnRz55qE5pe26Ze05p+l6K+i5a2X5q61CiAgICAgICAgICAgIGFkZE9yVXBkYXRlRmxhZzpmYWxzZSwKICAgICAgICAgICAgY29udGVudHM6bnVsbCwKICAgICAgICAgICAgbGF5b3V0czogJycsCgogICAgICAgICAgICAvL+WvvOWHumV4Y2VsCiAgICAgICAgICAgIGpzb25fZmllbGRzOiB7CiAgICAgICAgICAgICAgICAvL+e6p+iBlOihqOWtl+autQogICAgICAgICAgICAgICAgICAgICAn5oi/6Ze05ZCN56ewJzogJ2ZhbmdqaWFuTmFtZScsCiAgICAgICAgICAgICAgICAgICAgICfmiL/pl7Tlm77niYcnOiAnZmFuZ2ppYW5QaG90bycsCiAgICAgICAgICAgICAgICAgICAgICfmiL/pl7TnibnoibInOiAnZmFuZ2ppYW5UZXNlJywKICAgICAgICAgICAgICAgICAgICAgJ+aIv+mXtOmFjee9ric6ICdmYW5namlhblBlaXpoaScsCiAgICAgICAgICAgICAgICAgICAgICfmj5DkvpvnmoTllYblk4EnOiAnZmFuZ2ppYW5TaGFuZ3BpbicsCiAgICAgICAgICAgICAgICAgICAgICfmj5DkvpvnmoTmnI3liqEnOiAnZmFuZ2ppYW5GdXd1JywKICAgICAgICAgICAgICAgICAgICAgJ+S7t+agvO+8iOWkqe+8iSc6ICdmYW5namlhbk1vbmV5JywKICAgICAgICAgICAgICAgICAgICAgJ+aIv+mXtOexu+Weiyc6ICdmYW5namlhblR5cGVzJywKICAgICAgICAgICAgICAgICAgICAgJ+aIv+mXtOWJqeS9meaVsOmHjyc6ICdmYW5namlhbk51bWJlcicsCiAgICAgICAgICAgICAgICAgICAgICfngrnlh7vmrKHmlbAnOiAnZmFuZ2ppYW5DbGlja251bScsCiAgICAgICAgICAgICAgICAgICAgICfnlKjmiLflp5PlkI0nOiAneW9uZ2h1TmFtZScsCiAgICAgICAgICAgICAgICAgICAgICflpLTlg48nOiAneW9uZ2h1UGhvdG8nLAogICAgICAgICAgICAgICAgICAgICAn5omL5py65Y+3JzogJ3lvbmdodVBob25lJywKICAgICAgICAgICAgICAgICAgICAgJ+eUteWtkOmCrueusSc6ICd5b25naHVFbWFpbCcsCiAgICAgICAgICAgICAgICAgICAgICfkvZnpop0nOiAnbmV3TW9uZXknLAogICAgICAgICAgICAgICAgLy/mnKzooajlrZfmrrUKICAgICAgICAgICAgICAgICAgICAgJ+mihOe6puaXpeacnyc6ICJmYW5namlhbk9yZGVyVGltZSIsCiAgICAgICAgICAgICAgICAgICAgICfpooTnuqblpIfms6gnOiAiZmFuZ2ppYW5PcmRlclRleHQiLAogICAgICAgICAgICAgICAgICAgICAn6K6i5Y2V54q25oCBJzogImZhbmdqaWFuT3JkZXJUeXBlcyIsCiAgICAgICAgICAgIH0sCgogICAgICAgIC8v6K+E5Lu3CgkJCS8v5pON5L2c5pWw5o2uaWQKCQkJY29tbWVudGJhY2tJZDpudWxsLAoJCQkvL+ivhOS7t+WGheWuuQoJCQljb21tZW50YmFja0NvbnRlbnQ6bnVsbCwKCQkJLy/mqKHmgIHmoYbnirbmgIEKCQkJY29tbWVudGJhY2tWaXNpYmxlOmZhbHNlLAoJCQkvL+ivhOWIhgoJCSAgICBmYW5namlhbkNvbW1lbnRiYWNrUGluZ2Zlbk51bWJlcjowLCAgICAgICAgICAgIH07CiAgICAgICAgfSwKICAgICAgICBjcmVhdGVkKCkgewogICAgICAgICAgICB0aGlzLmNvbnRlbnRzID0gc3R5bGVKcy5saXN0U3R5bGUoKTsKICAgICAgICAgICAgdGhpcy5pbml0KCk7CiAgICAgICAgICAgIHRoaXMuZ2V0RGF0YUxpc3QoKTsKICAgICAgICAgICAgdGhpcy5jb250ZW50U3R5bGVDaGFuZ2UoKQogICAgICAgIH0sCiAgICAgICAgbW91bnRlZCgpIHsKICAgICAgICAgICAgLy/ojrflj5blvZPliY3nmbvlvZXnlKjmiLfnmoTkv6Hmga8KICAgICAgICAgICAgdGhpcy5zZXNzaW9uVGFibGUgPSB0aGlzLiRzdG9yYWdlLmdldCgic2Vzc2lvblRhYmxlIik7CiAgICAgICAgICAgIHRoaXMucm9sZSA9IHRoaXMuJHN0b3JhZ2UuZ2V0KCJyb2xlIik7CiAgICAgICAgICAgIHRoaXMudXNlcklkID0gdGhpcy4kc3RvcmFnZS5nZXQoInVzZXJJZCIpOwoKICAgICAgICB9LAogICAgICAgIGZpbHRlcnM6IHsKICAgICAgICAgICAgaHRtbGZpbHRlcjogZnVuY3Rpb24gKHZhbCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZhbC5yZXBsYWNlKC88W14+XSo+L2cpLnJlcGxhY2UoL3VuZGVmaW5lZC9nLCcnKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgY29tcG9uZW50czogewogICAgICAgICAgICBBZGRPclVwZGF0ZSwKICAgICAgICB9LAogICAgICAgIGNvbXB1dGVkOiB7CiAgICAgICAgfSwKICAgICAgICBtZXRob2RzOiB7CiAgICAgICAgICAgIGNoYXJ0RGlhbG9nKCkgewogICAgICAgICAgICAgICAgbGV0IF90aGlzID0gdGhpczsKICAgICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7CiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdCA6IiVZIiwgLy8lWS0lbQogICAgICAgICAgICAgICAgICAgIHJpcWkgOl90aGlzLmVjaGFydHNEYXRlLmdldEZ1bGxZZWFyKCksCiAgICAgICAgICAgICAgICAgICAgLy8gcmlxaSA6X3RoaXMuZWNoYXJ0c0RhdGUuZ2V0RnVsbFllYXIoKSsiLSIrKF90aGlzLmVjaGFydHNEYXRlLmdldE1vbnRoKCkgKyAxIDwgMTAgPyAnMCcgKyAoX3RoaXMuZWNoYXJ0c0RhdGUuZ2V0TW9udGgoKSArIDEpIDogX3RoaXMuZWNoYXJ0c0RhdGUuZ2V0TW9udGgoKSArIDEpLAogICAgICAgICAgICAgICAgICAgIHRoaXNUYWJsZSA6IHsvL+W9k+WJjeihqAogICAgICAgICAgICAgICAgICAgICAgICB0YWJsZU5hbWUgOidmYW5namlhbl9vcmRlcicsLy/lvZPliY3ooajooajlkI0sCiAgICAgICAgICAgICAgICAgICAgICAgIHN1bUNvbHVtIDogJ2ZhbmdqaWFuX29yZGVyX251bWJlcicsIC8v5rGC5ZKM5a2X5q61CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGUgOiAnaW5zZXJ0X3RpbWUnLC8v5YiG57uE5pel5pyf5a2X5q61CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0cmluZyA6ICdmYW5namlhbl9vcmRlcl9uYW1lJywvL+WIhue7hOWtl+espuS4suWtl+autQogICAgICAgICAgICAgICAgICAgICAgICAvLyB0eXBlcyA6ICdmYW5namlhbl9vcmRlcl90eXBlcycsLy/liIbnu4TkuIvmi4nmoYblrZfmrrUKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIC8vIGpvaW5UYWJsZSA6IHsvL+e6p+iBlOihqO+8iOWPr+S7peS4jeWtmOWcqO+8iQogICAgICAgICAgICAgICAgICAgIC8vICAgICB0YWJsZU5hbWUgOid5b25naHUnLC8v57qn6IGU6KGo6KGo5ZCNCiAgICAgICAgICAgICAgICAgICAgLy8gICAgIC8vIGRhdGUgOiAnaW5zZXJ0X3RpbWUnLC8v5YiG57uE5pel5pyf5a2X5q61CiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHN0cmluZyA6ICd5b25naHVfbmFtZScsLy/liIbnu4TlrZfnrKbkuLLlrZfmrrUKICAgICAgICAgICAgICAgICAgICAvLyAgICAgLy8gdHlwZXMgOiAneW9uZ2h1X3R5cGVzJywvL+WIhue7hOS4i+aLieahhuWtl+autQogICAgICAgICAgICAgICAgICAgIC8vIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF90aGlzLmNoYXJ0VmlzaWFibGUgPSB0cnVlOwogICAgICAgICAgICAgICAgX3RoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICB2YXIgc3RhdGlzdGljID0gdGhpcy4kZWNoYXJ0cy5pbml0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0aXN0aWMiKSwgJ21hY2Fyb25zJyk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kaHR0cCh7CiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogImJhclN1bSIsCiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogImdldCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zCiAgICAgICAgICAgICAgICAgICAgfSkudGhlbigoe2RhdGF9KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGRhdGEgJiYgZGF0YS5jb2RlID09PSAwKXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+afseeKtuWbviDmsYLlkowg5bey5oiQ5Yqf5L2/55SoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3N0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgeUF4aXNOYW1lID0gIuaVsOWAvCI7Ly/moLnmja7mn6Xor6LmlbDmja7lhbfkvZPmlLko5Y2V5YiX6KaB5pS5LOWkmuWIl+S4jeaUuSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB4QXhpc05hbWUgPSAi5pyI5Lu9IjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZXJpZXMgPSBbXTsvL+WFt+S9k+aVsOaNruWAvAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5kYXRhLnlBeGlzLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0saW5kZXgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGVtcE1hcCA9IHt9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRlbXBNYXAubmFtZT0gWyLmlbDlgLwiXTsvL+agueaNruafpeivouaVsOaNruWFt+S9k+aUuSjljZXliJfopoHmlLks5aSa5YiX5LiN5pS5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBNYXAubmFtZT1kYXRhLmRhdGEubGVnZW5kW2luZGV4XTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTWFwLnR5cGU9J2Jhcic7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE1hcC5kYXRhPWl0ZW07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWVzLnB1c2godGVtcE1hcCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb3B0aW9uID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2F4aXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBheGlzUG9pbnRlcjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Nyb3NzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyb3NzU3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM5OTknCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3g6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGF0YVZpZXc6IHsgc2hvdzogdHJ1ZSwgcmVhZE9ubHk6IGZhbHNlIH0sICAvLyDmlbDmja7mn6XnnIsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2ljVHlwZTogeyBzaG93OiB0cnVlLCB0eXBlOiBbJ2xpbmUnLCAnYmFyJ10gfSwvL+WIh+aNouWbvuW9ouWxleekuuaWueW8jwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVzdG9yZTogeyBzaG93OiB0cnVlIH0sIC8vIOWIt+aWsAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZUFzSW1hZ2U6IHsgc2hvdzogdHJ1ZSB9Ly/kv53lrZgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVnZW5kOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEuZGF0YS5sZWdlbmQvL+agh+mimCAg5Y+v5Lul54K55Ye75a+86Ie05p+Q5LiA5YiX5pWw5o2u5raI5aSxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4QXhpczogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnY2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogeEF4aXNOYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YS5kYXRhLnhBeGlzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXhpc1BvaW50ZXI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc2hhZG93JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5QXhpczogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAndmFsdWUnLC8v5LiN6IO95pS5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB5QXhpc05hbWUsLy956L205Y2V5L2NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBheGlzTGFiZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6ICd7dmFsdWV9JyAvLyDlkI7nvIAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWVzOnNlcmllcy8v5YW35L2T5pWw5o2uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5L2/55So5Yia5oyH5a6a55qE6YWN572u6aG55ZKM5pWw5o2u5pi+56S65Zu+6KGo44CCCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aXN0aWMuc2V0T3B0aW9uKG9wdGlvbix0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v5qC55o2u56qX5Y+j55qE5aSn5bCP5Y+Y5Yqo5Zu+6KGoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cub25yZXNpemUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGlzdGljLnJlc2l6ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZW5kCiAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICLmiqXooajmnKrmn6Xor6LliLDmlbDmja4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTUwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlOiAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgLy8vL+mlvOeKtuWbvgogICAgICAgICAgICAgICAgLy9fdGhpcy5jaGFydFZpc2lhYmxlID0gdHJ1ZTsKICAgICAgICAgICAgICAgIC8vIHRoaXMuJG5leHRUaWNrKCgpPT57CiAgICAgICAgICAgICAgICAvLyAgICAgdmFyIHN0YXRpc3RpYyA9IHRoaXMuJGVjaGFydHMuaW5pdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhdGlzdGljIiksJ21hY2Fyb25zJyk7CiAgICAgICAgICAgICAgICAvLyAgICAgbGV0IHBhcmFtcyA9IHsKICAgICAgICAgICAgICAgIC8vICAgICAgICAgdGFibGVOYW1lOiAiZmFuZ2ppYW5fb3JkZXIiLAogICAgICAgICAgICAgICAgLy8gICAgICAgICBncm91cENvbHVtbjogImZhbmdqaWFuX29yZGVyX3R5cGVzIiwKICAgICAgICAgICAgICAgIC8vICAgICB9CiAgICAgICAgICAgICAgICAvLyAgICAgdGhpcy4kaHR0cCh7CiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHVybDogIm5ld1NlbGVjdEdyb3VwQ291bnQiLAogICAgICAgICAgICAgICAgLy8gICAgICAgICBtZXRob2Q6ICJnZXQiLAogICAgICAgICAgICAgICAgLy8gICAgICAgICBwYXJhbXM6IHBhcmFtcwogICAgICAgICAgICAgICAgLy8gICAgIH0pLnRoZW4oKHtkYXRhfSkgPT4gewogICAgICAgICAgICAgICAgLy8gICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLmNvZGUgPT09IDApIHsKICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGxldCByZXMgPSBkYXRhLmRhdGE7CiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBsZXQgeEF4aXMgPSBbXTsKICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGxldCB5QXhpcyA9IFtdOwogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgbGV0IHBBcnJheSA9IFtdCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB2YXIgb3B0aW9uID0ge307CiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBmb3IobGV0IGk9MDtpPHJlcy5sZW5ndGg7aSsrKXsKICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB4QXhpcy5wdXNoKHJlc1tpXS5uYW1lKTsKICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB5QXhpcy5wdXNoKHJlc1tpXS52YWx1ZSk7CiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgcEFycmF5LnB1c2goewogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVzW2ldLnZhbHVlLAogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXNbaV0ubmFtZQogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgb3B0aW9uID0gewogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB0aXRsZTogewogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ+S/nemZqeWQiOWQjOexu+Wei+e7n+iuoScsCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAnY2VudGVyJwogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnaXRlbScsCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6ICd7Yn0gOiB7Y30gKHtkfSUpJwogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBzZXJpZXM6IFsKICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAncGllJywKICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWRpdXM6ICc1NSUnLAogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogWyc1MCUnLCAnNjAlJ10sCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogcEFycmF5LAogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93Qmx1cjogMTAsCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dPZmZzZXRYOiAwLAogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93Q29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuNSknCiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHN0YXRpc3RpYy5zZXRPcHRpb24ob3B0aW9uKTsKICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB3aW5kb3cub25yZXNpemUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgc3RhdGlzdGljLnJlc2l6ZSgpOwogICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vICAgICB9KTsKICAgICAgICAgICAgICAgIC8vIH0pCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbnRlbnRTdHlsZUNoYW5nZSgpIHsKICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFNlYXJjaFN0eWxlQ2hhbmdlKCkKICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEJ0bkFkQWxsU3R5bGVDaGFuZ2UoKQogICAgICAgICAgICAgICAgdGhpcy5jb250ZW50U2VhcmNoQnRuU3R5bGVDaGFuZ2UoKQogICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGFibGVCdG5TdHlsZUNoYW5nZSgpCiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRQYWdlU3R5bGVDaGFuZ2UoKQogICAgICAgICAgICB9LAogICAgICAgICAgICBjb250ZW50U2VhcmNoU3R5bGVDaGFuZ2UoKSB7CiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvcm0tY29udGVudCAuc2x0IC5lbC1pbnB1dF9faW5uZXInKS5mb3JFYWNoKGVsID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRleHRBbGlnbiA9ICdsZWZ0JwogICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmNvbnRlbnRzLmlucHV0Rm9udFBvc2l0aW9uID09IDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ24gPSAnY2VudGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudHMuaW5wdXRGb250UG9zaXRpb24gPT0gMykgdGV4dEFsaWduID0gJ3JpZ2h0JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLnRleHRBbGlnbiA9IHRleHRBbGlnbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gdGhpcy5jb250ZW50cy5pbnB1dEhlaWdodAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUubGluZUhlaWdodCA9IHRoaXMuY29udGVudHMuaW5wdXRIZWlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmNvbG9yID0gdGhpcy5jb250ZW50cy5pbnB1dEZvbnRDb2xvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuZm9udFNpemUgPSB0aGlzLmNvbnRlbnRzLmlucHV0Rm9udFNpemUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlcldpZHRoID0gdGhpcy5jb250ZW50cy5pbnB1dEJvcmRlcldpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJTdHlsZSA9IHRoaXMuY29udGVudHMuaW5wdXRCb3JkZXJTdHlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYm9yZGVyQ29sb3IgPSB0aGlzLmNvbnRlbnRzLmlucHV0Qm9yZGVyQ29sb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclJhZGl1cyA9IHRoaXMuY29udGVudHMuaW5wdXRCb3JkZXJSYWRpdXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuY29udGVudHMuaW5wdXRCZ0NvbG9yCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZW50cy5pbnB1dFRpdGxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb3JtLWNvbnRlbnQgLnNsdCAuZWwtZm9ybS1pdGVtX19sYWJlbCcpLmZvckVhY2goZWwgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuY29sb3IgPSB0aGlzLmNvbnRlbnRzLmlucHV0VGl0bGVDb2xvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuZm9udFNpemUgPSB0aGlzLmNvbnRlbnRzLmlucHV0VGl0bGVTaXplCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5saW5lSGVpZ2h0ID0gdGhpcy5jb250ZW50cy5pbnB1dEhlaWdodAogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvcm0tY29udGVudCAuc2x0IC5lbC1pbnB1dF9fcHJlZml4JykuZm9yRWFjaChlbCA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5jb2xvciA9IHRoaXMuY29udGVudHMuaW5wdXRJY29uQ29sb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmxpbmVIZWlnaHQgPSB0aGlzLmNvbnRlbnRzLmlucHV0SGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb3JtLWNvbnRlbnQgLnNsdCAuZWwtaW5wdXRfX3N1ZmZpeCcpLmZvckVhY2goZWwgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuY29sb3IgPSB0aGlzLmNvbnRlbnRzLmlucHV0SWNvbkNvbG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5saW5lSGVpZ2h0ID0gdGhpcy5jb250ZW50cy5pbnB1dEhlaWdodAogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZm9ybS1jb250ZW50IC5zbHQgLmVsLWlucHV0X19pY29uJykuZm9yRWFjaChlbCA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5saW5lSGVpZ2h0ID0gdGhpcy5jb250ZW50cy5pbnB1dEhlaWdodAogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0sIDEwICkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIC8vIOaQnOe0ouaMiemSrgogICAgICAgICAgICBjb250ZW50U2VhcmNoQnRuU3R5bGVDaGFuZ2UoKSB7CiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvcm0tY29udGVudCAuc2x0IC5lbC1idXR0b24tLXN1Y2Nlc3MnKS5mb3JFYWNoKGVsID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gdGhpcy5jb250ZW50cy5zZWFyY2hCdG5IZWlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuY29sb3IgPSB0aGlzLmNvbnRlbnRzLnNlYXJjaEJ0bkZvbnRDb2xvcgogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5mb250U2l6ZSA9IHRoaXMuY29udGVudHMuc2VhcmNoQnRuRm9udFNpemUKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYm9yZGVyV2lkdGggPSB0aGlzLmNvbnRlbnRzLnNlYXJjaEJ0bkJvcmRlcldpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclN0eWxlID0gdGhpcy5jb250ZW50cy5zZWFyY2hCdG5Cb3JkZXJTdHlsZQogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJDb2xvciA9IHRoaXMuY29udGVudHMuc2VhcmNoQnRuQm9yZGVyQ29sb3IKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYm9yZGVyUmFkaXVzID0gdGhpcy5jb250ZW50cy5zZWFyY2hCdG5Cb3JkZXJSYWRpdXMKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb250ZW50cy5zZWFyY2hCdG5CZ0NvbG9yCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIC8vIOaWsOWinuOAgeaJuemHj+WIoOmZpAogICAgICAgICAgICBjb250ZW50QnRuQWRBbGxTdHlsZUNoYW5nZSgpIHsKICAgICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZm9ybS1jb250ZW50IC5hZCAuZWwtYnV0dG9uLS1zdWNjZXNzJykuZm9yRWFjaChlbCA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxIZWlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuY29sb3IgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsQWRkRm9udENvbG9yCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmZvbnRTaXplID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEZvbnRTaXplCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlcldpZHRoID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEJvcmRlcldpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclN0eWxlID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEJvcmRlclN0eWxlCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlckNvbG9yID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEJvcmRlckNvbG9yCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclJhZGl1cyA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJSYWRpdXMKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEFkZEJnQ29sb3IKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb3JtLWNvbnRlbnQgLmFkIC5lbC1idXR0b24tLWRhbmdlcicpLmZvckVhY2goZWwgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsSGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmNvbG9yID0gdGhpcy5jb250ZW50cy5idG5BZEFsbERlbEZvbnRDb2xvcgogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5mb250U2l6ZSA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxGb250U2l6ZQogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJXaWR0aCA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJXaWR0aAogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJTdHlsZSA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJTdHlsZQogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJDb2xvciA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJDb2xvcgogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJSYWRpdXMgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsQm9yZGVyUmFkaXVzCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxEZWxCZ0NvbG9yCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZm9ybS1jb250ZW50IC5hZCAuZWwtYnV0dG9uLS13YXJuaW5nJykuZm9yRWFjaChlbCA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxIZWlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuY29sb3IgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsV2FybkZvbnRDb2xvcgogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5mb250U2l6ZSA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxGb250U2l6ZQogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJXaWR0aCA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJXaWR0aAogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJTdHlsZSA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJTdHlsZQogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJDb2xvciA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJDb2xvcgogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJSYWRpdXMgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsQm9yZGVyUmFkaXVzCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxXYXJuQmdDb2xvcgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LAogICAgICAgICAgICAvLyDooajmoLwKICAgICAgICAgICAgcm93U3R5bGUoe3Jvdywgcm93SW5kZXh9KSB7CiAgICAgICAgICAgICAgICBpZiAocm93SW5kZXggJSAyID09IDEpIHsKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZW50cy50YWJsZVN0cmlwZSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge2NvbG9yOiB0aGlzLmNvbnRlbnRzLnRhYmxlU3RyaXBlRm9udENvbG9yfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNlbGxTdHlsZSh7cm93LCByb3dJbmRleH0pIHsKICAgICAgICAgICAgICAgIGlmIChyb3dJbmRleCAlIDIgPT0gMSkgewogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRzLnRhYmxlU3RyaXBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7YmFja2dyb3VuZENvbG9yOiB0aGlzLmNvbnRlbnRzLnRhYmxlU3RyaXBlQmdDb2xvcn0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAnJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBoZWFkZXJSb3dTdHlsZSh7cm93LCByb3dJbmRleH0pIHsKICAgICAgICAgICAgICAgIHJldHVybiB7Y29sb3I6IHRoaXMuY29udGVudHMudGFibGVIZWFkZXJGb250Q29sb3J9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGhlYWRlckNlbGxTdHlsZSh7cm93LCByb3dJbmRleH0pIHsKICAgICAgICAgICAgICAgIHJldHVybiB7YmFja2dyb3VuZENvbG9yOiB0aGlzLmNvbnRlbnRzLnRhYmxlSGVhZGVyQmdDb2xvcn0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8g6KGo5qC85oyJ6ZKuCiAgICAgICAgICAgIGNvbnRlbnRUYWJsZUJ0blN0eWxlQ2hhbmdlKCkgewogICAgICAgICAgICAgICAgLy8gdGhpcy4kbmV4dFRpY2soKCk9PnsKICAgICAgICAgICAgICAgIC8vICAgc2V0VGltZW91dCgoKT0+ewogICAgICAgICAgICAgICAgLy8gICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50YWJsZS1jb250ZW50IC50YWJsZXMgLmVsLXRhYmxlX19ib2R5IC5lbC1idXR0b24tLXN1Y2Nlc3MnKS5mb3JFYWNoKGVsPT57CiAgICAgICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuSGVpZ2h0CiAgICAgICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5jb2xvciA9IHRoaXMuY29udGVudHMudGFibGVCdG5EZXRhaWxGb250Q29sb3IKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmZvbnRTaXplID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkZvbnRTaXplCiAgICAgICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJXaWR0aCA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJXaWR0aAogICAgICAgICAgICAgICAgLy8gICAgICAgZWwuc3R5bGUuYm9yZGVyU3R5bGUgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuQm9yZGVyU3R5bGUKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJvcmRlckNvbG9yID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkJvcmRlckNvbG9yCiAgICAgICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJSYWRpdXMgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuQm9yZGVyUmFkaXVzCiAgICAgICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuRGV0YWlsQmdDb2xvcgogICAgICAgICAgICAgICAgLy8gICAgIH0pCiAgICAgICAgICAgICAgICAvLyAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRhYmxlLWNvbnRlbnQgLnRhYmxlcyAuZWwtdGFibGVfX2JvZHkgLmVsLWJ1dHRvbi0tcHJpbWFyeScpLmZvckVhY2goZWw9PnsKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IHRoaXMuY29udGVudHMudGFibGVCdG5IZWlnaHQKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmNvbG9yID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkVkaXRGb250Q29sb3IKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmZvbnRTaXplID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkZvbnRTaXplCiAgICAgICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJXaWR0aCA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJXaWR0aAogICAgICAgICAgICAgICAgLy8gICAgICAgZWwuc3R5bGUuYm9yZGVyU3R5bGUgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuQm9yZGVyU3R5bGUKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJvcmRlckNvbG9yID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkJvcmRlckNvbG9yCiAgICAgICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJSYWRpdXMgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuQm9yZGVyUmFkaXVzCiAgICAgICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuRWRpdEJnQ29sb3IKICAgICAgICAgICAgICAgIC8vICAgICB9KQogICAgICAgICAgICAgICAgLy8gICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50YWJsZS1jb250ZW50IC50YWJsZXMgLmVsLXRhYmxlX19ib2R5IC5lbC1idXR0b24tLWRhbmdlcicpLmZvckVhY2goZWw9PnsKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IHRoaXMuY29udGVudHMudGFibGVCdG5IZWlnaHQKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmNvbG9yID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkRlbEZvbnRDb2xvcgogICAgICAgICAgICAgICAgLy8gICAgICAgZWwuc3R5bGUuZm9udFNpemUgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuRm9udFNpemUKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJvcmRlcldpZHRoID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkJvcmRlcldpZHRoCiAgICAgICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJTdHlsZSA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJTdHlsZQogICAgICAgICAgICAgICAgLy8gICAgICAgZWwuc3R5bGUuYm9yZGVyQ29sb3IgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuQm9yZGVyQ29sb3IKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJvcmRlclJhZGl1cyA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJSYWRpdXMKICAgICAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuY29udGVudHMudGFibGVCdG5EZWxCZ0NvbG9yCiAgICAgICAgICAgICAgICAvLyAgICAgfSkKCiAgICAgICAgICAgICAgICAvLyAgIH0sIDUwKQogICAgICAgICAgICAgICAgLy8gfSkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8g5YiG6aG1CiAgICAgICAgICAgIGNvbnRlbnRQYWdlU3R5bGVDaGFuZ2UoKSB7CiAgICAgICAgICAgICAgICBsZXQgYXJyID0gW10KICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRzLnBhZ2VUb3RhbCkgYXJyLnB1c2goJ3RvdGFsJykKICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRzLnBhZ2VTaXplcykgYXJyLnB1c2goJ3NpemVzJykKICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRzLnBhZ2VQcmV2TmV4dCkgewogICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKCdwcmV2JykKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZW50cy5wYWdlUGFnZXIpIGFyci5wdXNoKCdwYWdlcicpCiAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goJ25leHQnKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudHMucGFnZUp1bXBlcikgYXJyLnB1c2goJ2p1bXBlcicpCiAgICAgICAgICAgICAgICB0aGlzLmxheW91dHMgPSBhcnIuam9pbigpCiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRzLnBhZ2VFYWNoTnVtID0gMTAKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIGluaXQoKSB7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHNlYXJjaCgpIHsKICAgICAgICAgICAgICAgIHRoaXMucGFnZUluZGV4ID0gMTsKICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGF0YUxpc3QoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8g6I635Y+W5pWw5o2u5YiX6KGoCiAgICAgICAgICAgIGdldERhdGFMaXN0KCkgewogICAgICAgICAgICAgICAgdGhpcy5kYXRhTGlzdExvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgbGV0IHBhcmFtcyA9IHsKICAgICAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2VJbmRleCwKICAgICAgICAgICAgICAgICAgICBsaW1pdDogdGhpcy5wYWdlU2l6ZSwKICAgICAgICAgICAgICAgICAgICBzb3J0OiAnaWQnLAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaEZvcm0uZmFuZ2ppYW5OYW1lIT0gJycgJiYgdGhpcy5zZWFyY2hGb3JtLmZhbmdqaWFuTmFtZSE9IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIHBhcmFtc1snZmFuZ2ppYW5OYW1lJ10gPSAnJScgKyB0aGlzLnNlYXJjaEZvcm0uZmFuZ2ppYW5OYW1lICsgJyUnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VhcmNoRm9ybS5mYW5namlhblR5cGVzIT0gJycgJiYgdGhpcy5zZWFyY2hGb3JtLmZhbmdqaWFuVHlwZXMhPSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBwYXJhbXNbJ2ZhbmdqaWFuVHlwZXMnXSA9IHRoaXMuc2VhcmNoRm9ybS5mYW5namlhblR5cGVzCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaEZvcm0ueW9uZ2h1TmFtZSE9ICcnICYmIHRoaXMuc2VhcmNoRm9ybS55b25naHVOYW1lIT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgcGFyYW1zWyd5b25naHVOYW1lJ10gPSAnJScgKyB0aGlzLnNlYXJjaEZvcm0ueW9uZ2h1TmFtZSArICclJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgcGFyYW1zWydmYW5namlhbk9yZGVyRGVsZXRlJ10gPSAxLy8g6YC76L6R5Yig6Zmk5a2X5q61IDEg5pyq5Yig6ZmkIDIg5Yig6ZmkCgoKICAgICAgICAgICAgICAgIHRoaXMuJGh0dHAoewogICAgICAgICAgICAgICAgICAgIHVybDogImZhbmdqaWFuT3JkZXIvcGFnZSIsCiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAiZ2V0IiwKICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtcwogICAgICAgICAgICAgICAgfSkudGhlbigoe2RhdGF9KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YSAmJiBkYXRhLmNvZGUgPT09IDApewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFMaXN0ID0gZGF0YS5kYXRhLmxpc3Q7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG90YWxQYWdlID0gZGF0YS5kYXRhLnRvdGFsOwogICAgICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFMaXN0ID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG90YWxQYWdlID0gMDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhTGlzdExvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIC8v5p+l6K+i57qn6IGU6KGo5pCc57Si5p2h5Lu25omA5pyJ5YiX6KGoCiAgICAgICAgICAgICAgICB0aGlzLiRodHRwKHsKICAgICAgICAgICAgICAgICAgICB1cmw6ICJkaWN0aW9uYXJ5L3BhZ2U/ZGljQ29kZT1mYW5namlhbl90eXBlcyZwYWdlPTEmbGltaXQ9MTAwIiwKICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICJnZXQiLAogICAgICAgICAgICAgICAgICAgIHBhZ2U6IDEsCiAgICAgICAgICAgICAgICAgICAgbGltaXQ6IDEwMCwKICAgICAgICAgICAgICAgIH0pLnRoZW4oKHtkYXRhfSkgPT4gewogICAgICAgICAgICAgICAgICAgIGlmKGRhdGEgJiYgZGF0YS5jb2RlID09PSAwKXsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mYW5namlhblR5cGVzU2VsZWN0U2VhcmNoID0gZGF0YS5kYXRhLmxpc3Q7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAvL+afpeivouW9k+WJjeihqOaQnOe0ouadoeS7tuaJgOacieWIl+ihqAogICAgICAgICAgICB9LAogICAgICAgICAgICAvL+avj+mhteaVsAogICAgICAgICAgICBzaXplQ2hhbmdlSGFuZGxlKHZhbCkgewogICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHZhbDsKICAgICAgICAgICAgICAgIHRoaXMucGFnZUluZGV4ID0gMTsKICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGF0YUxpc3QoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8g5b2T5YmN6aG1CiAgICAgICAgICAgIGN1cnJlbnRDaGFuZ2VIYW5kbGUodmFsKSB7CiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHZhbDsKICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGF0YUxpc3QoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8g5aSa6YCJCiAgICAgICAgICAgIHNlbGVjdGlvbkNoYW5nZUhhbmRsZXIodmFsKSB7CiAgICAgICAgICAgICAgICB0aGlzLmRhdGFMaXN0U2VsZWN0aW9ucyA9IHZhbDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8g5re75YqgL+S/ruaUuQogICAgICAgICAgICBhZGRPclVwZGF0ZUhhbmRsZXIoaWQsIHR5cGUpIHsKICAgICAgICAgICAgICAgIHRoaXMuc2hvd0ZsYWcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuYWRkT3JVcGRhdGVGbGFnID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHRoaXMuY3Jvc3NBZGRPclVwZGF0ZUZsYWcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIGlmICh0eXBlICE9ICdpbmZvJykgewogICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnZWxzZSc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5hZGRPclVwZGF0ZS5pbml0KGlkLCB0eXBlKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAogICAgICAgICAgICAvLyDkuIvovb0KICAgICAgICAgICAgZG93bmxvYWQoZmlsZSkgewogICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oIiAke2ZpbGV9ICIpCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIC8vIOWIoOmZpAogICAgICAgICAgICBkZWxldGVIYW5kbGVyKGlkKSB7CiAgICAgICAgICAgICAgICB2YXIgaWRzID0gaWQgPyBbTnVtYmVyKGlkKV0gOiB0aGlzLmRhdGFMaXN0U2VsZWN0aW9ucy5tYXAoaXRlbSA9PiB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihpdGVtLmlkKTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHRoaXMuJGNvbmZpcm0oYOehruWumui/m+ihjFske2lkID8gIuWIoOmZpCIgOiAi5om56YeP5Yig6ZmkIn1d5pON5L2cP2AsICLmj5DnpLoiLCB7CiAgICAgICAgICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kaHR0cCh7CiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogImZhbmdqaWFuT3JkZXIvZGVsZXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAicG9zdCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGlkcwogICAgICAgICAgICAgICAgICAgIH0pLnRoZW4oKHtkYXRhfSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBpZihkYXRhICYmIGRhdGEuY29kZSA9PT0gMCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAi5pON5L2c5oiQ5YqfIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDE1MDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbG9zZTogKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoZGF0YS5tc2cpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8g5a+85YWl5Yqf6IO95LiK5Lyg5paH5Lu25oiQ5Yqf5ZCO6LCD55So5a+85YWl5pa55rOVCiAgICAgICAgICAgIGZhbmdqaWFuT3JkZXJVcGxvYWRTdWNjZXNzKGRhdGEpewogICAgICAgICAgICAgICAgbGV0IF90aGlzID0gdGhpczsKICAgICAgICAgICAgICAgIF90aGlzLiRodHRwKHsKICAgICAgICAgICAgICAgICAgICB1cmw6ICJmYW5namlhbk9yZGVyL2JhdGNoSW5zZXJ0P2ZpbGVOYW1lPSIgKyBkYXRhLmZpbGUsCiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAiZ2V0IgogICAgICAgICAgICAgICAgfSkudGhlbigoe2RhdGF9KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YSAmJiBkYXRhLmNvZGUgPT09IDApewogICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAi5a+85YWl5oi/6Ze06aKE57qm5pWw5o2u5oiQ5YqfIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxNTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbG9zZTogKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLnNlYXJjaCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuJG1lc3NhZ2UuZXJyb3IoZGF0YS5tc2cpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8g5a+85YWl5Yqf6IO95LiK5Lyg5paH5Lu25aSx6LSl5ZCO6LCD55So5a+85YWl5pa55rOVCiAgICAgICAgICAgIGZhbmdqaWFuT3JkZXJVcGxvYWRFcnJvcihkYXRhKXsKICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+S4iuS8oOWksei0pScpOwogICAgICAgICAgICB9LAogICAgICAgICAgICAvL+mAgOasvgoJCQlyZWZ1bmQoaWQpewoJCQkJdGhpcy4kY29uZmlybShg56Gu5a6a6KaB6YCA5qy+5ZCXP2AsICLmj5DnpLoiLCB7CgkJCQkgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAoJCQkJICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAoJCQkJICAgIHR5cGU6ICJ3YXJuaW5nIgoJCQkJfSkudGhlbigoKSA9PiB7CgkJCQkgICB0aGlzLiRodHRwKHsKCQkJCSAgICAgICAgdXJsOiAiZmFuZ2ppYW5PcmRlci9yZWZ1bmQ/aWQ9IitpZCwKCQkJCSAgICAgICAgbWV0aG9kOiAicG9zdCIsCgkJCQkgICAgfSkudGhlbigoeyBkYXRhIH0pID0+IHsKCQkJCSAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5jb2RlID09PSAwKSB7CgkJCQkgICAgICAgICAgICB0aGlzLiRtZXNzYWdlKHsKCQkJCSAgICAgICAgICAgICAgICBtZXNzYWdlOiLpgIDmrL7miJDlip8iLAoJCQkJICAgICAgICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKCQkJCSAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTUwMCwKCQkJCSAgICAgICAgICAgICAgICBvbkNsb3NlOiAoKSA9PiB7dGhpcy5zZWFyY2goKTt9CgkJCQkgICAgICAgICAgICB9KTsKCQkJCSAgICAgICAgfSBlbHNlIHsKCQkJCSAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoZGF0YS5tc2cpOwoJCQkJICAgICAgICB9CgkJCQkgICAgfSk7CgkJCQl9KTsKCQkJfSwKICAgICAgICAgICAgLy/lrozmiJAKICAgICAgICAgICAgZGVsaXZlcihpZCl7CiAgICAgICAgICAgICAgICBsZXQgX3RoaXMgPSB0aGlzOwogICAgICAgICAgICAgICAgdGhpcy4kY29uZmlybShg56Gu5a6a5bey57uP5a6M5oiQ5LqG5ZCXP2AsICLmj5DnpLoiLCB7CiAgICAgICAgICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kaHR0cCh7CiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogImZhbmdqaWFuT3JkZXIvZGVsaXZlcj9pZD0iK2lkLAogICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICJwb3N0IiwKICAgICAgICAgICAgICAgICAgICB9KS50aGVuKCh7IGRhdGEgfSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLmNvZGUgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IuaIkOWKn+WujOaIkCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxNTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U6ICgpID0+IHt0aGlzLnNlYXJjaCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihkYXRhLm1zZyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAoKCgoKCgoKCgogICAgICAgIH0KICAgIH07Cg=="},{"version":3,"sources":["list.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqPA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AAUA;AACA","file":"list.vue","sourceRoot":"src/views/modules/fangjianOrder","sourcesContent":["<template>\r\n <div class=\"main-content\">\r\n\r\n <!-- 条件查询 -->\r\n <div v-if=\"showFlag\">\r\n <el-form :inline=\"true\" :model=\"searchForm\" class=\"form-content\">\r\n <el-row :gutter=\"20\" class=\"slt\" :style=\"{justifyContent:contents.searchBoxPosition=='1'?'flex-start':contents.searchBoxPosition=='2'?'center':'flex-end'}\">\r\n \r\n \r\n <el-form-item :label=\"contents.inputTitle == 1 ? '房间名称' : ''\">\r\n <el-input prefix-icon=\"el-icon-search\" v-model=\"searchForm.fangjianName\" placeholder=\"房间名称\" clearable></el-input>\r\n </el-form-item>\r\n \r\n <el-form-item :label=\"contents.inputTitle == 1 ? '房间类型' : ''\">\r\n <el-select v-model=\"searchForm.fangjianTypes\" placeholder=\"请选择房间类型\">\r\n <el-option label=\"=-请选择-=\" value=\"\"></el-option>\r\n <el-option\r\n v-for=\"(item,index) in fangjianTypesSelectSearch\"\r\n v-bind:key=\"index\"\r\n :label=\"item.indexName\"\r\n :value=\"item.codeIndex\">\r\n <!--lable是要展示的名称-->\r\n <!--value是值-->\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n \r\n <el-form-item :label=\"contents.inputTitle == 1 ? '用户姓名' : ''\">\r\n <el-input prefix-icon=\"el-icon-search\" v-model=\"searchForm.yonghuName\" placeholder=\"用户姓名\" clearable></el-input>\r\n </el-form-item>\r\n \r\n\r\n <el-form-item>\r\n <el-button type=\"success\" @click=\"search()\">查询<i class=\"el-icon-search el-icon--right\"/></el-button>\r\n </el-form-item>\r\n </el-row>\r\n <el-row class=\"ad\" :style=\"{justifyContent:contents.btnAdAllBoxPosition=='1'?'flex-start':contents.btnAdAllBoxPosition=='2'?'center':'flex-end'}\">\r\n <el-form-item>\r\n <el-button\r\n v-if=\"isAuth('fangjianOrder','新增')\"\r\n type=\"success\"\r\n icon=\"el-icon-plus\"\r\n @click=\"addOrUpdateHandler()\"\r\n >新增</el-button>\r\n \r\n <el-button\r\n v-if=\"isAuth('fangjianOrder','删除')\"\r\n :disabled=\"dataListSelections.length <= 0\"\r\n type=\"danger\"\r\n icon=\"el-icon-delete\"\r\n @click=\"deleteHandler()\"\r\n >删除</el-button>\r\n \r\n <el-button\r\n v-if=\"isAuth('fangjianOrder','报表')\"\r\n type=\"success\"\r\n icon=\"el-icon-pie-chart\"\r\n @click=\"chartDialog()\"\r\n >报表</el-button>\r\n \r\n <a style=\"text-decoration:none\" class=\"el-button el-button--success\"\r\n v-if=\"isAuth('fangjianOrder','导入导出')\"\r\n icon=\"el-icon-download\"\r\n href=\"http://localhost:8080/minsuguanliw/upload/fangjianOrderMuBan.xls\"\r\n >批量导入房间预约数据模板</a>\r\n \r\n <el-upload\r\n v-if=\"isAuth('fangjianOrder','导入导出')\"\r\n style=\"display: inline-block\"\r\n action=\"minsuguanliw/file/upload\"\r\n :on-success=\"fangjianOrderUploadSuccess\"\r\n :on-error=\"fangjianOrderUploadError\"\r\n :show-file-list = false>\r\n <el-button\r\n v-if=\"isAuth('fangjianOrder','导入导出')\"\r\n type=\"success\"\r\n icon=\"el-icon-upload2\"\r\n >批量导入房间预约数据</el-button>\r\n </el-upload>\r\n \r\n <!-- 导出excel -->\r\n <download-excel v-if=\"isAuth('fangjianOrder','导入导出')\" style=\"display: inline-block\" class = \"export-excel-wrapper\" :data = \"dataList\" :fields = \"json_fields\" name = \"fangjianOrder.xls\">\r\n <!-- 导出excel -->\r\n <el-button\r\n type=\"success\"\r\n icon=\"el-icon-download\"\r\n >导出</el-button>\r\n </download-excel>\r\n \r\n </el-form-item>\r\n </el-row>\r\n </el-form>\r\n <div class=\"table-content\">\r\n <el-table class=\"tables\" :size=\"contents.tableSize\" :show-header=\"contents.tableShowHeader\"\r\n :header-row-style=\"headerRowStyle\" :header-cell-style=\"headerCellStyle\"\r\n :border=\"contents.tableBorder\"\r\n :fit=\"contents.tableFit\"\r\n :stripe=\"contents.tableStripe\"\r\n :row-style=\"rowStyle\"\r\n :cell-style=\"cellStyle\"\r\n :style=\"{width: '100%',fontSize:contents.tableContentFontSize,color:contents.tableContentFontColor}\"\r\n v-if=\"isAuth('fangjianOrder','查看')\"\r\n :data=\"dataList\"\r\n v-loading=\"dataListLoading\"\r\n @selection-change=\"selectionChangeHandler\">\r\n <el-table-column v-if=\"contents.tableSelection\"\r\n type=\"selection\"\r\n header-align=\"center\"\r\n align=\"center\"\r\n width=\"50\">\r\n </el-table-column>\r\n <el-table-column label=\"索引\" v-if=\"contents.tableIndex\" type=\"index\" width=\"50\" />\r\n <el-table-column :sortable=\"contents.tableSortable\" :align=\"contents.tableAlign\"\r\n prop=\"fangjianName\"\r\n header-align=\"center\"\r\n label=\"房间名称\">\r\n <template slot-scope=\"scope\">\r\n {{scope.row.fangjianName}}\r\n </template>\r\n </el-table-column>\r\n <el-table-column :sortable=\"contents.tableSortable\" :align=\"contents.tableAlign\" prop=\"fangjianPhoto\"\r\n header-align=\"center\"\r\n width=\"200\"\r\n label=\"房间图片\">\r\n <template slot-scope=\"scope\">\r\n <div v-if=\"scope.row.fangjianPhoto\">\r\n <img :src=\"scope.row.fangjianPhoto\" width=\"100\" height=\"100\">\r\n </div>\r\n <div v-else>无图片</div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :sortable=\"contents.tableSortable\" :align=\"contents.tableAlign\"\r\n prop=\"fangjianTypes\"\r\n header-align=\"center\"\r\n label=\"房间类型\">\r\n <template slot-scope=\"scope\">\r\n {{scope.row.fangjianValue}}\r\n </template>\r\n </el-table-column>\r\n <el-table-column :sortable=\"contents.tableSortable\" :align=\"contents.tableAlign\"\r\n prop=\"yonghuName\"\r\n header-align=\"center\"\r\n label=\"用户姓名\">\r\n <template slot-scope=\"scope\">\r\n {{scope.row.yonghuName}}\r\n </template>\r\n </el-table-column>\r\n\r\n <el-table-column :sortable=\"contents.tableSortable\" :align=\"contents.tableAlign\"\r\n prop=\"fangjianOrderTime\"\r\n header-align=\"center\"\r\n label=\"预约日期\">\r\n <template slot-scope=\"scope\">\r\n {{scope.row.fangjianOrderTime}}\r\n </template>\r\n </el-table-column>\r\n <el-table-column :sortable=\"contents.tableSortable\" :align=\"contents.tableAlign\"\r\n prop=\"fangjianOrderText\"\r\n header-align=\"center\"\r\n label=\"预约备注\">\r\n <template slot-scope=\"scope\">\r\n <span v-if=\"scope.row.fangjianOrderText != null &&scope.row.fangjianOrderText.length>10\">\r\n {{scope.row.fangjianOrderText.slice(0,10)}}...\r\n </span>\r\n <span v-else>\r\n {{scope.row.fangjianOrderText}}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column :sortable=\"contents.tableSortable\" :align=\"contents.tableAlign\"\r\n prop=\"fangjianOrderTypes\"\r\n header-align=\"center\"\r\n label=\"订单状态\">\r\n <template slot-scope=\"scope\">\r\n {{scope.row.fangjianOrderValue}}\r\n </template>\r\n </el-table-column>\r\n\r\n <el-table-column width=\"300\" :align=\"contents.tableAlign\"\r\n header-align=\"center\"\r\n label=\"操作\">\r\n <template slot-scope=\"scope\">\r\n <el-button v-if=\"isAuth('fangjianOrder','查看')\" type=\"success\" icon=\"el-icon-tickets\" size=\"mini\" @click=\"addOrUpdateHandler(scope.row.id,'info')\">详情</el-button>\r\n <el-button v-if=\"isAuth('fangjianOrder','修改')\" type=\"primary\" icon=\"el-icon-edit\" size=\"mini\" @click=\"addOrUpdateHandler(scope.row.id)\">修改</el-button>\r\n\r\n <el-button v-if=\"isAuth('fangjianOrder','删除')\" type=\"danger\" icon=\"el-icon-delete\" size=\"mini\" @click=\"deleteHandler(scope.row.id)\">删除</el-button>\r\n <el-button v-if=\"isAuth('fangjianOrder','订单') && scope.row.fangjianOrderTypes == 1 && sessionTable=='yonghu' && userId==scope.row.yonghuId\" type=\"primary\" icon=\"el-icon-sold-out\" size=\"mini\" @click=\"refund(scope.row.id)\">退款</el-button>\r\n <el-button v-if=\"isAuth('fangjianOrder','订单') && scope.row.fangjianOrderTypes == 1 && sessionTable=='users'\" type=\"primary\" icon=\"el-icon-reading\" size=\"mini\"\r\n @click=\"deliver(scope.row.id)\"\r\n >完成</el-button>\r\n\r\n\r\n\r\n\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <el-pagination\r\n clsss=\"pages\"\r\n :layout=\"layouts\"\r\n @size-change=\"sizeChangeHandle\"\r\n @current-change=\"currentChangeHandle\"\r\n :current-page=\"pageIndex\"\r\n :page-sizes=\"[10, 20, 50, 100]\"\r\n :page-size=\"Number(contents.pageEachNum)\"\r\n :total=\"totalPage\"\r\n :small=\"contents.pageStyle\"\r\n class=\"pagination-content\"\r\n :background=\"contents.pageBtnBG\"\r\n :style=\"{textAlign:contents.pagePosition==1?'left':contents.pagePosition==2?'center':'right'}\"\r\n ></el-pagination>\r\n </div>\r\n </div>\r\n <!-- 添加/修改页面 将父组件的search方法传递给子组件-->\r\n <add-or-update v-if=\"addOrUpdateFlag\" :parent=\"this\" ref=\"addOrUpdate\"></add-or-update>\r\n\r\n <!-- 评价 -->\r\n\t\t<el-dialog\r\n title=\"评价\"\r\n :visible.sync=\"commentbackVisible\"\r\n width=\"30%\">\r\n <span>评价内容</span>\r\n <el-input type=\"textarea\" v-model=\"commentbackContent\"></el-input>\r\n <span slot=\"footer\" class=\"dialog-footer\">\r\n\t\t\t<el-button @click=\"commentbackVisible = false\">取 消</el-button>\r\n\t\t\t<el-button type=\"primary\" @click=\"commentback()\">确 定</el-button>\r\n\t\t </span>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"统计报表\" :visible.sync=\"chartVisiable\" width=\"800\">\r\n <el-date-picker\r\n v-model=\"echartsDate\"\r\n type=\"year\"\r\n placeholder=\"选择年\">\r\n </el-date-picker>\r\n <el-button @click=\"chartDialog()\">查询</el-button>\r\n <div id=\"statistic\" style=\"width:100%;height:600px;\"></div>\r\n <span slot=\"footer\" class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"chartVisiable = false\">关闭</el-button>\r\n\t\t\t</span>\r\n </el-dialog>\r\n\r\n </div>\r\n</template>\r\n<script>\r\n import AddOrUpdate from \"./add-or-update\";\r\n import styleJs from \"../../../utils/style.js\";\r\n import utilsJs from \"../../../utils/utils.js\";\r\n\r\n export default {\r\n data() {\r\n return {\r\n searchForm: {\r\n key: \"\"\r\n },\r\n sessionTable : \"\",//登录账户所在表名\r\n role : \"\",//权限\r\n userId:\"\",//当前登录人的id\r\n //级联表下拉框搜索条件\r\n fangjianTypesSelectSearch : [],\r\n //当前表下拉框搜索条件\r\n form:{\r\n id : null,\r\n fangjianId : null,\r\n yonghuId : null,\r\n fangjianOrderTime : null,\r\n fangjianOrderText : null,\r\n fangjianOrderTypes : null,\r\n createTime : null,\r\n },\r\n dataList: [],\r\n pageIndex: 1,\r\n pageSize: 10,\r\n totalPage: 0,\r\n dataListLoading: false,\r\n dataListSelections: [],\r\n showFlag: true,\r\n sfshVisiable: false,\r\n shForm: {},\r\n chartVisiable: false,\r\n echartsDate: new Date(),//echarts的时间查询字段\r\n addOrUpdateFlag:false,\r\n contents:null,\r\n layouts: '',\r\n\r\n //导出excel\r\n json_fields: {\r\n //级联表字段\r\n '房间名称': 'fangjianName',\r\n '房间图片': 'fangjianPhoto',\r\n '房间特色': 'fangjianTese',\r\n '房间配置': 'fangjianPeizhi',\r\n '提供的商品': 'fangjianShangpin',\r\n '提供的服务': 'fangjianFuwu',\r\n '价格(天)': 'fangjianMoney',\r\n '房间类型': 'fangjianTypes',\r\n '房间剩余数量': 'fangjianNumber',\r\n '点击次数': 'fangjianClicknum',\r\n '用户姓名': 'yonghuName',\r\n '头像': 'yonghuPhoto',\r\n '手机号': 'yonghuPhone',\r\n '电子邮箱': 'yonghuEmail',\r\n '余额': 'newMoney',\r\n //本表字段\r\n '预约日期': \"fangjianOrderTime\",\r\n '预约备注': \"fangjianOrderText\",\r\n '订单状态': \"fangjianOrderTypes\",\r\n },\r\n\r\n //评价\r\n\t\t\t//操作数据id\r\n\t\t\tcommentbackId:null,\r\n\t\t\t//评价内容\r\n\t\t\tcommentbackContent:null,\r\n\t\t\t//模态框状态\r\n\t\t\tcommentbackVisible:false,\r\n\t\t\t//评分\r\n\t\t fangjianCommentbackPingfenNumber:0, };\r\n },\r\n created() {\r\n this.contents = styleJs.listStyle();\r\n this.init();\r\n this.getDataList();\r\n this.contentStyleChange()\r\n },\r\n mounted() {\r\n //获取当前登录用户的信息\r\n this.sessionTable = this.$storage.get(\"sessionTable\");\r\n this.role = this.$storage.get(\"role\");\r\n this.userId = this.$storage.get(\"userId\");\r\n\r\n },\r\n filters: {\r\n htmlfilter: function (val) {\r\n return val.replace(/<[^>]*>/g).replace(/undefined/g,'');\r\n }\r\n },\r\n components: {\r\n AddOrUpdate,\r\n },\r\n computed: {\r\n },\r\n methods: {\r\n chartDialog() {\r\n let _this = this;\r\n let params = {\r\n dateFormat :\"%Y\", //%Y-%m\r\n riqi :_this.echartsDate.getFullYear(),\r\n // riqi :_this.echartsDate.getFullYear()+\"-\"+(_this.echartsDate.getMonth() + 1 < 10 ? '0' + (_this.echartsDate.getMonth() + 1) : _this.echartsDate.getMonth() + 1),\r\n thisTable : {//当前表\r\n tableName :'fangjian_order',//当前表表名,\r\n sumColum : 'fangjian_order_number', //求和字段\r\n date : 'insert_time',//分组日期字段\r\n // string : 'fangjian_order_name',//分组字符串字段\r\n // types : 'fangjian_order_types',//分组下拉框字段\r\n },\r\n // joinTable : {//级联表(可以不存在)\r\n // tableName :'yonghu',//级联表表名\r\n // // date : 'insert_time',//分组日期字段\r\n // string : 'yonghu_name',//分组字符串字段\r\n // // types : 'yonghu_types',//分组下拉框字段\r\n // }\r\n }\r\n _this.chartVisiable = true;\r\n _this.$nextTick(() => {\r\n var statistic = this.$echarts.init(document.getElementById(\"statistic\"), 'macarons');\r\n this.$http({\r\n url: \"barSum\",\r\n method: \"get\",\r\n params: params\r\n }).then(({data}) => {\r\n if(data && data.code === 0){\r\n\r\n //柱状图 求和 已成功使用\r\n //start\r\n let yAxisName = \"数值\";//根据查询数据具体改(单列要改,多列不改)\r\n let xAxisName = \"月份\";\r\n let series = [];//具体数据值\r\n data.data.yAxis.forEach(function (item,index) {\r\n let tempMap = {};\r\n // tempMap.name= [\"数值\"];//根据查询数据具体改(单列要改,多列不改)\r\n tempMap.name=data.data.legend[index];\r\n tempMap.type='bar';\r\n tempMap.data=item;\r\n series.push(tempMap);\r\n\r\n })\r\n\r\n var option = {\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'cross',\r\n crossStyle: {\r\n color: '#999'\r\n }\r\n }\r\n },\r\n toolbox: {\r\n feature: {\r\n // dataView: { show: true, readOnly: false }, // 数据查看\r\n magicType: { show: true, type: ['line', 'bar'] },//切换图形展示方式\r\n // restore: { show: true }, // 刷新\r\n saveAsImage: { show: true }//保存\r\n }\r\n },\r\n legend: {\r\n data: data.data.legend//标题 可以点击导致某一列数据消失\r\n },\r\n xAxis: [\r\n {\r\n type: 'category',\r\n name: xAxisName,\r\n data: data.data.xAxis,\r\n axisPointer: {\r\n type: 'shadow'\r\n }\r\n }\r\n ],\r\n yAxis: [\r\n {\r\n type: 'value',//不能改\r\n name: yAxisName,//y轴单位\r\n axisLabel: {\r\n formatter: '{value}' // 后缀\r\n }\r\n }\r\n ],\r\n series:series//具体数据\r\n };\r\n // 使用刚指定的配置项和数据显示图表。\r\n statistic.setOption(option,true);\r\n //根据窗口的大小变动图表\r\n window.onresize = function () {\r\n statistic.resize();\r\n };\r\n //end\r\n }else {\r\n this.$message({\r\n message: \"报表未查询到数据\",\r\n type: \"success\",\r\n duration: 1500,\r\n onClose: () => {\r\n this.search();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n ////饼状图\r\n //_this.chartVisiable = true;\r\n // this.$nextTick(()=>{\r\n // var statistic = this.$echarts.init(document.getElementById(\"statistic\"),'macarons');\r\n // let params = {\r\n // tableName: \"fangjian_order\",\r\n // groupColumn: \"fangjian_order_types\",\r\n // }\r\n // this.$http({\r\n // url: \"newSelectGroupCount\",\r\n // method: \"get\",\r\n // params: params\r\n // }).then(({data}) => {\r\n // if (data && data.code === 0) {\r\n // let res = data.data;\r\n // let xAxis = [];\r\n // let yAxis = [];\r\n // let pArray = []\r\n // var option = {};\r\n // for(let i=0;i<res.length;i++){\r\n // xAxis.push(res[i].name);\r\n // yAxis.push(res[i].value);\r\n // pArray.push({\r\n // value: res[i].value,\r\n // name: res[i].name\r\n // })\r\n // option = {\r\n // title: {\r\n // text: '保险合同类型统计',\r\n // left: 'center'\r\n // },\r\n // tooltip: {\r\n // trigger: 'item',\r\n // formatter: '{b} : {c} ({d}%)'\r\n // },\r\n // series: [\r\n // {\r\n // type: 'pie',\r\n // radius: '55%',\r\n // center: ['50%', '60%'],\r\n // data: pArray,\r\n // emphasis: {\r\n // itemStyle: {\r\n // shadowBlur: 10,\r\n // shadowOffsetX: 0,\r\n // shadowColor: 'rgba(0, 0, 0, 0.5)'\r\n // }\r\n // }\r\n // }\r\n // ]\r\n // };\r\n // }\r\n // statistic.setOption(option);\r\n // window.onresize = function() {\r\n // statistic.resize();\r\n // };\r\n // }\r\n // });\r\n // })\r\n },\r\n contentStyleChange() {\r\n this.contentSearchStyleChange()\r\n this.contentBtnAdAllStyleChange()\r\n this.contentSearchBtnStyleChange()\r\n this.contentTableBtnStyleChange()\r\n this.contentPageStyleChange()\r\n },\r\n contentSearchStyleChange() {\r\n this.$nextTick(() => {\r\n document.querySelectorAll('.form-content .slt .el-input__inner').forEach(el => {\r\n let textAlign = 'left'\r\n if(this.contents.inputFontPosition == 2)\r\n textAlign = 'center'\r\n if (this.contents.inputFontPosition == 3) textAlign = 'right'\r\n el.style.textAlign = textAlign\r\n el.style.height = this.contents.inputHeight\r\n el.style.lineHeight = this.contents.inputHeight\r\n el.style.color = this.contents.inputFontColor\r\n el.style.fontSize = this.contents.inputFontSize\r\n el.style.borderWidth = this.contents.inputBorderWidth\r\n el.style.borderStyle = this.contents.inputBorderStyle\r\n el.style.borderColor = this.contents.inputBorderColor\r\n el.style.borderRadius = this.contents.inputBorderRadius\r\n el.style.backgroundColor = this.contents.inputBgColor\r\n })\r\n if (this.contents.inputTitle) {\r\n document.querySelectorAll('.form-content .slt .el-form-item__label').forEach(el => {\r\n el.style.color = this.contents.inputTitleColor\r\n el.style.fontSize = this.contents.inputTitleSize\r\n el.style.lineHeight = this.contents.inputHeight\r\n })\r\n }\r\n setTimeout(() => {\r\n document.querySelectorAll('.form-content .slt .el-input__prefix').forEach(el => {\r\n el.style.color = this.contents.inputIconColor\r\n el.style.lineHeight = this.contents.inputHeight\r\n })\r\n document.querySelectorAll('.form-content .slt .el-input__suffix').forEach(el => {\r\n el.style.color = this.contents.inputIconColor\r\n el.style.lineHeight = this.contents.inputHeight\r\n })\r\n document.querySelectorAll('.form-content .slt .el-input__icon').forEach(el => {\r\n el.style.lineHeight = this.contents.inputHeight\r\n })\r\n }, 10 )\r\n })\r\n },\r\n // 搜索按钮\r\n contentSearchBtnStyleChange() {\r\n this.$nextTick(() => {\r\n document.querySelectorAll('.form-content .slt .el-button--success').forEach(el => {\r\n el.style.height = this.contents.searchBtnHeight\r\n el.style.color = this.contents.searchBtnFontColor\r\n el.style.fontSize = this.contents.searchBtnFontSize\r\n el.style.borderWidth = this.contents.searchBtnBorderWidth\r\n el.style.borderStyle = this.contents.searchBtnBorderStyle\r\n el.style.borderColor = this.contents.searchBtnBorderColor\r\n el.style.borderRadius = this.contents.searchBtnBorderRadius\r\n el.style.backgroundColor = this.contents.searchBtnBgColor\r\n })\r\n })\r\n },\r\n // 新增、批量删除\r\n contentBtnAdAllStyleChange() {\r\n this.$nextTick(() => {\r\n document.querySelectorAll('.form-content .ad .el-button--success').forEach(el => {\r\n el.style.height = this.contents.btnAdAllHeight\r\n el.style.color = this.contents.btnAdAllAddFontColor\r\n el.style.fontSize = this.contents.btnAdAllFontSize\r\n el.style.borderWidth = this.contents.btnAdAllBorderWidth\r\n el.style.borderStyle = this.contents.btnAdAllBorderStyle\r\n el.style.borderColor = this.contents.btnAdAllBorderColor\r\n el.style.borderRadius = this.contents.btnAdAllBorderRadius\r\n el.style.backgroundColor = this.contents.btnAdAllAddBgColor\r\n })\r\n document.querySelectorAll('.form-content .ad .el-button--danger').forEach(el => {\r\n el.style.height = this.contents.btnAdAllHeight\r\n el.style.color = this.contents.btnAdAllDelFontColor\r\n el.style.fontSize = this.contents.btnAdAllFontSize\r\n el.style.borderWidth = this.contents.btnAdAllBorderWidth\r\n el.style.borderStyle = this.contents.btnAdAllBorderStyle\r\n el.style.borderColor = this.contents.btnAdAllBorderColor\r\n el.style.borderRadius = this.contents.btnAdAllBorderRadius\r\n el.style.backgroundColor = this.contents.btnAdAllDelBgColor\r\n })\r\n document.querySelectorAll('.form-content .ad .el-button--warning').forEach(el => {\r\n el.style.height = this.contents.btnAdAllHeight\r\n el.style.color = this.contents.btnAdAllWarnFontColor\r\n el.style.fontSize = this.contents.btnAdAllFontSize\r\n el.style.borderWidth = this.contents.btnAdAllBorderWidth\r\n el.style.borderStyle = this.contents.btnAdAllBorderStyle\r\n el.style.borderColor = this.contents.btnAdAllBorderColor\r\n el.style.borderRadius = this.contents.btnAdAllBorderRadius\r\n el.style.backgroundColor = this.contents.btnAdAllWarnBgColor\r\n })\r\n })\r\n },\r\n // 表格\r\n rowStyle({row, rowIndex}) {\r\n if (rowIndex % 2 == 1) {\r\n if (this.contents.tableStripe) {\r\n return {color: this.contents.tableStripeFontColor}\r\n }\r\n } else {\r\n return ''\r\n }\r\n },\r\n cellStyle({row, rowIndex}) {\r\n if (rowIndex % 2 == 1) {\r\n if (this.contents.tableStripe) {\r\n return {backgroundColor: this.contents.tableStripeBgColor}\r\n }\r\n } else {\r\n return ''\r\n }\r\n },\r\n headerRowStyle({row, rowIndex}) {\r\n return {color: this.contents.tableHeaderFontColor}\r\n },\r\n headerCellStyle({row, rowIndex}) {\r\n return {backgroundColor: this.contents.tableHeaderBgColor}\r\n },\r\n // 表格按钮\r\n contentTableBtnStyleChange() {\r\n // this.$nextTick(()=>{\r\n // setTimeout(()=>{\r\n // document.querySelectorAll('.table-content .tables .el-table__body .el-button--success').forEach(el=>{\r\n // el.style.height = this.contents.tableBtnHeight\r\n // el.style.color = this.contents.tableBtnDetailFontColor\r\n // el.style.fontSize = this.contents.tableBtnFontSize\r\n // el.style.borderWidth = this.contents.tableBtnBorderWidth\r\n // el.style.borderStyle = this.contents.tableBtnBorderStyle\r\n // el.style.borderColor = this.contents.tableBtnBorderColor\r\n // el.style.borderRadius = this.contents.tableBtnBorderRadius\r\n // el.style.backgroundColor = this.contents.tableBtnDetailBgColor\r\n // })\r\n // document.querySelectorAll('.table-content .tables .el-table__body .el-button--primary').forEach(el=>{\r\n // el.style.height = this.contents.tableBtnHeight\r\n // el.style.color = this.contents.tableBtnEditFontColor\r\n // el.style.fontSize = this.contents.tableBtnFontSize\r\n // el.style.borderWidth = this.contents.tableBtnBorderWidth\r\n // el.style.borderStyle = this.contents.tableBtnBorderStyle\r\n // el.style.borderColor = this.contents.tableBtnBorderColor\r\n // el.style.borderRadius = this.contents.tableBtnBorderRadius\r\n // el.style.backgroundColor = this.contents.tableBtnEditBgColor\r\n // })\r\n // document.querySelectorAll('.table-content .tables .el-table__body .el-button--danger').forEach(el=>{\r\n // el.style.height = this.contents.tableBtnHeight\r\n // el.style.color = this.contents.tableBtnDelFontColor\r\n // el.style.fontSize = this.contents.tableBtnFontSize\r\n // el.style.borderWidth = this.contents.tableBtnBorderWidth\r\n // el.style.borderStyle = this.contents.tableBtnBorderStyle\r\n // el.style.borderColor = this.contents.tableBtnBorderColor\r\n // el.style.borderRadius = this.contents.tableBtnBorderRadius\r\n // el.style.backgroundColor = this.contents.tableBtnDelBgColor\r\n // })\r\n\r\n // }, 50)\r\n // })\r\n },\r\n // 分页\r\n contentPageStyleChange() {\r\n let arr = []\r\n if (this.contents.pageTotal) arr.push('total')\r\n if (this.contents.pageSizes) arr.push('sizes')\r\n if (this.contents.pagePrevNext) {\r\n arr.push('prev')\r\n if (this.contents.pagePager) arr.push('pager')\r\n arr.push('next')\r\n }\r\n if (this.contents.pageJumper) arr.push('jumper')\r\n this.layouts = arr.join()\r\n this.contents.pageEachNum = 10\r\n },\r\n\r\n init() {\r\n },\r\n search() {\r\n this.pageIndex = 1;\r\n this.getDataList();\r\n },\r\n // 获取数据列表\r\n getDataList() {\r\n this.dataListLoading = true;\r\n let params = {\r\n page: this.pageIndex,\r\n limit: this.pageSize,\r\n sort: 'id',\r\n }\r\n\r\n \r\n if (this.searchForm.fangjianName!= '' && this.searchForm.fangjianName!= undefined) {\r\n params['fangjianName'] = '%' + this.searchForm.fangjianName + '%'\r\n }\r\n \r\n if (this.searchForm.fangjianTypes!= '' && this.searchForm.fangjianTypes!= undefined) {\r\n params['fangjianTypes'] = this.searchForm.fangjianTypes\r\n }\r\n \r\n if (this.searchForm.yonghuName!= '' && this.searchForm.yonghuName!= undefined) {\r\n params['yonghuName'] = '%' + this.searchForm.yonghuName + '%'\r\n }\r\n \r\n params['fangjianOrderDelete'] = 1// 逻辑删除字段 1 未删除 2 删除\r\n\r\n\r\n this.$http({\r\n url: \"fangjianOrder/page\",\r\n method: \"get\",\r\n params: params\r\n }).then(({data}) => {\r\n if(data && data.code === 0){\r\n this.dataList = data.data.list;\r\n this.totalPage = data.data.total;\r\n }else{\r\n this.dataList = [];\r\n this.totalPage = 0;\r\n }\r\n this.dataListLoading = false;\r\n });\r\n\r\n //查询级联表搜索条件所有列表\r\n this.$http({\r\n url: \"dictionary/page?dicCode=fangjian_types&page=1&limit=100\",\r\n method: \"get\",\r\n page: 1,\r\n limit: 100,\r\n }).then(({data}) => {\r\n if(data && data.code === 0){\r\n this.fangjianTypesSelectSearch = data.data.list;\r\n }\r\n });\r\n //查询当前表搜索条件所有列表\r\n },\r\n //每页数\r\n sizeChangeHandle(val) {\r\n this.pageSize = val;\r\n this.pageIndex = 1;\r\n this.getDataList();\r\n },\r\n // 当前页\r\n currentChangeHandle(val) {\r\n this.pageIndex = val;\r\n this.getDataList();\r\n },\r\n // 多选\r\n selectionChangeHandler(val) {\r\n this.dataListSelections = val;\r\n },\r\n // 添加/修改\r\n addOrUpdateHandler(id, type) {\r\n this.showFlag = false;\r\n this.addOrUpdateFlag = true;\r\n this.crossAddOrUpdateFlag = false;\r\n if (type != 'info') {\r\n type = 'else';\r\n }\r\n this.$nextTick(() => {\r\n this.$refs.addOrUpdate.init(id, type);\r\n });\r\n },\r\n // 下载\r\n download(file) {\r\n window.open(\" ${file} \")\r\n },\r\n // 删除\r\n deleteHandler(id) {\r\n var ids = id ? [Number(id)] : this.dataListSelections.map(item => {\r\n return Number(item.id);\r\n });\r\n\r\n this.$confirm(`确定进行[${id ? \"删除\" : \"批量删除\"}]操作?`, \"提示\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(() => {\r\n this.$http({\r\n url: \"fangjianOrder/delete\",\r\n method: \"post\",\r\n data: ids\r\n }).then(({data}) => {\r\n if(data && data.code === 0){\r\n this.$message({\r\n message: \"操作成功\",\r\n type: \"success\",\r\n duration: 1500,\r\n onClose: () => {\r\n this.search();\r\n }\r\n });\r\n }else{\r\n this.$message.error(data.msg);\r\n }\r\n });\r\n });\r\n },\r\n // 导入功能上传文件成功后调用导入方法\r\n fangjianOrderUploadSuccess(data){\r\n let _this = this;\r\n _this.$http({\r\n url: \"fangjianOrder/batchInsert?fileName=\" + data.file,\r\n method: \"get\"\r\n }).then(({data}) => {\r\n if(data && data.code === 0){\r\n _this.$message({\r\n message: \"导入房间预约数据成功\",\r\n type: \"success\",\r\n duration: 1500,\r\n onClose: () => {\r\n _this.search();\r\n }\r\n });\r\n }else{\r\n _this.$message.error(data.msg);\r\n }\r\n });\r\n\r\n },\r\n // 导入功能上传文件失败后调用导入方法\r\n fangjianOrderUploadError(data){\r\n this.$message.error('上传失败');\r\n },\r\n //退款\r\n\t\t\trefund(id){\r\n\t\t\t\tthis.$confirm(`确定要退款吗?`, \"提示\", {\r\n\t\t\t\t confirmButtonText: \"确定\",\r\n\t\t\t\t cancelButtonText: \"取消\",\r\n\t\t\t\t type: \"warning\"\r\n\t\t\t\t}).then(() => {\r\n\t\t\t\t this.$http({\r\n\t\t\t\t url: \"fangjianOrder/refund?id=\"+id,\r\n\t\t\t\t method: \"post\",\r\n\t\t\t\t }).then(({ data }) => {\r\n\t\t\t\t if (data && data.code === 0) {\r\n\t\t\t\t this.$message({\r\n\t\t\t\t message:\"退款成功\",\r\n\t\t\t\t type: \"success\",\r\n\t\t\t\t duration: 1500,\r\n\t\t\t\t onClose: () => {this.search();}\r\n\t\t\t\t });\r\n\t\t\t\t } else {\r\n\t\t\t\t this.$message.error(data.msg);\r\n\t\t\t\t }\r\n\t\t\t\t });\r\n\t\t\t\t});\r\n\t\t\t},\r\n //完成\r\n deliver(id){\r\n let _this = this;\r\n this.$confirm(`确定已经完成了吗?`, \"提示\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(() => {\r\n this.$http({\r\n url: \"fangjianOrder/deliver?id=\"+id,\r\n method: \"post\",\r\n }).then(({ data }) => {\r\n if (data && data.code === 0) {\r\n this.$message({\r\n message:\"成功完成\",\r\n type: \"success\",\r\n duration: 1500,\r\n onClose: () => {this.search();\r\n }\r\n });\r\n } else {\r\n this.$message.error(data.msg);\r\n }\r\n });\r\n });\r\n },\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n };\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.slt {\r\n margin: 0 !important;\r\n display: flex;\r\n }\r\n\r\n .ad {\r\n margin: 0 !important;\r\n display: flex;\r\n }\r\n\r\n .pages {\r\n & /deep/ el-pagination__sizes{\r\n & /deep/ el-input__inner {\r\n height: 22px;\r\n line-height: 22px;\r\n }\r\n }\r\n }\r\n \r\n\r\n .el-button+.el-button {\r\n margin:0;\r\n } \r\n\r\n .tables {\r\n\t& /deep/ .el-button--success {\r\n\t\theight: 40px;\r\n\t\tcolor: #333;\r\n\t\tfont-size: 14px;\r\n\t\tborder-width: 1px;\r\n\t\tborder-style: solid;\r\n\t\tborder-color: #DCDFE6;\r\n\t\tborder-radius: 4px;\r\n\t\tbackground-color: rgba(117, 113, 249, 1);\r\n\t}\r\n\t\r\n\t& /deep/ .el-button--primary {\r\n\t\theight: 40px;\r\n\t\tcolor: #333;\r\n\t\tfont-size: 14px;\r\n\t\tborder-width: 1px;\r\n\t\tborder-style: solid;\r\n\t\tborder-color: #DCDFE6;\r\n\t\tborder-radius: 4px;\r\n\t\tbackground-color: rgba(102, 204, 255, 1);\r\n\t}\r\n\t\r\n\t& /deep/ .el-button--danger {\r\n\t\theight: 40px;\r\n\t\tcolor: #333;\r\n\t\tfont-size: 14px;\r\n\t\tborder-width: 1px;\r\n\t\tborder-style: solid;\r\n\t\tborder-color: #DCDFE6;\r\n\t\tborder-radius: 4px;\r\n\t\tbackground-color: rgba(204, 255, 102, 1);\r\n\t}\r\n\r\n & /deep/ .el-button {\r\n margin: 4px;\r\n }\r\n }\r\n</style>\r\n\r\n\r\n"]}]} |