a7e44f0254100ef59a234ba93fcdc2dc.json 76 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\lottery\\create.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\lottery\\create.vue","mtime":1761614939032},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnOw0KaW1wb3J0IGdvb2RzTGlzdCBmcm9tICdAL2NvbXBvbmVudHMvZ29vZHNMaXN0L2luZGV4JzsNCmltcG9ydCB1cGxvYWRQaWN0dXJlcyBmcm9tICdAL2NvbXBvbmVudHMvdXBsb2FkUGljdHVyZXMnOw0KaW1wb3J0IHVzZXJMYWJlbCBmcm9tICdAL2NvbXBvbmVudHMvdXNlckxhYmVsJzsNCmltcG9ydCBhZGRHb29kcyBmcm9tICcuL2FkZEdvb2RzJzsNCmltcG9ydCB7IGxvdHRlcnlOZXdEZXRhaWxBcGksIGxvdHRlcnlEZXRhaWxBcGksIGxvdHRlcnlDcmVhdGVBcGksIGxvdHRlcnlFZGl0QXBpIH0gZnJvbSAnQC9hcGkvbG90dGVyeSc7IC8v6K+m5oOFIOWIm+W7uiDnvJbovpENCmltcG9ydCB7IGxvdHRlcnlGcm9tIH0gZnJvbSAnLi9mb3JtUnVsZS9sb3R0ZXJ5RnJvbSc7DQppbXBvcnQgeyBsYWJlbExpc3RBcGkgfSBmcm9tICdAL2FwaS9wcm9kdWN0JzsNCmltcG9ydCB7IGxldmVsTGlzdEFwaSB9IGZyb20gJ0AvYXBpL3VzZXInOw0KaW1wb3J0IFdhbmdFZGl0b3IgZnJvbSAnQC9jb21wb25lbnRzL3dhbmdFZGl0b3IvaW5kZXgudnVlJzsNCg0KaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0AvdXRpbHMvdmFsaWRhdGUnOw0KaW1wb3J0IHsgZm9ybWF0UmljaFRleHQgfSBmcm9tICdAL3V0aWxzL2VkaXRvckltZyc7DQppbXBvcnQgU29ydGFibGUgZnJvbSAnc29ydGFibGVqcyc7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ2xvdHRlcnlDcmVhdGUnLA0KICBjb21wb25lbnRzOiB7DQogICAgZ29vZHNMaXN0LA0KICAgIHVwbG9hZFBpY3R1cmVzLA0KICAgIGFkZEdvb2RzLA0KICAgIFdhbmdFZGl0b3IsDQogICAgdXNlckxhYmVsLA0KICB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBzZWxlY3REYXRhTGFiZWw6IFtdLA0KICAgICAgc2VsZWN0TGFiZWxTaG93OiBmYWxzZSwNCiAgICAgIGNvbnRlbnQ6ICcnLA0KICAgICAgdGFiczogWw0KICAgICAgICB7DQogICAgICAgICAgbmFtZTogJ+enr+WIhuaKveWPlicsDQogICAgICAgICAgdHlwZTogJzEnLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgbmFtZTogJ+iuouWNleaUr+S7mCcsDQogICAgICAgICAgdHlwZTogJzMnLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgbmFtZTogJ+iuouWNleivhOS7tycsDQogICAgICAgICAgdHlwZTogJzQnLA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICAgIHRpdGxlOiAn5re75Yqg5ZWG5ZOBJywNCiAgICAgIGxvYWRpbmc6IGZhbHNlLA0KICAgICAgdXNlckxhYmVsTGlzdDogW10sIC8v55So5oi35qCH562+5YiX6KGoDQogICAgICB1c2VyTGV2ZWxMaXN0QXBpOiBbXSwgLy/nlKjmiLfnrYnnuqfliJfooagNCiAgICAgIHN1Ym1pdE9wZW46IGZhbHNlLA0KICAgICAgc3BpblNob3c6IGZhbHNlLA0KICAgICAgYWRkR29vZHNNb2RlbDogZmFsc2UsDQogICAgICBlZGl0RGF0YToge30sDQogICAgICBteUNvbmZpZzogew0KICAgICAgICBhdXRvSGVpZ2h0RW5hYmxlZDogZmFsc2UsIC8vIOe8lui+keWZqOS4jeiHquWKqOiiq+WGheWuueaSkemrmA0KICAgICAgICBpbml0aWFsRnJhbWVIZWlnaHQ6IDUwMCwgLy8g5Yid5aeL5a655Zmo6auY5bqmDQogICAgICAgIGluaXRpYWxGcmFtZVdpZHRoOiAnMTAwJScsIC8vIOWIneWni+WuueWZqOWuveW6pg0KICAgICAgICBVRURJVE9SX0hPTUVfVVJMOiAnL1VFZGl0b3IvJywNCiAgICAgICAgc2VydmVyVXJsOiAnJywNCiAgICAgIH0sDQogICAgICBpc0Nob2ljZTogJ+WNlemAiScsDQogICAgICBjdXJyZW50OiAwLA0KICAgICAgbW9kYWxQaWM6IGZhbHNlLA0KICAgICAgbW9kYWxfbG9hZGluZzogZmFsc2UsDQogICAgICBpbWFnZXM6IFtdLA0KICAgICAgdGVtcGxhdGVMaXN0OiBbDQogICAgICAgIHsgaWQ6IC0xLCBuYW1lOiAn5LiN6ZmQ5Yi25Lya5ZGY57G75Z6LJyB9LA0KICAgICAgICB7IGlkOiAwLCBuYW1lOiAn6Z2e5LuY6LS55Lya5ZGYJyB9LA0KICAgICAgICB7IGlkOiAxLCBuYW1lOiAn5LuY6LS55Lya5ZGYJyB9LA0KICAgICAgXSwNCiAgICAgIHNwZWNzRGF0YTogWw0KICAgICAgICB7DQogICAgICAgICAgdHlwZTogMSwgLy/nsbvlnosgMe+8muacquS4reWlliAy77ya56ev5YiGICAzOuS9meminSAgNO+8mue6ouWMhSA1OuS8mOaDoOWIuCA277ya56uZ5YaF5ZWG5ZOBDQogICAgICAgICAgbmFtZTogJycsIC8v5rS75Yqo5ZCN56ewDQogICAgICAgICAgbnVtOiAxMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICBpbWFnZTogJycsIC8v5aWW5ZOB5Zu+54mHDQogICAgICAgICAgY2hhbmNlOiAxLCAvL+S4reWlluadg+mHjQ0KICAgICAgICAgIHRvdGFsOiAwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgIHBlcmNlbnQ6IDAsIC8v5Lit5aWW5qaC546HDQogICAgICAgICAgbWluX3RyeV9udW06IDAsIC8v5oq95aWW5qyh5pWw5bCd6K+VDQogICAgICAgICAgcHJvbXB0OiAnJywgLy/mj5DnpLror60NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHR5cGU6IDEsIC8v57G75Z6LIDHvvJrmnKrkuK3lpZYgMu+8muenr+WIhiAgMzrkvZnpop0gIDTvvJrnuqLljIUgNTrkvJjmg6DliLggNu+8muermeWGheWVhuWTgQ0KICAgICAgICAgIG5hbWU6ICcnLCAvL+a0u+WKqOWQjeensA0KICAgICAgICAgIG51bTogMTAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgaW1hZ2U6ICcnLCAvL+WlluWTgeWbvueJhw0KICAgICAgICAgIGNoYW5jZTogMSwgLy/kuK3lpZbmnYPph40NCiAgICAgICAgICB0b3RhbDogMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICBwZXJjZW50OiAwLCAvL+S4reWlluamgueOhw0KICAgICAgICAgIG1pbl90cnlfbnVtOiAwLCAvL+aKveWlluasoeaVsOWwneivlQ0KICAgICAgICAgIHByb21wdDogJycsIC8v5o+Q56S66K+tDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB0eXBlOiAxLCAvL+exu+WeiyAx77ya5pyq5Lit5aWWIDLvvJrnp6/liIYgIDM65L2Z6aKdICA077ya57qi5YyFIDU65LyY5oOg5Yi4IDbvvJrnq5nlhoXllYblk4ENCiAgICAgICAgICBuYW1lOiAnJywgLy/mtLvliqjlkI3np7ANCiAgICAgICAgICBudW06IDEwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgIGltYWdlOiAnJywgLy/lpZblk4Hlm77niYcNCiAgICAgICAgICBjaGFuY2U6IDEsIC8v5Lit5aWW5p2D6YeNDQogICAgICAgICAgdG90YWw6IDAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgcGVyY2VudDogMCwgLy/kuK3lpZbmpoLnjocNCiAgICAgICAgICBtaW5fdHJ5X251bTogMCwgLy/mir3lpZbmrKHmlbDlsJ3or5UNCiAgICAgICAgICBwcm9tcHQ6ICcnLCAvL+aPkOekuuivrQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdHlwZTogMSwgLy/nsbvlnosgMe+8muacquS4reWlliAy77ya56ev5YiGICAzOuS9meminSAgNO+8mue6ouWMhSA1OuS8mOaDoOWIuCA277ya56uZ5YaF5ZWG5ZOBDQogICAgICAgICAgbmFtZTogJycsIC8v5rS75Yqo5ZCN56ewDQogICAgICAgICAgbnVtOiAxMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICBpbWFnZTogJycsIC8v5aWW5ZOB5Zu+54mHDQogICAgICAgICAgY2hhbmNlOiAxLCAvL+S4reWlluadg+mHjQ0KICAgICAgICAgIHRvdGFsOiAwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgIHBlcmNlbnQ6IDAsIC8v5Lit5aWW5qaC546HDQogICAgICAgICAgbWluX3RyeV9udW06IDAsIC8v5oq95aWW5qyh5pWw5bCd6K+VDQogICAgICAgICAgcHJvbXB0OiAnJywgLy/mj5DnpLror60NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHR5cGU6IDEsIC8v57G75Z6LIDHvvJrmnKrkuK3lpZYgMu+8muenr+WIhiAgMzrkvZnpop0gIDTvvJrnuqLljIUgNTrkvJjmg6DliLggNu+8muermeWGheWVhuWTgQ0KICAgICAgICAgIG5hbWU6ICcnLCAvL+a0u+WKqOWQjeensA0KICAgICAgICAgIG51bTogMTAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgaW1hZ2U6ICcnLCAvL+WlluWTgeWbvueJhw0KICAgICAgICAgIGNoYW5jZTogMSwgLy/kuK3lpZbmnYPph40NCiAgICAgICAgICB0b3RhbDogMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICBwZXJjZW50OiAwLCAvL+S4reWlluamgueOhw0KICAgICAgICAgIG1pbl90cnlfbnVtOiAwLCAvL+aKveWlluasoeaVsOWwneivlQ0KICAgICAgICAgIHByb21wdDogJycsIC8v5o+Q56S66K+tDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB0eXBlOiAxLCAvL+exu+WeiyAx77ya5pyq5Lit5aWWIDLvvJrnp6/liIYgIDM65L2Z6aKdICA077ya57qi5YyFIDU65LyY5oOg5Yi4IDbvvJrnq5nlhoXllYblk4ENCiAgICAgICAgICBuYW1lOiAnJywgLy/mtLvliqjlkI3np7ANCiAgICAgICAgICBudW06IDEwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgIGltYWdlOiAnJywgLy/lpZblk4Hlm77niYcNCiAgICAgICAgICBjaGFuY2U6IDEsIC8v5Lit5aWW5p2D6YeNDQogICAgICAgICAgdG90YWw6IDAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgcGVyY2VudDogMCwgLy/kuK3lpZbmpoLnjocNCiAgICAgICAgICBtaW5fdHJ5X251bTogMCwgLy/mir3lpZbmrKHmlbDlsJ3or5UNCiAgICAgICAgICBwcm9tcHQ6ICcnLCAvL+aPkOekuuivrQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdHlwZTogMSwgLy/nsbvlnosgMe+8muacquS4reWlliAy77ya56ev5YiGICAzOuS9meminSAgNO+8mue6ouWMhSA1OuS8mOaDoOWIuCA277ya56uZ5YaF5ZWG5ZOBDQogICAgICAgICAgbmFtZTogJycsIC8v5rS75Yqo5ZCN56ewDQogICAgICAgICAgbnVtOiAxMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICBpbWFnZTogJycsIC8v5aWW5ZOB5Zu+54mHDQogICAgICAgICAgY2hhbmNlOiAxLCAvL+S4reWlluadg+mHjQ0KICAgICAgICAgIHRvdGFsOiAwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgIHBlcmNlbnQ6IDAsIC8v5Lit5aWW5qaC546HDQogICAgICAgICAgbWluX3RyeV9udW06IDAsIC8v5oq95aWW5qyh5pWw5bCd6K+VDQogICAgICAgICAgcHJvbXB0OiAnJywgLy/mj5DnpLror60NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHR5cGU6IDEsIC8v57G75Z6LIDHvvJrmnKrkuK3lpZYgMu+8muenr+WIhiAgMzrkvZnpop0gIDTvvJrnuqLljIUgNTrkvJjmg6DliLggNu+8muermeWGheWVhuWTgQ0KICAgICAgICAgIG5hbWU6ICcnLCAvL+a0u+WKqOWQjeensA0KICAgICAgICAgIG51bTogMTAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgaW1hZ2U6ICcnLCAvL+WlluWTgeWbvueJhw0KICAgICAgICAgIGNoYW5jZTogMSwgLy/kuK3lpZbmnYPph40NCiAgICAgICAgICB0b3RhbDogMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICBwZXJjZW50OiAwLCAvL+S4reWlluamgueOhw0KICAgICAgICAgIG1pbl90cnlfbnVtOiAwLCAvL+aKveWlluasoeaVsOWwneivlQ0KICAgICAgICAgIHByb21wdDogJycsIC8v5o+Q56S66K+tDQogICAgICAgIH0sDQogICAgICBdLA0KICAgICAgZm9ybVZhbGlkYXRlOiB7DQogICAgICAgIGltYWdlczogW10sDQogICAgICAgIG5hbWU6ICcnLCAvL+a0u+WKqOWQjeensA0KICAgICAgICBkZXNjOiAnJywgLy/mtLvliqjmj4/ov7ANCiAgICAgICAgaW1hZ2U6ICcnLCAvL+a0u+WKqOiDjOaZr+Wbvg0KICAgICAgICBmYWN0b3I6ICcxJywgLy/mir3lpZbnsbvlnovvvJoxOuenr+WIhiAyOuS9meminSAz77ya5LiL5Y2V5pSv5LuY5oiQ5YqfIDQ66K6i5Y2V6K+E5Lu3Jyw1OuWFs+azqA0KICAgICAgICBmYWN0b3JfbnVtOiAxLCAvL+iOt+WPluS4gOasoeaKveWllueahOadoeS7tuaVsOmHjw0KICAgICAgICBhdHRlbmRzX3VzZXI6IDEsIC8v5Y+C5LiO55So5oi3Me+8muaJgOaciSAgMu+8mumDqOWIhg0KICAgICAgICB1c2VyX2xldmVsOiBbXSwgLy/lj4LkuI7nlKjmiLfnrYnnuqcNCiAgICAgICAgdXNlcl9sYWJlbDogW10sIC8v5Y+C5LiO55So5oi35qCH562+DQogICAgICAgIGlzX3N2aXA6ICcnLCAvL+WPguS4jueUqOaIt+aYr+WQpuS7mOi0ueS8muWRmA0KICAgICAgICBwcml6ZV9udW06IDAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgIHBlcmlvZDogW10sIC8v5rS75Yqo5pe26Ze0DQogICAgICAgIHByaXplOiBbXSwgLy/lpZblk4HmlbDnu4QNCiAgICAgICAgbG90dGVyeV9udW1fdGVybTogMSwgLy/mir3lpZbmrKHmlbDpmZDliLbvvJox77ya5q+P5aSpMu+8muavj+S6ug0KICAgICAgICBsb3R0ZXJ5X251bTogMSwgLy/mir3lpZbmrKHmlbANCiAgICAgICAgc3ByZWFkX251bTogMSwgLy/lhbPms6jmjqjlub/ojrflj5bmir3lpZbmrKHmlbANCiAgICAgICAgaXNfYWxsX3JlY29yZDogMCwgLy/kuK3lpZbnuqrlvZXlsZXnpLoNCiAgICAgICAgaXNfcGVyc29uYWxfcmVjb3JkOiAwLCAvL+S4quS6uuS4reWllue6quW9leWxleekug0KICAgICAgICBpc19jb250ZW50OiAwLCAvL+a0u+WKqOinhOagvOaYr+WQpuWxleekug0KICAgICAgICBjb250ZW50OiAnJywgLy/lr4zmlofmnKzlhoXlrrkNCiAgICAgICAgc3RhdHVzOiAwLCAvL+eKtuaAgQ0KICAgICAgfSwNCiAgICAgIHJ1bGVWYWxpZGF0ZTogbG90dGVyeUZyb20sDQogICAgICBjdXJyZW50aWQ6ICcnLA0KICAgICAgcGljVGl0OiAnJywNCiAgICAgIHRhYmxlSW5kZXg6IDAsDQogICAgICBjb3B5OiAwLA0KICAgICAgZWRpdEluZGV4OiBudWxsLA0KICAgICAgaWQ6ICcnLA0KICAgICAgY29weTogMCwNCiAgICAgIGxvdHRlcnlfaWQ6IDAsDQogICAgfTsNCiAgfSwNCiAgZmlsdGVyczogew0KICAgIHR5cGVOYW1lKHR5cGUpIHsNCiAgICAgIGlmICh0eXBlID09IDEpIHsNCiAgICAgICAgcmV0dXJuICfmnKrkuK3lpZYnOw0KICAgICAgfSBlbHNlIGlmICh0eXBlID09IDIpIHsNCiAgICAgICAgcmV0dXJuICfnp6/liIYnOw0KICAgICAgfSBlbHNlIGlmICh0eXBlID09IDMpIHsNCiAgICAgICAgcmV0dXJuICfkvZnpop0nOw0KICAgICAgfSBlbHNlIGlmICh0eXBlID09IDQpIHsNCiAgICAgICAgcmV0dXJuICfnuqLljIUnOw0KICAgICAgfSBlbHNlIGlmICh0eXBlID09IDUpIHsNCiAgICAgICAgcmV0dXJuICfkvJjmg6DliLgnOw0KICAgICAgfSBlbHNlIGlmICh0eXBlID09IDYpIHsNCiAgICAgICAgcmV0dXJuICfllYblk4EnOw0KICAgICAgfQ0KICAgIH0sDQogIH0sDQogIGNvbXB1dGVkOiB7DQogICAgLi4ubWFwU3RhdGUoJ2FkbWluL2xheW91dCcsIFsnaXNNb2JpbGUnXSksDQogICAgbGFiZWxXaWR0aCgpIHsNCiAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlID8gdW5kZWZpbmVkIDogJzEyMHB4JzsNCiAgICB9LA0KICAgIGxhYmVsUG9zaXRpb24oKSB7DQogICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/ICd0b3AnIDogJ3JpZ2h0JzsNCiAgICB9LA0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIHRoaXMubGFiZWxMaXN0QXBpKCk7DQogICAgdGhpcy5sZXZlbExpc3RBcGkoKTsNCiAgICBpZiAodGhpcy4kcm91dGUucXVlcnkudHlwZSkgew0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuZmFjdG9yID0gdGhpcy4kcm91dGUucXVlcnkudHlwZTsNCiAgICB9DQogICAgaWYgKHRoaXMuJHJvdXRlLnF1ZXJ5LmxvdHRlcnlfaWQpIHsNCiAgICAgIHRoaXMubG90dGVyeV9pZCA9IHRoaXMuJHJvdXRlLnF1ZXJ5LmxvdHRlcnlfaWQ7DQogICAgICB0aGlzLmdldEluZm8oKTsNCiAgICB9DQogICAgdGhpcy4kbmV4dFRpY2soKGUpID0+IHsNCiAgICAgIHRoaXMuc2V0U29ydCgpOw0KICAgIH0pOw0KICB9LA0KICBtZXRob2RzOiB7DQogICAgc3VibWl0QWRkR29vZHMoKSB7DQogICAgICB0aGlzLiRyZWZzLmFkZEdvb2RzRm9ybS5oYW5kbGVTdWJtaXQoJ2Zvcm1WYWxpZGF0ZScpOw0KICAgIH0sDQogICAgY2hhbmdlVXNlcnMoZSkgew0KICAgICAgaWYgKGUgPT0gMSkgew0KICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZS51c2VyX2xldmVsID0gW107IC8v5Y+C5LiO55So5oi3562J57qnDQogICAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLnVzZXJfbGFiZWwgPSBbXTsgLy/lj4LkuI7nlKjmiLfmoIfnrb4NCiAgICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuaXNfc3ZpcCA9ICctMSc7IC8v5Y+C5LiO55So5oi35piv5ZCm5LuY6LS55Lya5ZGYDQogICAgICAgIHRoaXMuc2VsZWN0RGF0YUxhYmVsID0gW107IC8v5Y+C5LiO55So5oi35piv5ZCm5LuY6LS55Lya5ZGYDQogICAgICB9DQogICAgfSwNCiAgICAvLyDmoIfnrb7lvLnnqpflhbPpl60NCiAgICBsYWJlbENsb3NlKCkgew0KICAgICAgdGhpcy5zZWxlY3RMYWJlbFNob3cgPSBmYWxzZTsNCiAgICB9LA0KICAgIGFjdGl2ZVNlbGVjdERhdGEoZGF0YSkgew0KICAgICAgdGhpcy5zZWxlY3RMYWJlbFNob3cgPSBmYWxzZTsNCiAgICAgIHRoaXMuc2VsZWN0RGF0YUxhYmVsID0gZGF0YTsNCiAgICB9LA0KICAgIG9uQ2xpY2tUYWIoZSkgew0KICAgICAgaWYgKHRoaXMubG90dGVyeV9pZCkgdGhpcy5nZXRJbmZvKCk7DQogICAgfSwNCiAgICBnZXRFZGl0b3JDb250ZW50KGRhdGEpIHsNCiAgICAgIHRoaXMuY29udGVudCA9IGRhdGE7DQogICAgfSwNCiAgICAvL+eUqOaIt+agh+etvuWIl+ihqA0KICAgIGxhYmVsTGlzdEFwaSgpIHsNCiAgICAgIGxhYmVsTGlzdEFwaSgpLnRoZW4oKHJlcykgPT4gew0KICAgICAgICB0aGlzLnVzZXJMYWJlbExpc3QgPSByZXMuZGF0YS5saXN0Ow0KICAgICAgfSk7DQogICAgfSwNCiAgICAvL+eUqOaIt+etiee6p+WIl+ihqA0KICAgIGxldmVsTGlzdEFwaSgpIHsNCiAgICAgIGxldmVsTGlzdEFwaSgpLnRoZW4oKHJlcykgPT4gew0KICAgICAgICB0aGlzLnVzZXJMZXZlbExpc3RBcGkgPSByZXMuZGF0YS5saXN0Ow0KICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDlhbfkvZPml6XmnJ8NCiAgICBvbmNoYW5nZVRpbWUoZSkgew0KICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybVZhbGlkYXRlLCAncGVyaW9kJywgZSk7DQogICAgfSwNCiAgICAvLyDor6bmg4UNCiAgICBnZXRJbmZvKGUpIHsNCiAgICAgIHRoaXMuc3BpblNob3cgPSB0cnVlOw0KICAgICAgbG90dGVyeURldGFpbEFwaSh0aGlzLmxvdHRlcnlfaWQpDQogICAgICAgIC50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICBpZiAocmVzLnN0YXR1cyA9PSAyMDAgJiYgIUFycmF5LmlzQXJyYXkocmVzLmRhdGEpKSB7DQogICAgICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZSA9IHJlcy5kYXRhOw0KICAgICAgICAgICAgdGhpcy5mb3JtVmFsaWRhdGUudXNlcl9sZXZlbCA9IHJlcy5kYXRhLnVzZXJfbGV2ZWwgfHwgW107DQogICAgICAgICAgICB0aGlzLnNlbGVjdERhdGFMYWJlbCA9IHJlcy5kYXRhLnVzZXJfbGFiZWwgfHwgW107DQogICAgICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5pc19zdmlwID0gcmVzLmRhdGEuaXNfc3ZpcDsNCiAgICAgICAgICAgIHRoaXMuY29udGVudCA9IHJlcy5kYXRhLmlzX2NvbnRlbnQgPyByZXMuZGF0YS5jb250ZW50IDogJyc7DQogICAgICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5mYWN0b3IgPSByZXMuZGF0YS5mYWN0b3IudG9TdHJpbmcoKTsNCiAgICAgICAgICAgIHRoaXMuJHNldCh0aGlzLmZvcm1WYWxpZGF0ZSwgJ3BlcmlvZCcsIFsNCiAgICAgICAgICAgICAgdGhpcy5mb3JtYXREYXRlKHJlcy5kYXRhLnN0YXJ0X3RpbWUpIHx8ICcnLA0KICAgICAgICAgICAgICB0aGlzLmZvcm1hdERhdGUocmVzLmRhdGEuZW5kX3RpbWUpIHx8ICcnLA0KICAgICAgICAgICAgXSk7DQogICAgICAgICAgICB0aGlzLnNwZWNzRGF0YSA9IHJlcy5kYXRhLnByaXplOw0KICAgICAgICAgICAgdGhpcy5nZXRQcm9iYWJpbGl0eSgpOw0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZSA9IHsNCiAgICAgICAgICAgICAgaW1hZ2VzOiBbXSwNCiAgICAgICAgICAgICAgbmFtZTogJycsIC8v5rS75Yqo5ZCN56ewDQogICAgICAgICAgICAgIGRlc2M6ICcnLCAvL+a0u+WKqOaPj+i/sA0KICAgICAgICAgICAgICBpbWFnZTogJycsIC8v5rS75Yqo6IOM5pmv5Zu+DQogICAgICAgICAgICAgIGZhY3RvcjogZS50b1N0cmluZygpLCAvL+aKveWlluexu+Wei++8mjE656ev5YiGIDI65L2Z6aKdIDPvvJrkuIvljZXmlK/ku5jmiJDlip8gNDrorqLljZXor4Tku7cnLDU65YWz5rOoDQogICAgICAgICAgICAgIGZhY3Rvcl9udW06IDEsIC8v6I635Y+W5LiA5qyh5oq95aWW55qE5p2h5Lu25pWw6YePDQogICAgICAgICAgICAgIGF0dGVuZHNfdXNlcjogMSwgLy/lj4LkuI7nlKjmiLcx77ya5omA5pyJICAy77ya6YOo5YiGDQogICAgICAgICAgICAgIHVzZXJfbGV2ZWw6IFtdLCAvL+WPguS4jueUqOaIt+etiee6pw0KICAgICAgICAgICAgICB1c2VyX2xhYmVsOiBbXSwgLy/lj4LkuI7nlKjmiLfmoIfnrb4NCiAgICAgICAgICAgICAgaXNfc3ZpcDogJy0xJywgLy/lj4LkuI7nlKjmiLfmmK/lkKbku5jotLnkvJrlkZgNCiAgICAgICAgICAgICAgcHJpemVfbnVtOiAwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgICAgICBwZXJpb2Q6IFtdLCAvL+a0u+WKqOaXtumXtA0KICAgICAgICAgICAgICBwcml6ZTogW10sIC8v5aWW5ZOB5pWw57uEDQogICAgICAgICAgICAgIGxvdHRlcnlfbnVtX3Rlcm06IDEsIC8v5oq95aWW5qyh5pWw6ZmQ5Yi277yaMe+8muavj+WkqTLvvJrmr4/kuroNCiAgICAgICAgICAgICAgbG90dGVyeV9udW06IDEsIC8v5oq95aWW5qyh5pWwDQogICAgICAgICAgICAgIHNwcmVhZF9udW06IDEsIC8v5YWz5rOo5o6o5bm/6I635Y+W5oq95aWW5qyh5pWwDQogICAgICAgICAgICAgIGlzX2FsbF9yZWNvcmQ6IDAsIC8v5Lit5aWW57qq5b2V5bGV56S6DQogICAgICAgICAgICAgIGlzX3BlcnNvbmFsX3JlY29yZDogMCwgLy/kuKrkurrkuK3lpZbnuqrlvZXlsZXnpLoNCiAgICAgICAgICAgICAgaXNfY29udGVudDogMCwgLy/mtLvliqjop4TmoLzmmK/lkKblsZXnpLoNCiAgICAgICAgICAgICAgY29udGVudDogJycsIC8v5a+M5paH5pys5YaF5a65DQogICAgICAgICAgICAgIHN0YXR1czogMCwgLy/nirbmgIENCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB0aGlzLnNwZWNzRGF0YSA9IFsNCiAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHR5cGU6IDEsIC8v57G75Z6LIDHvvJrmnKrkuK3lpZYgMu+8muenr+WIhiAgMzrkvZnpop0gIDTvvJrnuqLljIUgNTrkvJjmg6DliLggNu+8muermeWGheWVhuWTgQ0KICAgICAgICAgICAgICAgIG5hbWU6ICcnLCAvL+a0u+WKqOWQjeensA0KICAgICAgICAgICAgICAgIG51bTogMTAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgICAgICAgaW1hZ2U6ICcnLCAvL+WlluWTgeWbvueJhw0KICAgICAgICAgICAgICAgIGNoYW5jZTogMSwgLy/kuK3lpZbmnYPph40NCiAgICAgICAgICAgICAgICB0b3RhbDogMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICAgICAgICBwZXJjZW50OiAwLCAvL+S4reWlluamgueOhw0KICAgICAgICAgICAgICAgIG1pbl90cnlfbnVtOiAwLCAvL+aKveWlluasoeaVsOWwneivlQ0KICAgICAgICAgICAgICAgIHByb21wdDogJycsIC8v5o+Q56S66K+tDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICB0eXBlOiAxLCAvL+exu+WeiyAx77ya5pyq5Lit5aWWIDLvvJrnp6/liIYgIDM65L2Z6aKdICA077ya57qi5YyFIDU65LyY5oOg5Yi4IDbvvJrnq5nlhoXllYblk4ENCiAgICAgICAgICAgICAgICBuYW1lOiAnJywgLy/mtLvliqjlkI3np7ANCiAgICAgICAgICAgICAgICBudW06IDEwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgICAgICAgIGltYWdlOiAnJywgLy/lpZblk4Hlm77niYcNCiAgICAgICAgICAgICAgICBjaGFuY2U6IDEsIC8v5Lit5aWW5p2D6YeNDQogICAgICAgICAgICAgICAgdG90YWw6IDAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgICAgICAgcGVyY2VudDogMCwgLy/kuK3lpZbmpoLnjocNCiAgICAgICAgICAgICAgICBtaW5fdHJ5X251bTogMCwgLy/mir3lpZbmrKHmlbDlsJ3or5UNCiAgICAgICAgICAgICAgICBwcm9tcHQ6ICcnLCAvL+aPkOekuuivrQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgdHlwZTogMSwgLy/nsbvlnosgMe+8muacquS4reWlliAy77ya56ev5YiGICAzOuS9meminSAgNO+8mue6ouWMhSA1OuS8mOaDoOWIuCA277ya56uZ5YaF5ZWG5ZOBDQogICAgICAgICAgICAgICAgbmFtZTogJycsIC8v5rS75Yqo5ZCN56ewDQogICAgICAgICAgICAgICAgbnVtOiAxMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICAgICAgICBpbWFnZTogJycsIC8v5aWW5ZOB5Zu+54mHDQogICAgICAgICAgICAgICAgY2hhbmNlOiAxLCAvL+S4reWlluadg+mHjQ0KICAgICAgICAgICAgICAgIHRvdGFsOiAwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgICAgICAgIHBlcmNlbnQ6IDAsIC8v5Lit5aWW5qaC546HDQogICAgICAgICAgICAgICAgbWluX3RyeV9udW06IDAsIC8v5oq95aWW5qyh5pWw5bCd6K+VDQogICAgICAgICAgICAgICAgcHJvbXB0OiAnJywgLy/mj5DnpLror60NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHR5cGU6IDEsIC8v57G75Z6LIDHvvJrmnKrkuK3lpZYgMu+8muenr+WIhiAgMzrkvZnpop0gIDTvvJrnuqLljIUgNTrkvJjmg6DliLggNu+8muermeWGheWVhuWTgQ0KICAgICAgICAgICAgICAgIG5hbWU6ICcnLCAvL+a0u+WKqOWQjeensA0KICAgICAgICAgICAgICAgIG51bTogMTAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgICAgICAgaW1hZ2U6ICcnLCAvL+WlluWTgeWbvueJhw0KICAgICAgICAgICAgICAgIGNoYW5jZTogMSwgLy/kuK3lpZbmnYPph40NCiAgICAgICAgICAgICAgICB0b3RhbDogMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICAgICAgICBwZXJjZW50OiAwLCAvL+S4reWlluamgueOhw0KICAgICAgICAgICAgICAgIG1pbl90cnlfbnVtOiAwLCAvL+aKveWlluasoeaVsOWwneivlQ0KICAgICAgICAgICAgICAgIHByb21wdDogJycsIC8v5o+Q56S66K+tDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICB0eXBlOiAxLCAvL+exu+WeiyAx77ya5pyq5Lit5aWWIDLvvJrnp6/liIYgIDM65L2Z6aKdICA077ya57qi5YyFIDU65LyY5oOg5Yi4IDbvvJrnq5nlhoXllYblk4ENCiAgICAgICAgICAgICAgICBuYW1lOiAnJywgLy/mtLvliqjlkI3np7ANCiAgICAgICAgICAgICAgICBudW06IDEwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgICAgICAgIGltYWdlOiAnJywgLy/lpZblk4Hlm77niYcNCiAgICAgICAgICAgICAgICBjaGFuY2U6IDEsIC8v5Lit5aWW5p2D6YeNDQogICAgICAgICAgICAgICAgdG90YWw6IDAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgICAgICAgcGVyY2VudDogMCwgLy/kuK3lpZbmpoLnjocNCiAgICAgICAgICAgICAgICBtaW5fdHJ5X251bTogMCwgLy/mir3lpZbmrKHmlbDlsJ3or5UNCiAgICAgICAgICAgICAgICBwcm9tcHQ6ICcnLCAvL+aPkOekuuivrQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgdHlwZTogMSwgLy/nsbvlnosgMe+8muacquS4reWlliAy77ya56ev5YiGICAzOuS9meminSAgNO+8mue6ouWMhSA1OuS8mOaDoOWIuCA277ya56uZ5YaF5ZWG5ZOBDQogICAgICAgICAgICAgICAgbmFtZTogJycsIC8v5rS75Yqo5ZCN56ewDQogICAgICAgICAgICAgICAgbnVtOiAxMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICAgICAgICBpbWFnZTogJycsIC8v5aWW5ZOB5Zu+54mHDQogICAgICAgICAgICAgICAgY2hhbmNlOiAxLCAvL+S4reWlluadg+mHjQ0KICAgICAgICAgICAgICAgIHRvdGFsOiAwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgICAgICAgIHBlcmNlbnQ6IDAsIC8v5Lit5aWW5qaC546HDQogICAgICAgICAgICAgICAgbWluX3RyeV9udW06IDAsIC8v5oq95aWW5qyh5pWw5bCd6K+VDQogICAgICAgICAgICAgICAgcHJvbXB0OiAnJywgLy/mj5DnpLror60NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHR5cGU6IDEsIC8v57G75Z6LIDHvvJrmnKrkuK3lpZYgMu+8muenr+WIhiAgMzrkvZnpop0gIDTvvJrnuqLljIUgNTrkvJjmg6DliLggNu+8muermeWGheWVhuWTgQ0KICAgICAgICAgICAgICAgIG5hbWU6ICcnLCAvL+a0u+WKqOWQjeensA0KICAgICAgICAgICAgICAgIG51bTogMTAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgICAgICAgaW1hZ2U6ICcnLCAvL+WlluWTgeWbvueJhw0KICAgICAgICAgICAgICAgIGNoYW5jZTogMSwgLy/kuK3lpZbmnYPph40NCiAgICAgICAgICAgICAgICB0b3RhbDogMCwgLy/lpZblk4HmlbDph48NCiAgICAgICAgICAgICAgICBwZXJjZW50OiAwLCAvL+S4reWlluamgueOhw0KICAgICAgICAgICAgICAgIG1pbl90cnlfbnVtOiAwLCAvL+aKveWlluasoeaVsOWwneivlQ0KICAgICAgICAgICAgICAgIHByb21wdDogJycsIC8v5o+Q56S66K+tDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICB0eXBlOiAxLCAvL+exu+WeiyAx77ya5pyq5Lit5aWWIDLvvJrnp6/liIYgIDM65L2Z6aKdICA077ya57qi5YyFIDU65LyY5oOg5Yi4IDbvvJrnq5nlhoXllYblk4ENCiAgICAgICAgICAgICAgICBuYW1lOiAnJywgLy/mtLvliqjlkI3np7ANCiAgICAgICAgICAgICAgICBudW06IDEwLCAvL+WlluWTgeaVsOmHjw0KICAgICAgICAgICAgICAgIGltYWdlOiAnJywgLy/lpZblk4Hlm77niYcNCiAgICAgICAgICAgICAgICBjaGFuY2U6IDEsIC8v5Lit5aWW5p2D6YeNDQogICAgICAgICAgICAgICAgdG90YWw6IDAsIC8v5aWW5ZOB5pWw6YePDQogICAgICAgICAgICAgICAgcGVyY2VudDogMCwgLy/kuK3lpZbmpoLnjocNCiAgICAgICAgICAgICAgICBtaW5fdHJ5X251bTogMCwgLy/mir3lpZbmrKHmlbDlsJ3or5UNCiAgICAgICAgICAgICAgICBwcm9tcHQ6ICcnLCAvL+aPkOekuuivrQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgXTsNCiAgICAgICAgICB9DQogICAgICAgICAgdGhpcy4kbmV4dFRpY2soKGUpID0+IHsNCiAgICAgICAgICAgIHRoaXMuc3BpblNob3cgPSBmYWxzZTsNCiAgICAgICAgICB9KTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChlcnIpID0+IHt9KTsNCiAgICB9LA0KICAgIC8vIOS4i+S4gOatpQ0KICAgIG5leHQobmFtZSkgew0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUucHJpemUgPSB0aGlzLnNwZWNzRGF0YTsNCiAgICAgIGlmICh0aGlzLmZvcm1WYWxpZGF0ZS5pc19jb250ZW50KSB7DQogICAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmNvbnRlbnQgPSBmb3JtYXRSaWNoVGV4dCh0aGlzLmNvbnRlbnQpOw0KICAgICAgfQ0KICAgICAgaWYgKHRoaXMuZm9ybVZhbGlkYXRlLmF0dGVuZHNfdXNlciA9PSAyKSB7DQogICAgICAgIGlmICh0aGlzLnNlbGVjdERhdGFMYWJlbC5sZW5ndGgpIHsNCiAgICAgICAgICBsZXQgYWN0aXZlSWRzID0gW107DQogICAgICAgICAgdGhpcy5zZWxlY3REYXRhTGFiZWwuZm9yRWFjaCgoaXRlbSkgPT4gew0KICAgICAgICAgICAgYWN0aXZlSWRzLnB1c2goaXRlbS5pZCk7DQogICAgICAgICAgfSk7DQogICAgICAgICAgdGhpcy5mb3JtVmFsaWRhdGUudXNlcl9sYWJlbCA9IGFjdGl2ZUlkczsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgaWYgKHRoaXMuc3VibWl0T3BlbikgcmV0dXJuIGZhbHNlOw0KICAgICAgdGhpcy4kcmVmc1tuYW1lXS52YWxpZGF0ZSgodmFsaWQpID0+IHsNCiAgICAgICAgaWYgKHZhbGlkKSB7DQogICAgICAgICAgdGhpcy5zdWJtaXRPcGVuID0gdHJ1ZTsNCiAgICAgICAgICBpZiAodGhpcy5mb3JtVmFsaWRhdGUuaWQgJiYgIXRoaXMuY29weSkgew0KICAgICAgICAgICAgbG90dGVyeUVkaXRBcGkodGhpcy5mb3JtVmFsaWRhdGUuaWQsIHRoaXMuZm9ybVZhbGlkYXRlKQ0KICAgICAgICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0T3BlbiA9IGZhbHNlOw0KICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goew0KICAgICAgICAgICAgICAgICAgICBwYXRoOiAnL2FkbWluL21hcmtldGluZy9sb3R0ZXJ5L2xpc3QnLA0KICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSwgNTAwKTsNCiAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdE9wZW4gPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgbG90dGVyeUNyZWF0ZUFwaSh0aGlzLmZvcm1WYWxpZGF0ZSkNCiAgICAgICAgICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4gew0KICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0T3BlbiA9IGZhbHNlOw0KICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2VzcyhyZXMubXNnKTsNCiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsNCiAgICAgICAgICAgICAgICAgICAgcGF0aDogJy9hZG1pbi9tYXJrZXRpbmcvbG90dGVyeS9saXN0JywNCiAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0sIDUwMCk7DQogICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy5zdWJtaXRPcGVuID0gZmFsc2U7DQogICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDkuIrkuIDmraUNCiAgICBzdGVwKCkgew0KICAgICAgdGhpcy5jdXJyZW50LS07DQogICAgfSwNCiAgICAvLyDngrnlh7vllYblk4Hlm74NCiAgICBtb2RhbFBpY1RhcCh0aXQsIHBpY1RpdCwgaW5kZXgpIHsNCiAgICAgIHRoaXMubW9kYWxQaWMgPSB0cnVlOw0KICAgICAgdGhpcy5pc0Nob2ljZSA9IHRpdCA9PT0gJ2RhbicgPyAn5Y2V6YCJJyA6ICflpJrpgIknOw0KICAgICAgdGhpcy5waWNUaXQgPSBwaWNUaXQgfHwgJyc7DQogICAgICB0aGlzLnRhYmxlSW5kZXggPSBpbmRleDsNCiAgICB9LA0KICAgIC8vIOiOt+WPluWNleW8oOWbvueJh+S/oeaBrw0KICAgIGdldFBpYyhwYykgew0KICAgICAgc3dpdGNoICh0aGlzLnBpY1RpdCkgew0KICAgICAgICBjYXNlICdkYW5Gcm9tJzoNCiAgICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5pbWFnZSA9IHBjLmF0dF9kaXI7DQogICAgICAgICAgYnJlYWs7DQogICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgdGhpcy5zcGVjc0RhdGFbdGhpcy50YWJsZUluZGV4XS5pbWFnZSA9IHBjLmF0dF9kaXI7DQogICAgICB9DQogICAgICB0aGlzLm1vZGFsUGljID0gZmFsc2U7DQogICAgfSwNCiAgICBoYW5kbGVSZW1vdmUoKSB7DQogICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5pbWFnZSA9ICcnOw0KICAgIH0sDQogICAgLy8g6KGo5Y2V6aqM6K+BDQogICAgdmFsaWRhdGUocHJvcCwgc3RhdHVzLCBlcnJvcikgew0KICAgICAgaWYgKHN0YXR1cyA9PT0gZmFsc2UpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihlcnJvcik7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0sDQogICAgLy/mlrDlop7llYblk4ENCiAgICBhZGRHb29kcygpIHsNCiAgICAgIHRoaXMuYWRkR29vZHNNb2RlbCA9IHRydWU7DQogICAgICB0aGlzLnRpdGxlID0gJ+a3u+WKoOWVhuWTgSc7DQogICAgICB0aGlzLmVkaXREYXRhID0ge307DQogICAgfSwNCiAgICAvL+e8lui+keWVhuWTgQ0KICAgIGVkaXRHb29kcyhpbmRleCkgew0KICAgICAgdGhpcy5hZGRHb29kc01vZGVsID0gdHJ1ZTsNCiAgICAgIHRoaXMudGl0bGUgPSAn5re75Yqg5aWW5ZOBJzsNCiAgICAgIHRoaXMuZWRpdERhdGEgPSB0aGlzLnNwZWNzRGF0YVtpbmRleF07DQogICAgICB0aGlzLmVkaXRJbmRleCA9IGluZGV4Ow0KICAgIH0sDQogICAgLy/liKDpmaTllYblk4ENCiAgICBkZWxldGVHb29kcyhpbmRleCkgew0KICAgICAgdGhpcy5zcGVjc0RhdGEuc3BsaWNlKGluZGV4LCAxKTsNCiAgICB9LA0KICAgIC8v6I635Y+W5pWw57uE5Lit5p+Q5Liq5a2X5q615LmL5ZKMDQogICAgc3VtQXJyKGFyciwgbmFtZSkgew0KICAgICAgbGV0IGFyckRhdGEgPSBbXTsNCiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7DQogICAgICAgIGFyckRhdGEucHVzaChhcnJbaV1bbmFtZV0pOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIGV2YWwoYXJyRGF0YS5qb2luKCcrJykpOw0KICAgIH0sDQogICAgYWRkR29vZHNEYXRhKGRhdGEpIHsNCiAgICAgIHRoaXMuZWRpdEluZGV4ICE9IG51bGwNCiAgICAgICAgPyB0aGlzLiRzZXQodGhpcy5zcGVjc0RhdGEsIFt0aGlzLmVkaXRJbmRleF0sIGRhdGEpDQogICAgICAgIDogdGhpcy5zcGVjc0RhdGEubGVuZ3RoIDwgOA0KICAgICAgICA/IHRoaXMuc3BlY3NEYXRhLnB1c2goZGF0YSkNCiAgICAgICAgOiB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+acgOWkmua3u+WKoDjkuKrlpZblk4EnKTsNCiAgICAgIHRoaXMuZ2V0UHJvYmFiaWxpdHkoKTsNCiAgICAgIHRoaXMuYWRkR29vZHNNb2RlbCA9IGZhbHNlOw0KICAgICAgdGhpcy5lZGl0SW5kZXggPSBudWxsOw0KICAgIH0sDQogICAgY2hhbmdlQ2hhbmNlKGUsIGluZGV4KSB7DQogICAgICBjb25zb2xlLmxvZyhlLCBpbmRleCk7DQogICAgICBsZXQgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTsNCiAgICAgIHRoaXMuJHNldCh0aGlzLnNwZWNzRGF0YVtpbmRleF0sICdwZXJjZW50JywgdmFsdWUpOw0KICAgIH0sDQogICAgY2hhbmdlVG90YWwoZGF0YSwgaW5kZXgpIHsNCiAgICAgIHRoaXMuJHNldCh0aGlzLnNwZWNzRGF0YVtpbmRleF0sICd0b3RhbCcsIGRhdGEpOw0KICAgIH0sDQogICAgLy/ojrflj5bllYblk4HkuK3lpZbmpoLnjocNCiAgICBnZXRQcm9iYWJpbGl0eSgpIHsNCiAgICAgIGxldCBzdW0gPSAwOw0KICAgICAgc3VtID0gdGhpcy5zdW1BcnIodGhpcy5zcGVjc0RhdGEsICdjaGFuY2UnKTsNCiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpcy5zcGVjc0RhdGEubGVuZ3RoOyBqKyspIHsNCiAgICAgICAgaWYgKHN1bSA9PSAwKSB7DQogICAgICAgICAgdGhpcy4kc2V0KHRoaXMuc3BlY3NEYXRhW2pdLCAncHJvYmFiaWxpdHknLCAnMCUnKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRzZXQodGhpcy5zcGVjc0RhdGFbal0sICdwcm9iYWJpbGl0eScsICgodGhpcy5zcGVjc0RhdGFbal0uY2hhbmNlIC8gc3VtKSAqIDEwMCkudG9GaXhlZCgyKSArICclJyk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9LA0KICAgIC8v5L+u5pS55o6S5bqPDQogICAgb25EcmFnRHJvcChhLCBiKSB7DQogICAgICB0aGlzLnNwZWNzRGF0YS5zcGxpY2UoYiwgMSwgLi4udGhpcy5zcGVjc0RhdGEuc3BsaWNlKGEsIDEsIHRoaXMuc3BlY3NEYXRhW2JdKSk7DQogICAgfSwNCiAgICBzZXRTb3J0KCkgew0KICAgICAgLy8gcmVm5LiA5a6a6LefdGFibGXkuIrpnaLnmoRyZWbkuIDoh7QNCiAgICAgIGNvbnN0IGVsID0gdGhpcy4kcmVmcy5zZWxlY3Rpb24uJGVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lbC10YWJsZV9fYm9keS13cmFwcGVyID4gdGFibGUgPiB0Ym9keScpWzBdOw0KICAgICAgdGhpcy5zb3J0YWJsZSA9IFNvcnRhYmxlLmNyZWF0ZShlbCwgew0KICAgICAgICBnaG9zdENsYXNzOiAnc29ydGFibGUtZ2hvc3QnLA0KICAgICAgICBoYW5kbGU6ICcuaGFuZGxlJywNCiAgICAgICAgc2V0RGF0YTogZnVuY3Rpb24gKGRhdGFUcmFuc2Zlcikgew0KICAgICAgICAgIGRhdGFUcmFuc2Zlci5zZXREYXRhKCdUZXh0JywgJycpOw0KICAgICAgICB9LA0KICAgICAgICAvLyDnm5HlkKzmi5bmi73kuovku7bnu5PmnZ/ml7bop6blj5ENCiAgICAgICAgb25FbmQ6IChldnQpID0+IHsNCiAgICAgICAgICB0aGlzLmVsQ2hhbmdlRXhGb3JBcnJheShldnQub2xkSW5kZXgsIGV2dC5uZXdJbmRleCwgdGhpcy5zcGVjc0RhdGEpOw0KICAgICAgICB9LA0KICAgICAgfSk7DQogICAgfSwNCiAgICBlbENoYW5nZUV4Rm9yQXJyYXkoaW5kZXgxLCBpbmRleDIsIGFycmF5LCBpbml0KSB7DQogICAgICBjb25zdCBhcnIgPSBhcnJheTsNCiAgICAgIGNvbnN0IHRlbXAgPSBhcnJheVtpbmRleDFdOw0KICAgICAgY29uc3QgdGVtcHQgPSBhcnJheVtpbmRleDJdOw0KICAgICAgaWYgKGluaXQpIHsNCiAgICAgICAgYXJyW2luZGV4Ml0gPSB0ZW1wdDsNCiAgICAgICAgYXJyW2luZGV4MV0gPSB0ZW1wOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgYXJyW2luZGV4MV0gPSB0ZW1wdDsNCiAgICAgICAgYXJyW2luZGV4Ml0gPSB0ZW1wOw0KICAgICAgfQ0KICAgICAgdGhpcy5zcGVjc0RhdGEgPSBbXTsNCiAgICAgIHRoaXMuJG5leHRUaWNrKChlKSA9PiB7DQogICAgICAgIHRoaXMuc3BlY3NEYXRhID0gYXJyOw0KICAgICAgfSk7DQogICAgfSwNCiAgICAvL+aXtumXtOagvOW8j+i9rOaNog0KICAgIGZvcm1hdERhdGUodGltZSkgew0KICAgICAgaWYgKHRpbWUpIHsNCiAgICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lICogMTAwMCk7DQogICAgICAgIHJldHVybiBmb3JtYXREYXRlKGRhdGUsICd5eXl5LU1NLWRkIGhoOm1tJyk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICByZXR1cm4gJyc7DQogICAgICB9DQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["create.vue"],"names":[],"mappings":";AA+cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"create.vue","sourceRoot":"src/pages/marketing/lottery","sourcesContent":["<template>\r\n <div>\r\n <div class=\"i-layout-page-header header-title\">\r\n <div class=\"fl_header\">\r\n <el-button\r\n class=\"btn-back\"\r\n icon=\"el-icon-arrow-left\"\r\n size=\"small\"\r\n type=\"text\"\r\n v-db-click\r\n @click=\"$router.go(-1)\"\r\n >返回</el-button\r\n >\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <span class=\"ivu-page-header-title\">{{ $route.meta.title }}</span>\r\n </div>\r\n </div>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\" :body-style=\"{ padding: '0 20px 20px' }\">\r\n <el-row class=\"mt30 acea-row row-middle row-center\">\r\n <el-col :span=\"24\" v-loading=\"spinShow\">\r\n <el-form\r\n class=\"form\"\r\n ref=\"formValidate\"\r\n :rules=\"ruleValidate\"\r\n :model=\"formValidate\"\r\n @on-validate=\"validate\"\r\n :label-width=\"labelWidth\"\r\n :label-position=\"labelPosition\"\r\n @submit.native.prevent\r\n >\r\n <el-row>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"活动类型:\" prop=\"name\" label-for=\"name\">\r\n <el-radio-group v-model=\"formValidate.factor\" @input=\"onClickTab\">\r\n <el-radio v-for=\"(item, index) in tabs\" :label=\"item.type\" :disabled=\"!!lottery_id\" :key=\"index\">{{\r\n item.name\r\n }}</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"活动名称:\" prop=\"name\" label-for=\"name\">\r\n <el-input\r\n placeholder=\"请输入活动名称\"\r\n v-model=\"formValidate.name\"\r\n class=\"content_width\"\r\n maxlength=\"80\"\r\n show-word-limit\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"活动时间:\">\r\n <div class=\"acea-row row-middle\">\r\n <el-date-picker\r\n v-model=\"formValidate.period\"\r\n :editable=\"false\"\r\n type=\"datetimerange\"\r\n format=\"yyyy-MM-dd\"\r\n value-format=\"yyyy-MM-dd\"\r\n range-separator=\"-\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n @change=\"onchangeTime\"\r\n style=\"width: 460px\"\r\n ></el-date-picker>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"参与用户:\" prop=\"attends_user\" label-for=\"attends_user\">\r\n <el-radio-group element-id=\"attends_user\" v-model=\"formValidate.attends_user\" @input=\"changeUsers\">\r\n <el-radio :label=\"1\" class=\"radio\">全部用户</el-radio>\r\n <el-radio :label=\"2\">部分用户</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\" v-if=\"formValidate.attends_user == 2\">\r\n <el-form-item label=\"\" :prop=\"formValidate.attends_user == 2 ? 'user_level' : ''\">\r\n <div class=\"acea-row row-middle\">\r\n <el-select\r\n multiple\r\n v-model=\"formValidate.user_level\"\r\n class=\"content_width\"\r\n placeholder=\"请选择用户等级\"\r\n >\r\n <el-option\r\n v-for=\"item in userLevelListApi\"\r\n :value=\"item.id\"\r\n :key=\"item.id\"\r\n :label=\"item.name\"\r\n ></el-option>\r\n </el-select>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\" v-if=\"formValidate.attends_user == 2\">\r\n <el-form-item label=\"\" :prop=\"formValidate.attends_user == 2 ? 'is_svip' : ''\">\r\n <div class=\"acea-row row-middle\">\r\n <el-select\r\n v-model=\"formValidate.is_svip\"\r\n clearable\r\n placeholder=\"请选择是否是付费会员\"\r\n class=\"content_width\"\r\n >\r\n <el-option\r\n v-for=\"item in templateList\"\r\n :value=\"item.id\"\r\n :key=\"item.id\"\r\n :label=\"item.name\"\r\n ></el-option>\r\n </el-select>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\" v-if=\"formValidate.attends_user == 2\">\r\n <el-form-item label=\"\" :prop=\"formValidate.attends_user == 2 ? 'user_label' : ''\">\r\n <div class=\"acea-row row-middle\">\r\n <div class=\"labelInput acea-row row-between-wrapper\" v-db-click @click=\"selectLabelShow = true\">\r\n <div class=\"\">\r\n <div v-if=\"selectDataLabel.length\">\r\n <el-tag\r\n :closable=\"false\"\r\n v-for=\"(item, index) in selectDataLabel\"\r\n @close=\"closeLabel(item)\"\r\n :key=\"index\"\r\n class=\"mr10\"\r\n >{{ item.label_name }}</el-tag\r\n >\r\n </div>\r\n <span class=\"span\" v-else>选择用户标签</span>\r\n </div>\r\n <div class=\"ivu-icon ivu-icon-ios-arrow-down\"></div>\r\n </div>\r\n </div>\r\n <div class=\"tips-info ml100 grey\">三个条件都设置后,必须这些条件都满足的用户才能参加抽奖</div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\" v-if=\"formValidate.factor == 5\">\r\n <el-form-item\r\n label=\"抽奖次数:\"\r\n :prop=\"formValidate.factor == 5 ? 'lottery_num_term' : ''\"\r\n label-for=\"status\"\r\n >\r\n <el-radio-group element-id=\"lottery_num_term\" v-model=\"formValidate.lottery_num_term\">\r\n <el-radio :label=\"1\" class=\"radio\">每天N次</el-radio>\r\n <el-radio :label=\"2\">每人N次</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\" v-if=\"formValidate.factor == 5\">\r\n <el-form-item\r\n label=\"邀请新用户最多可获得抽奖\"\r\n :prop=\"formValidate.factor == 5 ? 'lottery_num' : ''\"\r\n label-for=\"lottery_num\"\r\n >\r\n <div class=\"acea-row row-middle\">\r\n <div class=\"mr10 grey\"></div>\r\n <el-input-number\r\n :controls=\"false\"\r\n placeholder=\"\"\r\n element-id=\"lottery_num\"\r\n :min=\"1\"\r\n :precision=\"0\"\r\n v-model=\"formValidate.lottery_num\"\r\n class=\"content_width\"\r\n />\r\n <div class=\"ml10 grey\">次</div>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\" v-if=\"formValidate.factor == 5\">\r\n <el-form-item\r\n label=\"邀请一位新用户关注公众号可获得抽奖\"\r\n :prop=\"formValidate.factor == 5 ? 'spread_num' : ''\"\r\n label-for=\"spread_num\"\r\n >\r\n <div class=\"acea-row row-middle\">\r\n <div class=\"mr10 grey\"></div>\r\n <el-input-number\r\n :controls=\"false\"\r\n placeholder=\"\"\r\n element-id=\"spread_num\"\r\n :min=\"1\"\r\n :precision=\"0\"\r\n v-model=\"formValidate.spread_num\"\r\n class=\"content_width\"\r\n />\r\n <div class=\"ml10 grey\">次</div>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col\r\n :span=\"24\"\r\n v-if=\"formValidate.factor == 1 || formValidate.factor == 3 || formValidate.factor == 4\"\r\n >\r\n <el-form-item\r\n :label=\"formValidate.factor == 1 ? '抽奖消耗积分:' : '抽奖次数:'\"\r\n :prop=\"\r\n formValidate.factor == 1 || formValidate.factor == 3 || formValidate.factor == 4 ? 'factor_num' : ''\r\n \"\r\n label-for=\"factor_num\"\r\n >\r\n <div class=\"acea-row row-middle\">\r\n <!-- <div class=\"mr10 grey\"></div> -->\r\n <el-input-number\r\n :controls=\"false\"\r\n placeholder=\"\"\r\n element-id=\"factor_num\"\r\n :min=\"1\"\r\n :precision=\"0\"\r\n v-model=\"formValidate.factor_num\"\r\n class=\"content_width\"\r\n >\r\n </el-input-number>\r\n <!-- <div class=\"ml10 grey\" v-if=\"formValidate.factor !== 1\">次</div> -->\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"规格选择:\" prop=\"prize\">\r\n <el-table ref=\"selection\" :data=\"specsData\">\r\n <el-table-column min-width=\"30\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"drag\" @on-drag-drop=\"onDragDrop\">\r\n <img class=\"handle\" src=\"@/assets/images/drag-icon.png\" alt=\"\" />\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"序号\" type=\"index\" width=\"50\"> </el-table-column>\r\n <el-table-column label=\"图片\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <div\r\n class=\"acea-row scope.row-middle scope.row-center-wrapper\"\r\n v-db-click\r\n @click=\"modalPicTap('dan', 'goods', scope.$index)\"\r\n >\r\n <div class=\"pictrue pictrueTab\" v-if=\"scope.row.image\">\r\n <img v-lazy=\"scope.row.image\" />\r\n </div>\r\n <div class=\"upLoad pictrueTab acea-row row-center-wrapper\" v-else>\r\n <i class=\"el-icon-picture-outline\" style=\"font-size: 24px\"></i>\r\n </div>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"名称\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <div>{{ scope.row.name }}</div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"奖品\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <div>{{ scope.row.type | typeName }}</div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"提示语\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <div>{{ scope.row.prompt }}</div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"数量\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"scope.row.total\"\r\n :max=\"9999999999\"\r\n :min=\"0\"\r\n :precision=\"0\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"奖品概率(%)\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"scope.row.percent\"\r\n :max=\"100\"\r\n :min=\"0\"\r\n :precision=\"2\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <a class=\"submission mr15\" v-db-click @click=\"editGoods(scope.$index)\">编辑</a>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <el-button\r\n v-if=\"specsData.length < 8\"\r\n type=\"primary\"\r\n class=\"submission mr15 mt20\"\r\n v-db-click\r\n @click=\"addGoods\"\r\n >添加商品</el-button\r\n >\r\n </el-form-item>\r\n <el-form-item>\r\n <div class=\"pl60 grey\">\r\n 奖品必须设置为8个,列表中拖拽可调整奖品在九宫中的位置\r\n <el-tooltip effect=\"light\" placement=\"bottom\" width=\"380\">\r\n <a>查看位置示例图</a>\r\n <div class=\"api\" slot=\"content\">\r\n <img src=\"../../../assets/images/lotteryTest.png\" alt=\"\" />\r\n </div>\r\n </el-tooltip>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <div>\r\n <el-form-item\r\n v-if=\"formValidate.factor != 3 && formValidate.factor != 4\"\r\n :prop=\"formValidate.factor != 3 && formValidate.factor != 4 ? 'image' : ''\"\r\n >\r\n <div class=\"custom-label\" slot=\"label\">\r\n <div>\r\n <div>活动背景图</div>\r\n <div>(750*750)</div>\r\n </div>\r\n <div>:</div>\r\n </div>\r\n <div class=\"acea-row\">\r\n <div class=\"pictrue\" v-if=\"formValidate.image\">\r\n <img v-lazy=\"formValidate.image\" />\r\n <i class=\"el-icon-circle-close btndel\" v-db-click @click=\"handleRemove()\"></i>\r\n </div>\r\n <div\r\n v-else\r\n class=\"upLoad acea-row row-center-wrapper\"\r\n v-db-click\r\n @click=\"modalPicTap('dan', 'danFrom')\"\r\n >\r\n <i class=\"el-icon-picture-outline\" style=\"font-size: 24px\"></i>\r\n </div>\r\n </div>\r\n </el-form-item>\r\n <el-form-item\r\n v-if=\"formValidate.factor != 3 && formValidate.factor != 4\"\r\n label=\"中奖名单:\"\r\n :prop=\"formValidate.factor != 3 && formValidate.factor != 4 ? 'is_all_record' : ''\"\r\n label-for=\"is_all_record\"\r\n >\r\n <el-switch\r\n class=\"defineSwitch\"\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n v-model=\"formValidate.is_all_record\"\r\n size=\"large\"\r\n active-text=\"开启\"\r\n inactive-text=\"关闭\"\r\n >\r\n </el-switch>\r\n </el-form-item>\r\n <el-form-item\r\n v-if=\"formValidate.factor != 3 && formValidate.factor != 4\"\r\n label=\"个人中奖记录:\"\r\n :prop=\"formValidate.factor != 3 && formValidate.factor != 4 ? 'is_personal_record' : ''\"\r\n label-for=\"is_personal_record\"\r\n >\r\n <el-switch\r\n class=\"defineSwitch\"\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n v-model=\"formValidate.is_personal_record\"\r\n size=\"large\"\r\n active-text=\"开启\"\r\n inactive-text=\"关闭\"\r\n >\r\n </el-switch>\r\n </el-form-item>\r\n <el-form-item\r\n v-if=\"formValidate.factor != 3 && formValidate.factor != 4\"\r\n label=\"活动规则:\"\r\n prop=\"is_content\"\r\n label-for=\"is_content\"\r\n >\r\n <el-switch\r\n class=\"defineSwitch\"\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n v-model=\"formValidate.is_content\"\r\n size=\"large\"\r\n active-text=\"开启\"\r\n inactive-text=\"关闭\"\r\n >\r\n </el-switch>\r\n </el-form-item>\r\n <el-form-item\r\n label=\"\"\r\n :prop=\"\r\n formValidate.factor != 3 && formValidate.factor != 4 && formValidate.is_content == 1 ? 'content' : ''\r\n \"\r\n v-show=\"formValidate.factor != 3 && formValidate.factor != 4 && formValidate.is_content == 1\"\r\n >\r\n <WangEditor\r\n style=\"width: 90%\"\r\n :content=\"formValidate.content\"\r\n @editorContent=\"getEditorContent\"\r\n ></WangEditor>\r\n </el-form-item>\r\n <el-form-item label=\"活动状态:\" prop=\"status\" label-for=\"status\">\r\n <el-switch\r\n class=\"defineSwitch\"\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n v-model=\"formValidate.status\"\r\n size=\"large\"\r\n active-text=\"开启\"\r\n inactive-text=\"关闭\"\r\n >\r\n </el-switch>\r\n </el-form-item>\r\n </div>\r\n <el-form-item>\r\n <el-button type=\"primary\" :loading=\"submitOpen\" v-db-click @click=\"next('formValidate')\">提交</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </el-col>\r\n </el-row>\r\n </el-card>\r\n\r\n <!-- 上传图片-->\r\n <el-dialog :visible.sync=\"modalPic\" width=\"950px\" title=\"上传商品图\" :close-on-click-modal=\"false\">\r\n <uploadPictures :isChoice=\"isChoice\" @getPic=\"getPic\" v-if=\"modalPic\"></uploadPictures>\r\n </el-dialog>\r\n <!-- 上传图片-->\r\n <el-dialog :visible.sync=\"addGoodsModel\" width=\"720px\" :title=\"title\" :close-on-click-modal=\"false\">\r\n <addGoods ref=\"addGoodsForm\" v-if=\"addGoodsModel\" @addGoodsData=\"addGoodsData\" :editData=\"editData\"></addGoods>\r\n <div class=\"acea-row row-right mt20\">\r\n <el-button v-db-click @click=\"addGoodsModel = false\">取消</el-button>\r\n <el-button type=\"primary\" v-db-click @click=\"submitAddGoods\">提交</el-button>\r\n </div>\r\n </el-dialog>\r\n <!-- 用户标签 -->\r\n <el-dialog\r\n :visible.sync=\"selectLabelShow\"\r\n scrollable\r\n title=\"请选择用户标签\"\r\n :closable=\"false\"\r\n width=\"540px\"\r\n :footer-hide=\"true\"\r\n :mask-closable=\"false\"\r\n >\r\n <userLabel\r\n v-if=\"selectLabelShow\"\r\n :uid=\"0\"\r\n ref=\"userLabel\"\r\n :only_get=\"true\"\r\n :selectDataLabel=\"selectDataLabel\"\r\n @activeData=\"activeSelectData\"\r\n @close=\"labelClose\"\r\n ></userLabel>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport goodsList from '@/components/goodsList/index';\r\nimport uploadPictures from '@/components/uploadPictures';\r\nimport userLabel from '@/components/userLabel';\r\nimport addGoods from './addGoods';\r\nimport { lotteryNewDetailApi, lotteryDetailApi, lotteryCreateApi, lotteryEditApi } from '@/api/lottery'; //详情 创建 编辑\r\nimport { lotteryFrom } from './formRule/lotteryFrom';\r\nimport { labelListApi } from '@/api/product';\r\nimport { levelListApi } from '@/api/user';\r\nimport WangEditor from '@/components/wangEditor/index.vue';\r\n\r\nimport { formatDate } from '@/utils/validate';\r\nimport { formatRichText } from '@/utils/editorImg';\r\nimport Sortable from 'sortablejs';\r\n\r\nexport default {\r\n name: 'lotteryCreate',\r\n components: {\r\n goodsList,\r\n uploadPictures,\r\n addGoods,\r\n WangEditor,\r\n userLabel,\r\n },\r\n data() {\r\n return {\r\n selectDataLabel: [],\r\n selectLabelShow: false,\r\n content: '',\r\n tabs: [\r\n {\r\n name: '积分抽取',\r\n type: '1',\r\n },\r\n {\r\n name: '订单支付',\r\n type: '3',\r\n },\r\n {\r\n name: '订单评价',\r\n type: '4',\r\n },\r\n ],\r\n title: '添加商品',\r\n loading: false,\r\n userLabelList: [], //用户标签列表\r\n userLevelListApi: [], //用户等级列表\r\n submitOpen: false,\r\n spinShow: false,\r\n addGoodsModel: false,\r\n editData: {},\r\n myConfig: {\r\n autoHeightEnabled: false, // 编辑器不自动被内容撑高\r\n initialFrameHeight: 500, // 初始容器高度\r\n initialFrameWidth: '100%', // 初始容器宽度\r\n UEDITOR_HOME_URL: '/UEditor/',\r\n serverUrl: '',\r\n },\r\n isChoice: '单选',\r\n current: 0,\r\n modalPic: false,\r\n modal_loading: false,\r\n images: [],\r\n templateList: [\r\n { id: -1, name: '不限制会员类型' },\r\n { id: 0, name: '非付费会员' },\r\n { id: 1, name: '付费会员' },\r\n ],\r\n specsData: [\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n ],\r\n formValidate: {\r\n images: [],\r\n name: '', //活动名称\r\n desc: '', //活动描述\r\n image: '', //活动背景图\r\n factor: '1', //抽奖类型:1:积分 2:余额 3:下单支付成功 4:订单评价',5:关注\r\n factor_num: 1, //获取一次抽奖的条件数量\r\n attends_user: 1, //参与用户1:所有 2:部分\r\n user_level: [], //参与用户等级\r\n user_label: [], //参与用户标签\r\n is_svip: '', //参与用户是否付费会员\r\n prize_num: 0, //奖品数量\r\n period: [], //活动时间\r\n prize: [], //奖品数组\r\n lottery_num_term: 1, //抽奖次数限制:1:每天2:每人\r\n lottery_num: 1, //抽奖次数\r\n spread_num: 1, //关注推广获取抽奖次数\r\n is_all_record: 0, //中奖纪录展示\r\n is_personal_record: 0, //个人中奖纪录展示\r\n is_content: 0, //活动规格是否展示\r\n content: '', //富文本内容\r\n status: 0, //状态\r\n },\r\n ruleValidate: lotteryFrom,\r\n currentid: '',\r\n picTit: '',\r\n tableIndex: 0,\r\n copy: 0,\r\n editIndex: null,\r\n id: '',\r\n copy: 0,\r\n lottery_id: 0,\r\n };\r\n },\r\n filters: {\r\n typeName(type) {\r\n if (type == 1) {\r\n return '未中奖';\r\n } else if (type == 2) {\r\n return '积分';\r\n } else if (type == 3) {\r\n return '余额';\r\n } else if (type == 4) {\r\n return '红包';\r\n } else if (type == 5) {\r\n return '优惠券';\r\n } else if (type == 6) {\r\n return '商品';\r\n }\r\n },\r\n },\r\n computed: {\r\n ...mapState('admin/layout', ['isMobile']),\r\n labelWidth() {\r\n return this.isMobile ? undefined : '120px';\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'right';\r\n },\r\n },\r\n mounted() {\r\n this.labelListApi();\r\n this.levelListApi();\r\n if (this.$route.query.type) {\r\n this.formValidate.factor = this.$route.query.type;\r\n }\r\n if (this.$route.query.lottery_id) {\r\n this.lottery_id = this.$route.query.lottery_id;\r\n this.getInfo();\r\n }\r\n this.$nextTick((e) => {\r\n this.setSort();\r\n });\r\n },\r\n methods: {\r\n submitAddGoods() {\r\n this.$refs.addGoodsForm.handleSubmit('formValidate');\r\n },\r\n changeUsers(e) {\r\n if (e == 1) {\r\n this.formValidate.user_level = []; //参与用户等级\r\n this.formValidate.user_label = []; //参与用户标签\r\n this.formValidate.is_svip = '-1'; //参与用户是否付费会员\r\n this.selectDataLabel = []; //参与用户是否付费会员\r\n }\r\n },\r\n // 标签弹窗关闭\r\n labelClose() {\r\n this.selectLabelShow = false;\r\n },\r\n activeSelectData(data) {\r\n this.selectLabelShow = false;\r\n this.selectDataLabel = data;\r\n },\r\n onClickTab(e) {\r\n if (this.lottery_id) this.getInfo();\r\n },\r\n getEditorContent(data) {\r\n this.content = data;\r\n },\r\n //用户标签列表\r\n labelListApi() {\r\n labelListApi().then((res) => {\r\n this.userLabelList = res.data.list;\r\n });\r\n },\r\n //用户等级列表\r\n levelListApi() {\r\n levelListApi().then((res) => {\r\n this.userLevelListApi = res.data.list;\r\n });\r\n },\r\n // 具体日期\r\n onchangeTime(e) {\r\n this.$set(this.formValidate, 'period', e);\r\n },\r\n // 详情\r\n getInfo(e) {\r\n this.spinShow = true;\r\n lotteryDetailApi(this.lottery_id)\r\n .then((res) => {\r\n if (res.status == 200 && !Array.isArray(res.data)) {\r\n this.formValidate = res.data;\r\n this.formValidate.user_level = res.data.user_level || [];\r\n this.selectDataLabel = res.data.user_label || [];\r\n this.formValidate.is_svip = res.data.is_svip;\r\n this.content = res.data.is_content ? res.data.content : '';\r\n this.formValidate.factor = res.data.factor.toString();\r\n this.$set(this.formValidate, 'period', [\r\n this.formatDate(res.data.start_time) || '',\r\n this.formatDate(res.data.end_time) || '',\r\n ]);\r\n this.specsData = res.data.prize;\r\n this.getProbability();\r\n } else {\r\n this.formValidate = {\r\n images: [],\r\n name: '', //活动名称\r\n desc: '', //活动描述\r\n image: '', //活动背景图\r\n factor: e.toString(), //抽奖类型:1:积分 2:余额 3:下单支付成功 4:订单评价',5:关注\r\n factor_num: 1, //获取一次抽奖的条件数量\r\n attends_user: 1, //参与用户1:所有 2:部分\r\n user_level: [], //参与用户等级\r\n user_label: [], //参与用户标签\r\n is_svip: '-1', //参与用户是否付费会员\r\n prize_num: 0, //奖品数量\r\n period: [], //活动时间\r\n prize: [], //奖品数组\r\n lottery_num_term: 1, //抽奖次数限制:1:每天2:每人\r\n lottery_num: 1, //抽奖次数\r\n spread_num: 1, //关注推广获取抽奖次数\r\n is_all_record: 0, //中奖纪录展示\r\n is_personal_record: 0, //个人中奖纪录展示\r\n is_content: 0, //活动规格是否展示\r\n content: '', //富文本内容\r\n status: 0, //状态\r\n };\r\n this.specsData = [\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n {\r\n type: 1, //类型 1:未中奖 2:积分 3:余额 4:红包 5:优惠券 6:站内商品\r\n name: '', //活动名称\r\n num: 10, //奖品数量\r\n image: '', //奖品图片\r\n chance: 1, //中奖权重\r\n total: 0, //奖品数量\r\n percent: 0, //中奖概率\r\n min_try_num: 0, //抽奖次数尝试\r\n prompt: '', //提示语\r\n },\r\n ];\r\n }\r\n this.$nextTick((e) => {\r\n this.spinShow = false;\r\n });\r\n })\r\n .catch((err) => {});\r\n },\r\n // 下一步\r\n next(name) {\r\n this.formValidate.prize = this.specsData;\r\n if (this.formValidate.is_content) {\r\n this.formValidate.content = formatRichText(this.content);\r\n }\r\n if (this.formValidate.attends_user == 2) {\r\n if (this.selectDataLabel.length) {\r\n let activeIds = [];\r\n this.selectDataLabel.forEach((item) => {\r\n activeIds.push(item.id);\r\n });\r\n this.formValidate.user_label = activeIds;\r\n }\r\n }\r\n if (this.submitOpen) return false;\r\n this.$refs[name].validate((valid) => {\r\n if (valid) {\r\n this.submitOpen = true;\r\n if (this.formValidate.id && !this.copy) {\r\n lotteryEditApi(this.formValidate.id, this.formValidate)\r\n .then(async (res) => {\r\n this.$message.success(res.msg);\r\n this.submitOpen = false;\r\n setTimeout(() => {\r\n this.$router.push({\r\n path: '/admin/marketing/lottery/list',\r\n });\r\n }, 500);\r\n })\r\n .catch((res) => {\r\n this.submitOpen = false;\r\n this.$message.error(res.msg);\r\n });\r\n } else {\r\n lotteryCreateApi(this.formValidate)\r\n .then(async (res) => {\r\n this.submitOpen = false;\r\n this.$message.success(res.msg);\r\n setTimeout(() => {\r\n this.$router.push({\r\n path: '/admin/marketing/lottery/list',\r\n });\r\n }, 500);\r\n })\r\n .catch((res) => {\r\n this.submitOpen = false;\r\n this.$message.error(res.msg);\r\n });\r\n }\r\n } else {\r\n return false;\r\n }\r\n });\r\n },\r\n // 上一步\r\n step() {\r\n this.current--;\r\n },\r\n // 点击商品图\r\n modalPicTap(tit, picTit, index) {\r\n this.modalPic = true;\r\n this.isChoice = tit === 'dan' ? '单选' : '多选';\r\n this.picTit = picTit || '';\r\n this.tableIndex = index;\r\n },\r\n // 获取单张图片信息\r\n getPic(pc) {\r\n switch (this.picTit) {\r\n case 'danFrom':\r\n this.formValidate.image = pc.att_dir;\r\n break;\r\n default:\r\n this.specsData[this.tableIndex].image = pc.att_dir;\r\n }\r\n this.modalPic = false;\r\n },\r\n handleRemove() {\r\n this.formValidate.image = '';\r\n },\r\n // 表单验证\r\n validate(prop, status, error) {\r\n if (status === false) {\r\n this.$message.error(error);\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n },\r\n //新增商品\r\n addGoods() {\r\n this.addGoodsModel = true;\r\n this.title = '添加商品';\r\n this.editData = {};\r\n },\r\n //编辑商品\r\n editGoods(index) {\r\n this.addGoodsModel = true;\r\n this.title = '添加奖品';\r\n this.editData = this.specsData[index];\r\n this.editIndex = index;\r\n },\r\n //删除商品\r\n deleteGoods(index) {\r\n this.specsData.splice(index, 1);\r\n },\r\n //获取数组中某个字段之和\r\n sumArr(arr, name) {\r\n let arrData = [];\r\n for (let i = 0; i < arr.length; i++) {\r\n arrData.push(arr[i][name]);\r\n }\r\n return eval(arrData.join('+'));\r\n },\r\n addGoodsData(data) {\r\n this.editIndex != null\r\n ? this.$set(this.specsData, [this.editIndex], data)\r\n : this.specsData.length < 8\r\n ? this.specsData.push(data)\r\n : this.$message.warning('最多添加8个奖品');\r\n this.getProbability();\r\n this.addGoodsModel = false;\r\n this.editIndex = null;\r\n },\r\n changeChance(e, index) {\r\n console.log(e, index);\r\n let value = e.target.value;\r\n this.$set(this.specsData[index], 'percent', value);\r\n },\r\n changeTotal(data, index) {\r\n this.$set(this.specsData[index], 'total', data);\r\n },\r\n //获取商品中奖概率\r\n getProbability() {\r\n let sum = 0;\r\n sum = this.sumArr(this.specsData, 'chance');\r\n for (let j = 0; j < this.specsData.length; j++) {\r\n if (sum == 0) {\r\n this.$set(this.specsData[j], 'probability', '0%');\r\n } else {\r\n this.$set(this.specsData[j], 'probability', ((this.specsData[j].chance / sum) * 100).toFixed(2) + '%');\r\n }\r\n }\r\n },\r\n //修改排序\r\n onDragDrop(a, b) {\r\n this.specsData.splice(b, 1, ...this.specsData.splice(a, 1, this.specsData[b]));\r\n },\r\n setSort() {\r\n // ref一定跟table上面的ref一致\r\n const el = this.$refs.selection.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0];\r\n this.sortable = Sortable.create(el, {\r\n ghostClass: 'sortable-ghost',\r\n handle: '.handle',\r\n setData: function (dataTransfer) {\r\n dataTransfer.setData('Text', '');\r\n },\r\n // 监听拖拽事件结束时触发\r\n onEnd: (evt) => {\r\n this.elChangeExForArray(evt.oldIndex, evt.newIndex, this.specsData);\r\n },\r\n });\r\n },\r\n elChangeExForArray(index1, index2, array, init) {\r\n const arr = array;\r\n const temp = array[index1];\r\n const tempt = array[index2];\r\n if (init) {\r\n arr[index2] = tempt;\r\n arr[index1] = temp;\r\n } else {\r\n arr[index1] = tempt;\r\n arr[index2] = temp;\r\n }\r\n this.specsData = [];\r\n this.$nextTick((e) => {\r\n this.specsData = arr;\r\n });\r\n },\r\n //时间格式转换\r\n formatDate(time) {\r\n if (time) {\r\n let date = new Date(time * 1000);\r\n return formatDate(date, 'yyyy-MM-dd hh:mm');\r\n } else {\r\n return '';\r\n }\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.content_width {\r\n width: 460px;\r\n}\r\n::v-deep .el-tabs__item {\r\n height: 54px !important;\r\n line-height: 54px !important;\r\n}\r\n.custom-label {\r\n display: inline-flex;\r\n line-height: 1.5;\r\n}\r\n.grey {\r\n color: #999;\r\n}\r\n.maxW ::v-deep .ivu-select-dropdown {\r\n max-width: 600px;\r\n}\r\n.ivu-table-wrapper {\r\n border-left: 1px solid #dcdee2;\r\n border-top: 1px solid #dcdee2;\r\n}\r\n.tabBox_img {\r\n width: 50px;\r\n height: 50px;\r\n}\r\n.tabBox_img img {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.priceBox {\r\n width: 100%;\r\n}\r\n.form {\r\n .picBox {\r\n display: inline-block;\r\n cursor: pointer;\r\n }\r\n .pictrue {\r\n width: 58px;\r\n height: 58px;\r\n border: 1px dotted rgba(0, 0, 0, 0.1);\r\n margin-right: 0px;\r\n display: inline-block;\r\n position: relative;\r\n cursor: pointer;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n .btndel {\r\n position: absolute;\r\n z-index: 9;\r\n font-size: 20px;\r\n left: 46px;\r\n top: -4px;\r\n }\r\n }\r\n .upLoad {\r\n width: 58px;\r\n height: 58px;\r\n line-height: 58px;\r\n border: 1px dotted rgba(0, 0, 0, 0.1);\r\n border-radius: 4px;\r\n background: rgba(0, 0, 0, 0.02);\r\n cursor: pointer;\r\n }\r\n}\r\n.labelInput {\r\n border: 1px solid #dcdee2;\r\n padding: 0 15px;\r\n width: 460px;\r\n border-radius: 5px;\r\n min-height: 30px;\r\n cursor: pointer;\r\n .span {\r\n font-size: 12px;\r\n color: #c5c8ce;\r\n }\r\n .ivu-icon-ios-arrow-down {\r\n font-size: 14px;\r\n color: #808695;\r\n }\r\n}\r\n</style>\r\n"]}]}