d0cf97fc620c84a55b55dd6c4422bf1e.json 51 KB

1
  1. {"remainingRequest":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js??ref--0-2!E:\\item\\newItem\\admin\\src\\pages\\setting\\storeService\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\newItem\\admin\\src\\pages\\setting\\storeService\\index.vue","mtime":1677828270236},{"path":"E:\\item\\newItem\\admin\\babel.config.js","mtime":1677828270071},{"path":"E:\\item\\newItem\\admin\\.babelrc","mtime":1677828270070},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js","mtime":1570440814000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkU6L2l0ZW0vbmV3SXRlbS9hZG1pbi9ub2RlX21vZHVsZXMvQHZ1ZS9iYWJlbC1wcmVzZXQtYXBwL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRTovaXRlbS9uZXdJdGVtL2FkbWluL25vZGVfbW9kdWxlcy9AdnVlL2JhYmVsLXByZXNldC1hcHAvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsKaW1wb3J0IHsgc2V0Q29va2llcyB9IGZyb20gJ0AvbGlicy91dGlsJzsKaW1wb3J0IHsga2VmdUxpc3RBcGksIGtlZnVjcmVhdGVBcGksIGtlZnVhZGRBcGksIGtlZnVBZGRBcGksIGtlZnVzZXRTdGF0dXNBcGksIGtlZnVFZGl0QXBpLCBrZWZ1UmVjb3JkQXBpLCBrZWZ1Q2hhdGxpc3RBcGksIGtlZnVMb2dpbiB9IGZyb20gJ0AvYXBpL3NldHRpbmcnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ2luZGV4JywKICBmaWx0ZXJzOiB7CiAgICB0eXBlRmlsdGVyOiBmdW5jdGlvbiB0eXBlRmlsdGVyKHN0YXR1cykgewogICAgICB2YXIgc3RhdHVzTWFwID0gewogICAgICAgIHdlY2hhdDogJ+W+ruS/oeeUqOaItycsCiAgICAgICAgcm91dGluZTogJ+Wwj+eoi+W6j+eUqOaItycKICAgICAgfTsKICAgICAgcmV0dXJuIHN0YXR1c01hcFtzdGF0dXNdOwogICAgfQogIH0sCiAgY29tcHV0ZWQ6IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBtYXBTdGF0ZSgnbWVkaWEnLCBbJ2lzTW9iaWxlJ10pKSwgbWFwU3RhdGUoJ3VzZXJMZXZlbCcsIFsnY2F0ZWdvcnlJZCddKSksIHt9LCB7CiAgICBsYWJlbFdpZHRoOiBmdW5jdGlvbiBsYWJlbFdpZHRoKCkgewogICAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/IHVuZGVmaW5lZCA6IDgwOwogICAgfSwKICAgIGxhYmVsUG9zaXRpb246IGZ1bmN0aW9uIGxhYmVsUG9zaXRpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlID8gJ3RvcCcgOiAnbGVmdCc7CiAgICB9CiAgfSksCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGlzQ2hhdDogdHJ1ZSwKICAgICAgZm9ybVZhbGlkYXRlMzogewogICAgICAgIHBhZ2U6IDEsCiAgICAgICAgbGltaXQ6IDE1CiAgICAgIH0sCiAgICAgIHRvdGFsMzogMCwKICAgICAgbG9hZGluZzM6IGZhbHNlLAogICAgICBtb2RhbHMzOiBmYWxzZSwKICAgICAgdGFibGVMaXN0MzogW10sCiAgICAgIGNvbHVtbnMzOiBbewogICAgICAgIHRpdGxlOiAn55So5oi35ZCN56ewJywKICAgICAgICBrZXk6ICduaWNrbmFtZScsCiAgICAgICAgd2lkdGg6IDIwMAogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICflrqLmnI3lpLTlg48nLAogICAgICAgIHNsb3Q6ICdoZWFkaW1ndXJsJwogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICfmk43kvZwnLAogICAgICAgIHNsb3Q6ICdhY3Rpb24nCiAgICAgIH1dLAogICAgICBmb3JtVmFsaWRhdGU1OiB7CiAgICAgICAgcGFnZTogMSwKICAgICAgICBsaW1pdDogMTUsCiAgICAgICAgdWlkOiAwLAogICAgICAgIHRvX3VpZDogMCwKICAgICAgICBpZDogMAogICAgICB9LAogICAgICB0b3RhbDU6IDAsCiAgICAgIGxvYWRpbmc1OiBmYWxzZSwKICAgICAgdGFibGVMaXN0NTogW10sCiAgICAgIGNvbHVtbnM1OiBbewogICAgICAgIHRpdGxlOiAn55So5oi35ZCN56ewJywKICAgICAgICBrZXk6ICduaWNrbmFtZScsCiAgICAgICAgd2lkdGg6IDIwMAogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICfnlKjmiLflpLTlg48nLAogICAgICAgIHNsb3Q6ICdhdmF0YXInCiAgICAgIH0sIHsKICAgICAgICB0aXRsZTogJ+WPkemAgea2iOaBrycsCiAgICAgICAga2V5OiAnbXNuJywKICAgICAgICB3aWR0aDogMjUwCiAgICAgIH0sIHsKICAgICAgICB0aXRsZTogJ+WPkemAgeaXtumXtCcsCiAgICAgICAga2V5OiAnYWRkX3RpbWUnCiAgICAgIH1dLAogICAgICBGcm9tRGF0YTogbnVsbCwKICAgICAgZm9ybVZhbGlkYXRlOiB7CiAgICAgICAgcGFnZTogMSwKICAgICAgICBsaW1pdDogMTUsCiAgICAgICAgZGF0YTogJycsCiAgICAgICAgdHlwZTogJycsCiAgICAgICAgbmlja25hbWU6ICcnCiAgICAgIH0sCiAgICAgIHRhYmxlTGlzdDI6IFtdLAogICAgICBtb2RhbHM6IGZhbHNlLAogICAgICB0b3RhbDogMCwKICAgICAgdGFibGVGcm9tOiB7CiAgICAgICAgcGFnZTogMSwKICAgICAgICBsaW1pdDogMTUKICAgICAgfSwKICAgICAgdGltZVZhbDogW10sCiAgICAgIGZyb21MaXN0OiB7CiAgICAgICAgdGl0bGU6ICfpgInmi6nml7bpl7QnLAogICAgICAgIGN1c3RvbTogdHJ1ZSwKICAgICAgICBmcm9tVHh0OiBbewogICAgICAgICAgdGV4dDogJ+WFqOmDqCcsCiAgICAgICAgICB2YWw6ICcnCiAgICAgICAgfSwgewogICAgICAgICAgdGV4dDogJ+S7iuWkqScsCiAgICAgICAgICB2YWw6ICd0b2RheScKICAgICAgICB9LCB7CiAgICAgICAgICB0ZXh0OiAn5pio5aSpJywKICAgICAgICAgIHZhbDogJ3llc3RlcmRheScKICAgICAgICB9LCB7CiAgICAgICAgICB0ZXh0OiAn5pyA6L+RN+WkqScsCiAgICAgICAgICB2YWw6ICdsYXRlbHk3JwogICAgICAgIH0sIHsKICAgICAgICAgIHRleHQ6ICfmnIDov5EzMOWkqScsCiAgICAgICAgICB2YWw6ICdsYXRlbHkzMCcKICAgICAgICB9LCB7CiAgICAgICAgICB0ZXh0OiAn5pys5pyIJywKICAgICAgICAgIHZhbDogJ21vbnRoJwogICAgICAgIH0sIHsKICAgICAgICAgIHRleHQ6ICfmnKzlubQnLAogICAgICAgICAgdmFsOiAneWVhcicKICAgICAgICB9XQogICAgICB9LAogICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgdGFibGVMaXN0OiBbXSwKICAgICAgY29sdW1uczE6IFt7CiAgICAgICAgdGl0bGU6ICdJRCcsCiAgICAgICAga2V5OiAnaWQnLAogICAgICAgIHdpZHRoOiA4MAogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICflvq7kv6HnlKjmiLflkI3np7AnLAogICAgICAgIGtleTogJ25pY2tuYW1lJywKICAgICAgICBtaW5XaWR0aDogMTIwCiAgICAgIH0sIHsKICAgICAgICB0aXRsZTogJ+WuouacjeWktOWDjycsCiAgICAgICAgc2xvdDogJ2F2YXRhcicsCiAgICAgICAgbWluV2lkdGg6IDYwCiAgICAgIH0sIHsKICAgICAgICB0aXRsZTogJ+WuouacjeWQjeensCcsCiAgICAgICAga2V5OiAnd3hfbmFtZScsCiAgICAgICAgbWluV2lkdGg6IDEyMAogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICflrqLmnI3nirbmgIEnLAogICAgICAgIHNsb3Q6ICdzdGF0dXMnLAogICAgICAgIG1pbldpZHRoOiAxMjAKICAgICAgfSwgewogICAgICAgIHRpdGxlOiAn5re75Yqg5pe26Ze0JywKICAgICAgICBrZXk6ICdhZGRfdGltZScsCiAgICAgICAgbWluV2lkdGg6IDEyMAogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICfmk43kvZwnLAogICAgICAgIHNsb3Q6ICdhY3Rpb24nLAogICAgICAgIGZpeGVkOiAncmlnaHQnLAogICAgICAgIG1pbldpZHRoOiAxNTAKICAgICAgfV0sCiAgICAgIGNvbHVtbnM0OiBbewogICAgICAgIHR5cGU6ICdzZWxlY3Rpb24nLAogICAgICAgIHdpZHRoOiA2MCwKICAgICAgICBhbGlnbjogJ2NlbnRlcicKICAgICAgfSwgewogICAgICAgIHRpdGxlOiAnSUQnLAogICAgICAgIGtleTogJ3VpZCcsCiAgICAgICAgd2lkdGg6IDgwCiAgICAgIH0sIHsKICAgICAgICB0aXRsZTogJ+W+ruS/oeeUqOaIt+WQjeensCcsCiAgICAgICAga2V5OiAnbmlja25hbWUnLAogICAgICAgIG1pbldpZHRoOiAxNjAKICAgICAgfSwgewogICAgICAgIHRpdGxlOiAn5a6i5pyN5aS05YOPJywKICAgICAgICBzbG90OiAnaGVhZGltZ3VybCcsCiAgICAgICAgbWluV2lkdGg6IDYwCiAgICAgIH0sIHsKICAgICAgICB0aXRsZTogJ+eUqOaIt+exu+WeiycsCiAgICAgICAgc2xvdDogJ3VzZXJfdHlwZScsCiAgICAgICAgd2lkdGg6IDEwMAogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICfmgKfliKsnLAogICAgICAgIHNsb3Q6ICdzZXgnLAogICAgICAgIG1pbldpZHRoOiA2MAogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICflnLDljLonLAogICAgICAgIHNsb3Q6ICdjb3VudHJ5JywKICAgICAgICBtaW5XaWR0aDogMTIwCiAgICAgIH0sIHsKICAgICAgICB0aXRsZTogJ+aYr+WQpuWFs+azqOWFrOS8l+WPtycsCiAgICAgICAgc2xvdDogJ3N1YnNjcmliZScsCiAgICAgICAgbWluV2lkdGg6IDEyMAogICAgICB9XSwKICAgICAgbG9hZGluZzI6IGZhbHNlLAogICAgICB0b3RhbDI6IDAsCiAgICAgIGFkZEZyb206IHsKICAgICAgICB1aWRzOiBbXQogICAgICB9LAogICAgICBzZWxlY3Rpb25zOiBbXSwKICAgICAgcm93czoge30sCiAgICAgIHJvd1JlY29yZDoge30KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdGhpcy5nZXRMaXN0KCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDov5vlhaXlt6XkvZzlj7AKICAgIGdvQ2hhdDogZnVuY3Rpb24gZ29DaGF0KGl0ZW0pIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgIGtlZnVMb2dpbihpdGVtLmlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICB2YXIgdXJsID0gJyc7CgogICAgICAgIGlmIChyZXMuZGF0YS50b2tlbikgewogICAgICAgICAgdmFyIGV4cGlyZXMgPSBfdGhpcy5nZXRFeHBpcmVzVGltZShyZXMuZGF0YS5leHBfdGltZSk7CgogICAgICAgICAgc2V0Q29va2llcygna2VmdV90b2tlbicsIHJlcy5kYXRhLnRva2VuLCBleHBpcmVzKTsKICAgICAgICAgIHNldENvb2tpZXMoJ2tlZnVfdXVpZCcsIHJlcy5kYXRhLmtlZnVJbmZvLnVpZCwgZXhwaXJlcyk7CiAgICAgICAgICBzZXRDb29raWVzKCdrZWZ1X2V4cGlyZXNfdGltZScsIHJlcy5kYXRhLmV4cF90aW1lLCBleHBpcmVzKTsKICAgICAgICAgIHNldENvb2tpZXMoJ2tlZnVJbmZvJywgcmVzLmRhdGEua2VmdUluZm8sIGV4cGlyZXMpOwoKICAgICAgICAgIGlmIChfdGhpcy4kc3RvcmUuc3RhdGUubWVkaWEuaXNNb2JpbGUpIHsKICAgICAgICAgICAgdXJsID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgJy8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICsgJy9rZWZ1L21vYmlsZV9saXN0JzsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdCArICcva2VmdS9wY19saXN0JzsKICAgICAgICAgIH0KCiAgICAgICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgewogICAgICAgIF90aGlzLiRNZXNzYWdlLmVycm9yKGVycm9yLm1zZyk7CiAgICAgIH0pOwogICAgfSwKICAgIGdldEV4cGlyZXNUaW1lOiBmdW5jdGlvbiBnZXRFeHBpcmVzVGltZShleHBpcmVzVGltZSkgewogICAgICB2YXIgbm93VGltZU51bSA9IE1hdGgucm91bmQobmV3IERhdGUoKSAvIDEwMDApOwogICAgICB2YXIgZXhwaXJlc1RpbWVOdW0gPSBleHBpcmVzVGltZSAtIG5vd1RpbWVOdW07CiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHBhcnNlRmxvYXQocGFyc2VGbG9hdChleHBpcmVzVGltZU51bSAvIDYwKSAvIDYwKSAvIDI0KTsKICAgIH0sCiAgICBjYW5jZWw6IGZ1bmN0aW9uIGNhbmNlbCgpIHsKICAgICAgdGhpcy5mb3JtVmFsaWRhdGUgPSB7CiAgICAgICAgcGFnZTogMSwKICAgICAgICBsaW1pdDogMTAsCiAgICAgICAgZGF0YTogJycsCiAgICAgICAgdHlwZTogJycsCiAgICAgICAgbmlja25hbWU6ICcnCiAgICAgIH07CiAgICB9LAogICAgaGFuZGxlUmVhY2hCb3R0b206IGZ1bmN0aW9uIGhhbmRsZVJlYWNoQm90dG9tKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgewogICAgICAgIF90aGlzMi5mb3JtVmFsaWRhdGUucGFnZSA9IF90aGlzMi5mb3JtVmFsaWRhdGUucGFnZSArIDE7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAvLyB0aGlzLmxvYWRpbmcyID0gdHJ1ZTsKICAgICAgICAgIGtlZnVjcmVhdGVBcGkoX3RoaXMyLmZvcm1WYWxpZGF0ZSkudGhlbiggLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIF9yZWYgPSBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUocmVzKSB7CiAgICAgICAgICAgICAgdmFyIGRhdGEsIGk7CiAgICAgICAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHJlcy5kYXRhOyAvLyB0aGlzLnRhYmxlTGlzdDIgPSBkYXRhLmxpc3Q7CgogICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEubGlzdC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkYXRhLmxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpczIudGFibGVMaXN0Mi5wdXNoKGRhdGEubGlzdFtpXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICBfdGhpczIudG90YWwyID0gZGF0YS5jb3VudDsKICAgICAgICAgICAgICAgICAgICAgIF90aGlzMi5sb2FkaW5nMiA9IGZhbHNlOwoKICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LCBfY2FsbGVlKTsKICAgICAgICAgICAgfSkpOwoKICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChfeCkgewogICAgICAgICAgICAgIHJldHVybiBfcmVmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgIH07CiAgICAgICAgICB9KCkpLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgX3RoaXMyLmxvYWRpbmcyID0gZmFsc2U7CgogICAgICAgICAgICBfdGhpczIuJE1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgICAgICB9KTsKICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICB9LCAyMDAwKTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5p+l55yL5a+56K+dCiAgICBsb29rOiBmdW5jdGlvbiBsb29rKHJvdykgewogICAgICB0aGlzLmlzQ2hhdCA9IGZhbHNlOwogICAgICB0aGlzLnJvd1JlY29yZCA9IHJvdzsKICAgICAgdGhpcy5nZXRDaGF0bGlzdCgpOwogICAgfSwKICAgIC8vIOafpeeci+WvueivneWIl+ihqAogICAgZ2V0Q2hhdGxpc3Q6IGZ1bmN0aW9uIGdldENoYXRsaXN0KCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKCiAgICAgIHRoaXMubG9hZGluZzUgPSB0cnVlOwogICAgICB0aGlzLmZvcm1WYWxpZGF0ZTUudWlkID0gdGhpcy5yb3dzLnVpZDsKICAgICAgdGhpcy5mb3JtVmFsaWRhdGU1LnRvX3VpZCA9IHRoaXMucm93UmVjb3JkLnVpZDsKICAgICAgdGhpcy5mb3JtVmFsaWRhdGU1LmlkID0gdGhpcy5yb3dzLmlkOwogICAgICBrZWZ1Q2hhdGxpc3RBcGkodGhpcy5mb3JtVmFsaWRhdGU1KS50aGVuKCAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBfcmVmMiA9IF9hc3luY1RvR2VuZXJhdG9yKCAvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIocmVzKSB7CiAgICAgICAgICB2YXIgZGF0YTsKICAgICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICAgICAgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAgIGRhdGEgPSByZXMuZGF0YTsKICAgICAgICAgICAgICAgICAgX3RoaXMzLnRhYmxlTGlzdDUgPSBkYXRhLmxpc3Q7CiAgICAgICAgICAgICAgICAgIF90aGlzMy50b3RhbDUgPSBkYXRhLmNvdW50OwogICAgICAgICAgICAgICAgICBfdGhpczMubG9hZGluZzUgPSBmYWxzZTsKCiAgICAgICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWUyKTsKICAgICAgICB9KSk7CgogICAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gyKSB7CiAgICAgICAgICByZXR1cm4gX3JlZjIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICB9KCkpLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczMubG9hZGluZzUgPSBmYWxzZTsKCiAgICAgICAgX3RoaXMzLiRNZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICBwYWdlQ2hhbmdlNTogZnVuY3Rpb24gcGFnZUNoYW5nZTUoaW5kZXgpIHsKICAgICAgdGhpcy5mb3JtVmFsaWRhdGU1LnBhZ2UgPSBpbmRleDsKICAgICAgdGhpcy5nZXRDaGF0bGlzdCgpOwogICAgfSwKICAgIC8vIOS/ruaUueaIkOWKnwogICAgc3VibWl0RmFpbDogZnVuY3Rpb24gc3VibWl0RmFpbCgpIHsKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9LAogICAgLy8g6IGK5aSp6K6w5b2VCiAgICByZWNvcmQ6IGZ1bmN0aW9uIHJlY29yZChyb3cpIHsKICAgICAgdGhpcy5yb3dzID0gcm93OwogICAgICB0aGlzLm1vZGFsczMgPSB0cnVlOwogICAgICB0aGlzLmlzQ2hhdCA9IHRydWU7CiAgICAgIHRoaXMuZ2V0TGlzdFJlY29yZCgpOwogICAgfSwKICAgIC8vIOiBiuWkqeiusOW9leWIl+ihqAogICAgZ2V0TGlzdFJlY29yZDogZnVuY3Rpb24gZ2V0TGlzdFJlY29yZCgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICB0aGlzLmxvYWRpbmczID0gdHJ1ZTsKICAgICAga2VmdVJlY29yZEFwaSh0aGlzLmZvcm1WYWxpZGF0ZTMsIHRoaXMucm93cy5pZCkudGhlbiggLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX3JlZjMgPSBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUzKHJlcykgewogICAgICAgICAgdmFyIGRhdGE7CiAgICAgICAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZTMkKF9jb250ZXh0MykgewogICAgICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICAgIHN3aXRjaCAoX2NvbnRleHQzLnByZXYgPSBfY29udGV4dDMubmV4dCkgewogICAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgICBkYXRhID0gcmVzLmRhdGE7CiAgICAgICAgICAgICAgICAgIF90aGlzNC50YWJsZUxpc3QzID0gZGF0YS5saXN0ID8gZGF0YS5saXN0IDogW107CiAgICAgICAgICAgICAgICAgIF90aGlzNC50b3RhbDMgPSBkYXRhLmNvdW50OwogICAgICAgICAgICAgICAgICBfdGhpczQubG9hZGluZzMgPSBmYWxzZTsKCiAgICAgICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLnN0b3AoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWUzKTsKICAgICAgICB9KSk7CgogICAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gzKSB7CiAgICAgICAgICByZXR1cm4gX3JlZjMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICB9KCkpLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczQubG9hZGluZzMgPSBmYWxzZTsKCiAgICAgICAgX3RoaXM0LiRNZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICBwYWdlQ2hhbmdlMzogZnVuY3Rpb24gcGFnZUNoYW5nZTMoaW5kZXgpIHsKICAgICAgdGhpcy5mb3JtVmFsaWRhdGUzLnBhZ2UgPSBpbmRleDsKICAgICAgdGhpcy5nZXRMaXN0UmVjb3JkKCk7CiAgICB9LAogICAgLy8g57yW6L6RCiAgICBlZGl0OiBmdW5jdGlvbiBlZGl0KHJvdykgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKCiAgICAgIHRoaXMuJG1vZGFsRm9ybShrZWZ1RWRpdEFwaShyb3cuaWQpKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gX3RoaXM1LmdldExpc3QoKTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5re75YqgCiAgICBhZGQ6IGZ1bmN0aW9uIGFkZCgpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CgogICAgICAvLyB0aGlzLm1vZGFscyA9IHRydWU7CiAgICAgIC8vIHRoaXMuZm9ybVZhbGlkYXRlLmRhdGEgPSAnJzsKICAgICAgLy8gdGhpcy5nZXRMaXN0U2VydmljZSgpOwogICAgICB0aGlzLiRtb2RhbEZvcm0oa2VmdWFkZEFwaSgpKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gX3RoaXM2LmdldExpc3QoKTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5YWo6YCJCiAgICBvblNlbGVjdFRhYjogZnVuY3Rpb24gb25TZWxlY3RUYWIoc2VsZWN0aW9uKSB7CiAgICAgIHRoaXMuc2VsZWN0aW9ucyA9IHNlbGVjdGlvbjsKICAgICAgdmFyIGRhdGEgPSBbXTsKICAgICAgdGhpcy5zZWxlY3Rpb25zLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIGRhdGEucHVzaChpdGVtLnVpZCk7CiAgICAgIH0pOwogICAgICB0aGlzLmFkZEZyb20udWlkcyA9IGRhdGE7CiAgICB9LAogICAgLy8g5YW35L2T5pel5pyfCiAgICBvbmNoYW5nZVRpbWU6IGZ1bmN0aW9uIG9uY2hhbmdlVGltZShlKSB7CiAgICAgIHRoaXMudGltZVZhbCA9IGU7CiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmRhdGEgPSB0aGlzLnRpbWVWYWwuam9pbignLScpOwogICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5wYWdlID0gMTsKICAgICAgdGhpcy5nZXRMaXN0U2VydmljZSgpOwogICAgfSwKICAgIC8vIOmAieaLqeaXtumXtAogICAgc2VsZWN0Q2hhbmdlOiBmdW5jdGlvbiBzZWxlY3RDaGFuZ2UodGFiKSB7CiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmRhdGEgPSB0YWI7CiAgICAgIHRoaXMudGltZVZhbCA9IFtdOwogICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5wYWdlID0gMTsKICAgICAgdGhpcy5nZXRMaXN0U2VydmljZSgpOwogICAgfSwKICAgIC8vIOWuouacjeWIl+ihqAogICAgZ2V0TGlzdFNlcnZpY2U6IGZ1bmN0aW9uIGdldExpc3RTZXJ2aWNlKCkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKCiAgICAgIHRoaXMubG9hZGluZzIgPSB0cnVlKHRoaXMuZm9ybVZhbGlkYXRlKS50aGVuKCAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBfcmVmNCA9IF9hc3luY1RvR2VuZXJhdG9yKCAvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTQocmVzKSB7CiAgICAgICAgICB2YXIgZGF0YTsKICAgICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlNCQoX2NvbnRleHQ0KSB7CiAgICAgICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICAgICAgc3dpdGNoIChfY29udGV4dDQucHJldiA9IF9jb250ZXh0NC5uZXh0KSB7CiAgICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAgIGRhdGEgPSByZXMuZGF0YTsKICAgICAgICAgICAgICAgICAgX3RoaXM3LnRhYmxlTGlzdDIgPSBkYXRhLmxpc3Q7CiAgICAgICAgICAgICAgICAgIF90aGlzNy50b3RhbDIgPSBkYXRhLmNvdW50OwoKICAgICAgICAgICAgICAgICAgX3RoaXM3LnRhYmxlTGlzdDIubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICAgICAgaXRlbS5faXNDaGVja2VkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgX3RoaXM3LmxvYWRpbmcyID0gZmFsc2U7CgogICAgICAgICAgICAgICAgY2FzZSA1OgogICAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NC5zdG9wKCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LCBfY2FsbGVlNCk7CiAgICAgICAgfSkpOwoKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKF94NCkgewogICAgICAgICAgcmV0dXJuIF9yZWY0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgfTsKICAgICAgfSgpKS5jYXRjaChmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgdGtlZnVjcmVhdGVBcGloaXMubG9hZGluZzIgPSBmYWxzZTsKCiAgICAgICAgX3RoaXM3LiRNZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICBwYWdlQ2hhbmdlMjogZnVuY3Rpb24gcGFnZUNoYW5nZTIocGFnZUluZGV4KSB7CiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLnBhZ2UgPSBwYWdlSW5kZXg7CiAgICAgIHRoaXMuZ2V0TGlzdFNlcnZpY2UoKTsKICAgICAgdGhpcy5hZGRGcm9tLnVpZHMgPSBbXTsKICAgIH0sCiAgICAvLyDmkJzntKIKICAgIHVzZXJTZWFyY2hzOiBmdW5jdGlvbiB1c2VyU2VhcmNocygpIHsKICAgICAgdGhpcy5mb3JtVmFsaWRhdGUucGFnZSA9IDE7CiAgICAgIHRoaXMuZ2V0TGlzdFNlcnZpY2UoKTsKICAgIH0sCiAgICAvLyDliKDpmaQKICAgIGRlbDogZnVuY3Rpb24gZGVsKHJvdywgdGl0LCBudW0pIHsKICAgICAgdmFyIF90aGlzOCA9IHRoaXM7CgogICAgICB2YXIgZGVsZnJvbURhdGEgPSB7CiAgICAgICAgdGl0bGU6IHRpdCwKICAgICAgICBudW06IG51bSwKICAgICAgICB1cmw6ICJhcHAvd2VjaGF0L2tlZnUvIi5jb25jYXQocm93LmlkKSwKICAgICAgICBtZXRob2Q6ICdERUxFVEUnLAogICAgICAgIGlkczogJycKICAgICAgfTsKICAgICAgdGhpcy4kbW9kYWxTdXJlKGRlbGZyb21EYXRhKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczguJE1lc3NhZ2Uuc3VjY2VzcyhyZXMubXNnKTsKCiAgICAgICAgX3RoaXM4LnRhYmxlTGlzdC5zcGxpY2UobnVtLCAxKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzOC4kTWVzc2FnZS5lcnJvcihyZXMubXNnKTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5YiX6KGoCiAgICBnZXRMaXN0OiBmdW5jdGlvbiBnZXRMaXN0KCkgewogICAgICB2YXIgX3RoaXM5ID0gdGhpczsKCiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgICAgIGtlZnVMaXN0QXBpKHRoaXMudGFibGVGcm9tKS50aGVuKCAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBfcmVmNSA9IF9hc3luY1RvR2VuZXJhdG9yKCAvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTUocmVzKSB7CiAgICAgICAgICB2YXIgZGF0YTsKICAgICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlNSQoX2NvbnRleHQ1KSB7CiAgICAgICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICAgICAgc3dpdGNoIChfY29udGV4dDUucHJldiA9IF9jb250ZXh0NS5uZXh0KSB7CiAgICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAgIGRhdGEgPSByZXMuZGF0YTsKICAgICAgICAgICAgICAgICAgX3RoaXM5LnRhYmxlTGlzdCA9IGRhdGEubGlzdDsKICAgICAgICAgICAgICAgICAgX3RoaXM5LnRvdGFsID0gcmVzLmRhdGEuY291bnQ7CiAgICAgICAgICAgICAgICAgIF90aGlzOS5sb2FkaW5nID0gZmFsc2U7CgogICAgICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NS5zdG9wKCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LCBfY2FsbGVlNSk7CiAgICAgICAgfSkpOwoKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKF94NSkgewogICAgICAgICAgcmV0dXJuIF9yZWY1LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgfTsKICAgICAgfSgpKS5jYXRjaChmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM5LmxvYWRpbmcgPSBmYWxzZTsKCiAgICAgICAgX3RoaXM5LiRNZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICBwYWdlQ2hhbmdlOiBmdW5jdGlvbiBwYWdlQ2hhbmdlKGluZGV4KSB7CiAgICAgIHRoaXMudGFibGVGcm9tLnBhZ2UgPSBpbmRleDsKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9LAogICAgLy8g5L+u5pS55piv5ZCm5pi+56S6CiAgICBvbmNoYW5nZUlzU2hvdzogZnVuY3Rpb24gb25jaGFuZ2VJc1Nob3cocm93KSB7CiAgICAgIHZhciBfdGhpczEwID0gdGhpczsKCiAgICAgIHZhciBkYXRhID0gewogICAgICAgIGlkOiByb3cuaWQsCiAgICAgICAgc3RhdHVzOiByb3cuc3RhdHVzCiAgICAgIH07CiAgICAgIGtlZnVzZXRTdGF0dXNBcGkoZGF0YSkudGhlbiggLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX3JlZjYgPSBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWU2KHJlcykgewogICAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWU2JChfY29udGV4dDYpIHsKICAgICAgICAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgICAgICBzd2l0Y2ggKF9jb250ZXh0Ni5wcmV2ID0gX2NvbnRleHQ2Lm5leHQpIHsKICAgICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgICAgX3RoaXMxMC4kTWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOwoKICAgICAgICAgICAgICAgICAgX3RoaXMxMC5nZXRMaXN0KCk7CgogICAgICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Ni5zdG9wKCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LCBfY2FsbGVlNik7CiAgICAgICAgfSkpOwoKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKF94NikgewogICAgICAgICAgcmV0dXJuIF9yZWY2LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgfTsKICAgICAgfSgpKS5jYXRjaChmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMxMC4kTWVzc2FnZS5lcnJvcihyZXMubXNnKTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5re75Yqg5a6i5pyNCiAgICBwdXRSZW1hcms6IGZ1bmN0aW9uIHB1dFJlbWFyaygpIHsKICAgICAgdmFyIF90aGlzMTEgPSB0aGlzOwoKICAgICAgaWYgKHRoaXMuYWRkRnJvbS51aWRzLmxlbmd0aCA9PT0gMCkgewogICAgICAgIHJldHVybiB0aGlzLiRNZXNzYWdlLndhcm5pbmcoJ+ivt+mAieaLqeimgea3u+WKoOeahOWuouacjScpOwogICAgICB9CgogICAgICBrZWZ1QWRkQXBpKHRoaXMuYWRkRnJvbSkudGhlbiggLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX3JlZjcgPSBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWU3KHJlcykgewogICAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWU3JChfY29udGV4dDcpIHsKICAgICAgICAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgICAgICBzd2l0Y2ggKF9jb250ZXh0Ny5wcmV2ID0gX2NvbnRleHQ3Lm5leHQpIHsKICAgICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgICAgX3RoaXMxMS4kTWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOwoKICAgICAgICAgICAgICAgICAgX3RoaXMxMS5tb2RhbHMgPSBmYWxzZTsKCiAgICAgICAgICAgICAgICAgIF90aGlzMTEuZ2V0TGlzdCgpOwoKICAgICAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDcuc3RvcCgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwgX2NhbGxlZTcpOwogICAgICAgIH0pKTsKCiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChfeDcpIHsKICAgICAgICAgIHJldHVybiBfcmVmNy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICAgIH0oKSkuY2F0Y2goZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzMTEubG9hZGluZyA9IGZhbHNlOwoKICAgICAgICBfdGhpczExLiRNZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICB9KTsKICAgIH0KICB9Cn07"},{"version":3,"mappings":"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","names":["kefuListApi","kefucreateApi","kefuaddApi","kefuAddApi","kefusetStatusApi","kefuEditApi","kefuRecordApi","kefuChatlistApi","kefuLogin","name","filters","typeFilter","status","wechat","routine","computed","mapState","labelWidth","labelPosition","data","isChat","formValidate3","page","limit","total3","loading3","modals3","tableList3","columns3","title","key","width","slot","formValidate5","uid","to_uid","id","total5","loading5","tableList5","columns5","FromData","formValidate","type","nickname","tableList2","modals","total","tableFrom","timeVal","fromList","custom","fromTxt","text","val","loading","tableList","columns1","minWidth","fixed","columns4","align","loading2","total2","addFrom","uids","selections","rows","rowRecord","created","methods","goChat","item","then","setCookies","url","window","catch","getExpiresTime","expiresTime","cancel","handleReachBottom","setTimeout","res","resolve","look","row","getChatlist","pageChange5","index","submitFail","record","getListRecord","pageChange3","edit","add","onSelectTab","selection","onchangeTime","e","selectChange","tab","getListService","tkefucreateApihis","pageChange2","pageIndex","userSearchs","del","tit","num","method","ids","getList","pageChange","onchangeIsShow","putRemark"],"sourceRoot":"src/pages/setting/storeService","sources":["index.vue"],"sourcesContent":["<template>\r\n <div>\r\n <Card :bordered=\"false\" dis-hover class=\"ivu-mt\">\r\n <Row type=\"flex\" class=\"mb20\">\r\n <Col span=\"24\">\r\n <Button v-auth=\"['setting-store_service-add']\" type=\"primary\" icon=\"md-add\" @click=\"add\" class=\"mr10\"\r\n >添加客服</Button\r\n >\r\n </Col>\r\n </Row>\r\n <Table\r\n :columns=\"columns1\"\r\n :data=\"tableList\"\r\n :loading=\"loading\"\r\n highlight-row\r\n no-userFrom-text=\"暂无数据\"\r\n no-filtered-userFrom-text=\"暂无筛选结果\"\r\n >\r\n <template slot-scope=\"{ row, index }\" slot=\"avatar\">\r\n <div class=\"tabBox_img\" v-viewer>\r\n <img v-lazy=\"row.avatar\" />\r\n </div>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"status\">\r\n <i-switch\r\n v-model=\"row.status\"\r\n :value=\"row.status\"\r\n :true-value=\"1\"\r\n :false-value=\"0\"\r\n @on-change=\"onchangeIsShow(row)\"\r\n size=\"large\"\r\n >\r\n <span slot=\"open\">开启</span>\r\n <span slot=\"close\">关闭</span>\r\n </i-switch>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"stop_time\">\r\n <span> {{ row.stop_time | formatDate }}</span>\r\n </template>\r\n\r\n <template slot-scope=\"{ row, index }\" slot=\"action\">\r\n <a @click=\"edit(row)\">编辑</a>\r\n <Divider type=\"vertical\" />\r\n <a @click=\"del(row, '删除客服', index)\">删除</a>\r\n <Divider type=\"vertical\" v-if=\"row.status\" />\r\n <a @click=\"goChat(row)\" v-if=\"row.status\">进入工作台</a>\r\n </template>\r\n </Table>\r\n <div class=\"acea-row row-right page\">\r\n <Page :total=\"total\" show-elevator show-total @on-change=\"pageChange\" :page-size=\"tableFrom.limit\" />\r\n </div>\r\n </Card>\r\n\r\n <!--添加客户-->\r\n <!--<Modal v-model=\"modals\" scrollable closable title=\"添加客服\" width=\"1000\" @on-cancel=\"cancel\">-->\r\n <!--<Form ref=\"formValidate\" :model=\"formValidate\" :label-width=\"labelWidth\" :label-position=\"labelPosition\" @submit.native.prevent>-->\r\n <!--<Row :gutter=\"24\" type=\"flex\">-->\r\n <!--<Col span=\"24\" class=\"ivu-text-left\">-->\r\n <!--<FormItem label=\"选择时间:\">-->\r\n <!--<RadioGroup v-model=\"formValidate.data\" type=\"button\" @on-change=\"selectChange(formValidate.data)\"-->\r\n <!--class=\"mr\">-->\r\n <!--<Radio :label=item.val v-for=\"(item,i) in fromList.fromTxt\" :key=\"i\">{{item.text}}</Radio>-->\r\n <!--</RadioGroup>-->\r\n <!--<DatePicker @on-change=\"onchangeTime\" :value=\"timeVal\" format=\"yyyy/MM/dd\" type=\"daterange\"-->\r\n <!--placement=\"bottom-end\" placeholder=\"请选择时间\" style=\"width: 200px;\"></DatePicker>-->\r\n <!--</FormItem>-->\r\n <!--</Col>-->\r\n <!--<Col span=\"12\" class=\"ivu-text-left\">-->\r\n <!--<FormItem label=\"用户名称:\" >-->\r\n <!--<Input search enter-button placeholder=\"请输入用户名称\" v-model=\"formValidate.nickname\" style=\"width: 90%;\" @on-search=\"userSearchs\"></Input>-->\r\n <!--</FormItem>-->\r\n <!--</Col>-->\r\n <!--<Col span=\"12\" class=\"ivu-text-left\">-->\r\n <!--<FormItem label=\"用户类型:\" >-->\r\n <!--<Select v-model=\"formValidate.type\" style=\"width:90%;\" @on-change=\"userSearchs\">-->\r\n <!--<Option value=\"\">全部用户</Option>-->\r\n <!--<Option value=\"wechat\">公众号</Option>-->\r\n <!--<Option value=\"routine\">小程序</Option>-->\r\n <!--</Select>-->\r\n <!--</FormItem>-->\r\n <!--</Col>-->\r\n <!--</Row>-->\r\n <!--</Form>-->\r\n <!--<Table :loading=\"loading2\" highlight-row no-userFrom-text=\"暂无数据\" max-height=\"400\"-->\r\n <!--@on-selection-change=\"onSelectTab\"-->\r\n <!--no-filtered-userFrom-text=\"暂无筛选结果\" ref=\"selection\" :columns=\"columns4\" :data=\"tableList2\">-->\r\n <!--<template slot-scope=\"{ row, index }\" slot=\"headimgurl\">-->\r\n <!--<viewer>-->\r\n <!--<div class=\"tabBox_img\">-->\r\n <!--<img v-lazy=\"row.headimgurl\">-->\r\n <!--</div>-->\r\n <!--</viewer>-->\r\n <!--</template>-->\r\n <!--<template slot-scope=\"{ row, index }\" slot=\"user_type\">-->\r\n <!--<span>{{ row.user_type | typeFilter }}</span>-->\r\n <!--</template>-->\r\n <!--<template slot-scope=\"{ row, index }\" slot=\"sex\">-->\r\n <!--<span v-show=\"row.sex ===1\">男</span>-->\r\n <!--<span v-show=\"row.sex ===2\">女</span>-->\r\n <!--<span v-show=\"row.sex ===0\">保密</span>-->\r\n <!--</template>-->\r\n <!--<template slot-scope=\"{ row, index }\" slot=\"country\">-->\r\n <!--<span>{{row.country + row.province + row.city}}</span>-->\r\n <!--</template>-->\r\n <!--<template slot-scope=\"{ row, index }\" slot=\"subscribe\">-->\r\n <!--<span v-text=\"row.subscribe === 1?'关注':'未关注'\"></span>-->\r\n <!--</template>-->\r\n <!--</Table>-->\r\n <!--<div class=\"acea-row row-right page\">-->\r\n <!--<Page :total=\"total2\" :current=\"formValidate.page\" show-elevator show-total @on-change=\"pageChange2\"-->\r\n <!--:page-size=\"formValidate.limit\"/>-->\r\n <!--</div>-->\r\n <!--<div slot=\"footer\">-->\r\n <!--<Button type=\"primary\" @click=\"putRemark\">提交</Button>-->\r\n <!--</div>-->\r\n <!--</Modal>-->\r\n\r\n <!--聊天记录-->\r\n <Modal v-model=\"modals3\" footer-hide scrollable closable title=\"聊天记录\" width=\"700\">\r\n <div v-if=\"isChat\" class=\"modelBox\">\r\n <Table\r\n :loading=\"loading3\"\r\n highlight-row\r\n no-userFrom-text=\"暂无数据\"\r\n no-filtered-userFrom-text=\"暂无筛选结果\"\r\n :columns=\"columns3\"\r\n :data=\"tableList3\"\r\n >\r\n <template slot-scope=\"{ row, index }\" slot=\"headimgurl\">\r\n <div class=\"tabBox_img\" v-viewer>\r\n <img v-lazy=\"row.headimgurl\" />\r\n </div>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"action\">\r\n <a @click=\"look(row)\">查看对话</a>\r\n </template>\r\n </Table>\r\n <div class=\"acea-row row-right page\">\r\n <Page :total=\"total3\" show-elevator show-total @on-change=\"pageChange3\" :page-size=\"formValidate3.limit\" />\r\n </div>\r\n </div>\r\n <div v-if=\"!isChat\">\r\n <Button type=\"primary\" @click=\"isChat = true\">返回聊天记录</Button>\r\n <Table\r\n :loading=\"loading5\"\r\n highlight-row\r\n no-userFrom-text=\"暂无数据\"\r\n class=\"mt20\"\r\n no-filtered-userFrom-text=\"暂无筛选结果\"\r\n :columns=\"columns5\"\r\n :data=\"tableList5\"\r\n >\r\n <template slot-scope=\"{ row, index }\" slot=\"avatar\">\r\n <div class=\"tabBox_img\" v-viewer>\r\n <img v-lazy=\"row.avatar\" />\r\n </div>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"action\">\r\n <a @click=\"look(row)\">查看对话</a>\r\n </template>\r\n </Table>\r\n <div class=\"acea-row row-right page\">\r\n <Page :total=\"total5\" show-elevator show-total @on-change=\"pageChange5\" :page-size=\"formValidate5.limit\" />\r\n </div>\r\n </div>\r\n </Modal>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport { setCookies } from '@/libs/util';\r\nimport {\r\n kefuListApi,\r\n kefucreateApi,\r\n kefuaddApi,\r\n kefuAddApi,\r\n kefusetStatusApi,\r\n kefuEditApi,\r\n kefuRecordApi,\r\n kefuChatlistApi,\r\n kefuLogin,\r\n} from '@/api/setting';\r\nexport default {\r\n name: 'index',\r\n filters: {\r\n typeFilter(status) {\r\n const statusMap = {\r\n wechat: '微信用户',\r\n routine: '小程序用户',\r\n };\r\n return statusMap[status];\r\n },\r\n },\r\n computed: {\r\n ...mapState('media', ['isMobile']),\r\n ...mapState('userLevel', ['categoryId']),\r\n labelWidth() {\r\n return this.isMobile ? undefined : 80;\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'left';\r\n },\r\n },\r\n data() {\r\n return {\r\n isChat: true,\r\n formValidate3: {\r\n page: 1,\r\n limit: 15,\r\n },\r\n total3: 0,\r\n loading3: false,\r\n modals3: false,\r\n tableList3: [],\r\n columns3: [\r\n {\r\n title: '用户名称',\r\n key: 'nickname',\r\n width: 200,\r\n },\r\n {\r\n title: '客服头像',\r\n slot: 'headimgurl',\r\n },\r\n {\r\n title: '操作',\r\n slot: 'action',\r\n },\r\n ],\r\n formValidate5: {\r\n page: 1,\r\n limit: 15,\r\n uid: 0,\r\n to_uid: 0,\r\n id: 0,\r\n },\r\n total5: 0,\r\n loading5: false,\r\n tableList5: [],\r\n columns5: [\r\n {\r\n title: '用户名称',\r\n key: 'nickname',\r\n width: 200,\r\n },\r\n {\r\n title: '用户头像',\r\n slot: 'avatar',\r\n },\r\n {\r\n title: '发送消息',\r\n key: 'msn',\r\n width: 250,\r\n },\r\n {\r\n title: '发送时间',\r\n key: 'add_time',\r\n },\r\n ],\r\n FromData: null,\r\n formValidate: {\r\n page: 1,\r\n limit: 15,\r\n data: '',\r\n type: '',\r\n nickname: '',\r\n },\r\n tableList2: [],\r\n modals: false,\r\n total: 0,\r\n tableFrom: {\r\n page: 1,\r\n limit: 15,\r\n },\r\n timeVal: [],\r\n fromList: {\r\n title: '选择时间',\r\n custom: true,\r\n fromTxt: [\r\n { text: '全部', val: '' },\r\n { text: '今天', val: 'today' },\r\n { text: '昨天', val: 'yesterday' },\r\n { text: '最近7天', val: 'lately7' },\r\n { text: '最近30天', val: 'lately30' },\r\n { text: '本月', val: 'month' },\r\n { text: '本年', val: 'year' },\r\n ],\r\n },\r\n loading: false,\r\n tableList: [],\r\n columns1: [\r\n {\r\n title: 'ID',\r\n key: 'id',\r\n width: 80,\r\n },\r\n {\r\n title: '微信用户名称',\r\n key: 'nickname',\r\n minWidth: 120,\r\n },\r\n {\r\n title: '客服头像',\r\n slot: 'avatar',\r\n minWidth: 60,\r\n },\r\n {\r\n title: '客服名称',\r\n key: 'wx_name',\r\n minWidth: 120,\r\n },\r\n {\r\n title: '客服状态',\r\n slot: 'status',\r\n minWidth: 120,\r\n },\r\n {\r\n title: '添加时间',\r\n key: 'add_time',\r\n minWidth: 120,\r\n },\r\n {\r\n title: '操作',\r\n slot: 'action',\r\n fixed: 'right',\r\n minWidth: 150,\r\n },\r\n ],\r\n columns4: [\r\n {\r\n type: 'selection',\r\n width: 60,\r\n align: 'center',\r\n },\r\n {\r\n title: 'ID',\r\n key: 'uid',\r\n width: 80,\r\n },\r\n {\r\n title: '微信用户名称',\r\n key: 'nickname',\r\n minWidth: 160,\r\n },\r\n {\r\n title: '客服头像',\r\n slot: 'headimgurl',\r\n minWidth: 60,\r\n },\r\n {\r\n title: '用户类型',\r\n slot: 'user_type',\r\n width: 100,\r\n },\r\n {\r\n title: '性别',\r\n slot: 'sex',\r\n minWidth: 60,\r\n },\r\n {\r\n title: '地区',\r\n slot: 'country',\r\n minWidth: 120,\r\n },\r\n {\r\n title: '是否关注公众号',\r\n slot: 'subscribe',\r\n minWidth: 120,\r\n },\r\n ],\r\n loading2: false,\r\n total2: 0,\r\n addFrom: {\r\n uids: [],\r\n },\r\n selections: [],\r\n rows: {},\r\n rowRecord: {},\r\n };\r\n },\r\n created() {\r\n this.getList();\r\n },\r\n methods: {\r\n // 进入工作台\r\n goChat(item) {\r\n kefuLogin(item.id)\r\n .then((res) => {\r\n var url = '';\r\n if (res.data.token) {\r\n let expires = this.getExpiresTime(res.data.exp_time);\r\n setCookies('kefu_token', res.data.token, expires);\r\n setCookies('kefu_uuid', res.data.kefuInfo.uid, expires);\r\n setCookies('kefu_expires_time', res.data.exp_time, expires);\r\n setCookies('kefuInfo', res.data.kefuInfo, expires);\r\n if (this.$store.state.media.isMobile) {\r\n url = window.location.protocol + '//' + window.location.host + '/kefu/mobile_list';\r\n } else {\r\n url = window.location.protocol + '//' + window.location.host + '/kefu/pc_list';\r\n }\r\n\r\n window.open(url, '_blank');\r\n }\r\n })\r\n .catch((error) => {\r\n this.$Message.error(error.msg);\r\n });\r\n },\r\n getExpiresTime(expiresTime) {\r\n let nowTimeNum = Math.round(new Date() / 1000);\r\n let expiresTimeNum = expiresTime - nowTimeNum;\r\n return parseFloat(parseFloat(parseFloat(expiresTimeNum / 60) / 60) / 24);\r\n },\r\n cancel() {\r\n this.formValidate = {\r\n page: 1,\r\n limit: 10,\r\n data: '',\r\n type: '',\r\n nickname: '',\r\n };\r\n },\r\n handleReachBottom() {\r\n return new Promise((resolve) => {\r\n this.formValidate.page = this.formValidate.page + 1;\r\n setTimeout(() => {\r\n // this.loading2 = true;\r\n kefucreateApi(this.formValidate)\r\n .then(async (res) => {\r\n let data = res.data;\r\n // this.tableList2 = data.list;\r\n if (data.list.length > 0) {\r\n for (let i = 0; i < data.list.length; i++) {\r\n this.tableList2.push(data.list[i]);\r\n }\r\n }\r\n this.total2 = data.count;\r\n this.loading2 = false;\r\n })\r\n .catch((res) => {\r\n this.loading2 = false;\r\n this.$Message.error(res.msg);\r\n });\r\n resolve();\r\n }, 2000);\r\n });\r\n },\r\n // 查看对话\r\n look(row) {\r\n this.isChat = false;\r\n this.rowRecord = row;\r\n this.getChatlist();\r\n },\r\n // 查看对话列表\r\n getChatlist() {\r\n this.loading5 = true;\r\n this.formValidate5.uid = this.rows.uid;\r\n this.formValidate5.to_uid = this.rowRecord.uid;\r\n this.formValidate5.id = this.rows.id;\r\n kefuChatlistApi(this.formValidate5)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tableList5 = data.list;\r\n this.total5 = data.count;\r\n this.loading5 = false;\r\n })\r\n .catch((res) => {\r\n this.loading5 = false;\r\n this.$Message.error(res.msg);\r\n });\r\n },\r\n pageChange5(index) {\r\n this.formValidate5.page = index;\r\n this.getChatlist();\r\n },\r\n // 修改成功\r\n submitFail() {\r\n this.getList();\r\n },\r\n // 聊天记录\r\n record(row) {\r\n this.rows = row;\r\n this.modals3 = true;\r\n this.isChat = true;\r\n this.getListRecord();\r\n },\r\n // 聊天记录列表\r\n getListRecord() {\r\n this.loading3 = true;\r\n kefuRecordApi(this.formValidate3, this.rows.id)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tableList3 = data.list ? data.list : [];\r\n this.total3 = data.count;\r\n this.loading3 = false;\r\n })\r\n .catch((res) => {\r\n this.loading3 = false;\r\n this.$Message.error(res.msg);\r\n });\r\n },\r\n pageChange3(index) {\r\n this.formValidate3.page = index;\r\n this.getListRecord();\r\n },\r\n // 编辑\r\n edit(row) {\r\n this.$modalForm(kefuEditApi(row.id)).then(() => this.getList());\r\n },\r\n // 添加\r\n add() {\r\n // this.modals = true;\r\n // this.formValidate.data = '';\r\n // this.getListService();\r\n this.$modalForm(kefuaddApi()).then(() => this.getList());\r\n },\r\n // 全选\r\n onSelectTab(selection) {\r\n this.selections = selection;\r\n let data = [];\r\n this.selections.map((item) => {\r\n data.push(item.uid);\r\n });\r\n this.addFrom.uids = data;\r\n },\r\n // 具体日期\r\n onchangeTime(e) {\r\n this.timeVal = e;\r\n this.formValidate.data = this.timeVal.join('-');\r\n this.formValidate.page = 1;\r\n this.getListService();\r\n },\r\n // 选择时间\r\n selectChange(tab) {\r\n this.formValidate.data = tab;\r\n this.timeVal = [];\r\n this.formValidate.page = 1;\r\n this.getListService();\r\n },\r\n // 客服列表\r\n getListService() {\r\n this.loading2 = true(this.formValidate)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tableList2 = data.list;\r\n this.total2 = data.count;\r\n this.tableList2.map((item) => {\r\n item._isChecked = false;\r\n });\r\n this.loading2 = false;\r\n })\r\n .catch((res) => {\r\n tkefucreateApihis.loading2 = false;\r\n this.$Message.error(res.msg);\r\n });\r\n },\r\n pageChange2(pageIndex) {\r\n this.formValidate.page = pageIndex;\r\n this.getListService();\r\n this.addFrom.uids = [];\r\n },\r\n // 搜索\r\n userSearchs() {\r\n this.formValidate.page = 1;\r\n this.getListService();\r\n },\r\n // 删除\r\n del(row, tit, num) {\r\n let delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `app/wechat/kefu/${row.id}`,\r\n method: 'DELETE',\r\n ids: '',\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$Message.success(res.msg);\r\n this.tableList.splice(num, 1);\r\n })\r\n .catch((res) => {\r\n this.$Message.error(res.msg);\r\n });\r\n },\r\n // 列表\r\n getList() {\r\n this.loading = true;\r\n kefuListApi(this.tableFrom)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tableList = data.list;\r\n this.total = res.data.count;\r\n this.loading = false;\r\n })\r\n .catch((res) => {\r\n this.loading = false;\r\n this.$Message.error(res.msg);\r\n });\r\n },\r\n pageChange(index) {\r\n this.tableFrom.page = index;\r\n this.getList();\r\n },\r\n // 修改是否显示\r\n onchangeIsShow(row) {\r\n let data = {\r\n id: row.id,\r\n status: row.status,\r\n };\r\n kefusetStatusApi(data)\r\n .then(async (res) => {\r\n this.$Message.success(res.msg);\r\n this.getList();\r\n })\r\n .catch((res) => {\r\n this.$Message.error(res.msg);\r\n });\r\n },\r\n // 添加客服\r\n putRemark() {\r\n if (this.addFrom.uids.length === 0) {\r\n return this.$Message.warning('请选择要添加的客服');\r\n }\r\n kefuAddApi(this.addFrom)\r\n .then(async (res) => {\r\n this.$Message.success(res.msg);\r\n this.modals = false;\r\n this.getList();\r\n })\r\n .catch((res) => {\r\n this.loading = false;\r\n this.$Message.error(res.msg);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"stylus\">\r\n.tabBox_img\r\n width 36px\r\n height 36px\r\n border-radius:4px;\r\n cursor pointer\r\n img\r\n width 100%\r\n height 100%\r\n.modelBox\r\n >>>\r\n .ivu-table-header\r\n width 100% !important\r\n.trees-coadd\r\n width: 100%;\r\n height: 385px;\r\n .scollhide\r\n width: 100%;\r\n height: 100%;\r\n overflow-x: hidden;\r\n overflow-y: scroll;\r\n// margin-left: 18px;\r\n.scollhide::-webkit-scrollbar {\r\n display: none;\r\n}\r\n</style>\r\n"]}]}