106.js 78 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918
  1. exports.ids = [106];
  2. exports.modules = {
  3. /***/ 113:
  4. /***/ (function(module, exports, __webpack_require__) {
  5. module.exports = __webpack_require__.p + "img/new404.b64d371.png";
  6. /***/ }),
  7. /***/ 114:
  8. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  9. "use strict";
  10. __webpack_require__.r(__webpack_exports__);
  11. /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79);
  12. /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
  13. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  14. /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
  15. /***/ }),
  16. /***/ 123:
  17. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  18. "use strict";
  19. // CONCATENATED MODULE: ./node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/webpack/node_modules/vue-loader/lib??vue-loader-options!./components/error_page/404.vue?vue&type=template&id=fc4c9348&scoped=true&
  20. var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"main-404",class:{ 'main-404-fixed': _vm.isFixedHeader }},[_vm._ssrNode(((_vm.message)?("<div data-v-fc4c9348>"+_vm._ssrEscape(_vm._s(_vm.message))+"</div>"):("<img"+(_vm._ssrAttr("src",__webpack_require__(113)))+" alt=\"404\" class=\"img-404\" data-v-fc4c9348>")))])}
  21. var staticRenderFns = []
  22. // CONCATENATED MODULE: ./components/error_page/404.vue?vue&type=template&id=fc4c9348&scoped=true&
  23. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/webpack/node_modules/vue-loader/lib??vue-loader-options!./components/error_page/404.vue?vue&type=script&lang=js&
  24. //
  25. //
  26. //
  27. //
  28. //
  29. //
  30. //
  31. /* harmony default export */ var _404vue_type_script_lang_js_ = ({
  32. name: 'ErrorPage404',
  33. props: {
  34. message: {
  35. type: String,
  36. default: ''
  37. }
  38. },
  39. computed: {
  40. isFixedHeader() {
  41. let isFixedHeader = false;
  42. const routeName = this.$route.name;
  43. if (routeName.indexOf('SeoConsultUser') > -1) {
  44. isFixedHeader = true;
  45. }
  46. return isFixedHeader;
  47. }
  48. }
  49. });
  50. // CONCATENATED MODULE: ./components/error_page/404.vue?vue&type=script&lang=js&
  51. /* harmony default export */ var error_page_404vue_type_script_lang_js_ = (_404vue_type_script_lang_js_);
  52. // EXTERNAL MODULE: ./node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js
  53. var componentNormalizer = __webpack_require__(1);
  54. // CONCATENATED MODULE: ./components/error_page/404.vue
  55. function injectStyles (context) {
  56. var style0 = __webpack_require__(114)
  57. if (style0.__inject__) style0.__inject__(context)
  58. }
  59. /* normalize component */
  60. var component = Object(componentNormalizer["a" /* default */])(
  61. error_page_404vue_type_script_lang_js_,
  62. render,
  63. staticRenderFns,
  64. false,
  65. injectStyles,
  66. "fc4c9348",
  67. "34c277a4"
  68. )
  69. /* harmony default export */ var _404 = __webpack_exports__["a"] = (component.exports);
  70. /***/ }),
  71. /***/ 190:
  72. /***/ (function(module, exports, __webpack_require__) {
  73. module.exports = __webpack_require__.p + "img/cert-f3@2x.ab8f4d9.png";
  74. /***/ }),
  75. /***/ 191:
  76. /***/ (function(module, exports, __webpack_require__) {
  77. module.exports = __webpack_require__.p + "img/cert-f2@2x.24fca48.png";
  78. /***/ }),
  79. /***/ 226:
  80. /***/ (function(module, exports) {
  81. // Exports
  82. module.exports = {};
  83. /***/ }),
  84. /***/ 227:
  85. /***/ (function(module, exports) {
  86. // Exports
  87. module.exports = {};
  88. /***/ }),
  89. /***/ 439:
  90. /***/ (function(module, exports, __webpack_require__) {
  91. module.exports = __webpack_require__.p + "img/time-icon@2x.40d2d0f.png";
  92. /***/ }),
  93. /***/ 440:
  94. /***/ (function(module, exports) {
  95. module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIqADAAQAAAABAAAAIgAAAAACeqFUAAACV0lEQVRYCe2Wz2sTQRTHu7sJUvwLkj/CP8CDUuNBiiJapDetIT82QTyoFz3lYi9aKHowvxChFfXSHipCDz148SCCoDcPgaAgCiKiHmqSjZ8pMzCEYt7OBqGQhTDvvX0738++NzObmZnpNa3AAamAJ+VstVpHhsNhhfyXpVLpqfQ5aZ4vTYyiaAOQkN+TZrN5Q/qcNE8MwoRDMykwdxqNxlXjT2IUgyB+EcGfRtTzvNV6vR4aP+koXiNKCOFjvu+/AOqwFo4AKrJmHv5XECXWbrdzg8FgC3NWi0eAXQrDcF37ToO4NWb2QqGwQxXO4e/qmI//iGotmhyXMTaIEqEV21ThAgB/tGiAvcZuUoBOV6w1MqpAFc4TewZESt3TYAuAPh/NHecnAlGTc9AtcsY8xgy02C5AZ1XVtC8anFpjz1wsFlVFLhOLdPwQbdukTcftvHF2YhAlwNuvAWOfKWpH3Rsnbt+fCEitVvNpz1F7YuwvI/4/3cQgtMHLZDIPqMiSUSLWwc8bXzKaBSbJ3Tcnm83e54b6Kpurm0ql5lg7H01AMu5tO0nifjksyBXe/op171M6nT6Rz+e7VkxkOrcGiGUgrlkqn2lHDoiOFRObTiD8BagBcdNS+Yp/kt3zwYrFMmMfaEDcQuG2UQHgG5WYK5fL703MZYwFAsR1RO5aQt+DIMjxIXxrxZxMcWuAKI9A/ODsODUJCEUuBiF3WT2gr1+0Y75Sqbw2gaSjGAThd1rsN/ZpFuarpOL28+JzpNfrneGMmO/3+2+q1arTFrWFp/a0Age2An8BWMq7mLjJs3AAAAAASUVORK5CYII="
  96. /***/ }),
  97. /***/ 494:
  98. /***/ (function(module, exports, __webpack_require__) {
  99. module.exports = __webpack_require__.p + "img/address@2x.fcd9117.png";
  100. /***/ }),
  101. /***/ 495:
  102. /***/ (function(module, exports) {
  103. module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAADMElEQVRYCe2WTUhUURTHnS9saKFDSdIXJOnCChdFUZuSioxWbVxIMTSOuggk+ti4aJUZRFArcWbAEHEhBREtggQjaFEZSJBBDLQwFyrowDjN0Mw4/c703uO9mTcXZ5xFkBfunHvvOef/P+/c886bmpqt8b9nwGGXgFwu55iYmKhPJpO2ejsf1ZnX6811dXXFHA5HrtDOQhAOh/dC/hijs8j6QuPN7CGP4T9VW1t7w+/3L+hYRgCjo6ON6XT6C8QNGH/HIKobVUkeBLsF7GXmkZ6enkXBdevgkA9p5AO9vb1D+nk1JRkeWF9fH4RH8AOC7TQRnGa9RGQPTGdVXQaDQSFeIgNndGAjAKLah2KeWVQouvFmpWALh3DpWMYV6AeFcmRkxON0Ou/gdAndosvlut/d3T1TaFfp3siAAuCJ3Bv6kwRxOZPJvAuFQi0K+7JUygCmp6fdpOwa86fb7d4F8k2ml3m1LBaFsTKAaDS6g6fehv/nQCCwzFW81rB2KzDLUilroK6uLhGLxYgh1yioXEVeskyYWbQeMsXZTvO5aT3L23WRTBYVuDIDnZ2da4B8YJ7g3t8AMK6BCpkxCDDL5hcyWWrakQuAMgMagx/5DOBzgGS5hkGe5qWmywu5HhbHzWcbXZcMYHJy0kv6gwC1QTyLlPb8m0D2k42HBPKCxvJ+o0Sl7GwDGBsb2766uvoRp9ZSjtTDLXrE9b6+vmH5iLEX+wazPYHPNTc3H21vb8+Yz81r2wBSqVQ/Rq0APEfe83g8lqKjF7RBGEH3iEw9TSQSa/IhY28pQrL1TUWOvX0N4HhMlMgZUn0YQtlaBsF9RX8qHo8f0jpjh8VggxvbDACeAVwghnhSJVQ2my2OTulhVdoGQNe7TUrfEojxf8HqZuwW+XRLgVY8bAPgtZoHcbhi1DIczY1ohbT7yvCtyFTjWNGdzQF84rCJV+q8rqy21LCbwBWu/DBfwV1OLhDhKxrNOOso66Le/detvF+tluQ/4RU8pWiFKz8sRRaJRDqo6giaPZq+2mKBPzQ00KD+Va2xBCBsNBYXXVCa0IFqsvP0P3w+3xwfOPlwbY1/JwN/ACidV75DV/Y2AAAAAElFTkSuQmCC"
  104. /***/ }),
  105. /***/ 496:
  106. /***/ (function(module, exports) {
  107. module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAACmUlEQVRYCe2WPYgTQRTHk3BJBOESvFNO5UT8KCzsxEpEC+U4Oa0SkFQ5wYBXWlkJgoW1oOQb69iImEPwo1YrBS2E40ASFItLBIsjySb+XswubzebzV0SscnAMO/jP+/9583szPp80/afK+DfTf58Pn/GMIzrnU4n4DXP7/cD6TxPpVJvvXDimxkG0P5Wq3Uf/bK2uckkF/Ml+mk3v7btigArC/eCJ5BrOpBDfoG+x2FzVW0EyuVyuFKpXAAZdkOTfE7sgUBgBjnohhEbPinB3kwmc9UNg/sz27MhPhuBarV6G6eU2bO12+0nnoC/zoPEeuaGo3pb+OblrNgIEHi/TMDxFMCmczIrPwBmHvsXp0/rzD0Bdpuxou09eRX7XKlUkoNs2AgocIESrSt9YiLbsiwEzICen5MJ+pfjlMC0AtMKDLoHhn55xWLxKC/jERPIt92IRCIf4vG4Ydp2Mo5EIJfL7Ws0Gl9JYHsP6vX6PWx3d5LYxLgSYDVXePuDXLstE+gYD6FL8m9c2y/BLyCvMJ7NZrPLDqylcj0f5kmftQwITgLbPecawDUNHCB/v0mjIufZjhUwS5BeGoD14TNdzVgs1v1psBEIBoOPSLzIShIgP7K61+YMxxgFs4ptS9vBf0J/pW1KjjDnBphN+h16l03fL1k6nb7IpDf0xzxIt1QAS+QAnuydgR8EekdgeVzOIWelIhZQCYVC4Viz2dwAsw7E2iZbBRTeUyT5TwC/6Qskv6bA3Z8MpQ8VR7qIqMyvUCi0SPRTZmf7jrOyB0MzOgAjVUBiJJPJOoP0sdpAAuzVrOzbWNHVZDncSrXEPgIkbrOv8mOZ4NDI1zDpZuiAfQSi0ej7Wq1WhIhcLpNuBgt7OOmg03hjVeAP+JAC3WdoI9oAAAAASUVORK5CYII="
  108. /***/ }),
  109. /***/ 497:
  110. /***/ (function(module, exports) {
  111. module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAACRElEQVRYCeWWP0tcQRDA33kGFIx4doKCYGmVIp3XHoJI/AB2gp1gILWNX8BCLPwAAW0UtFIEwXQWViEQGxUEIQQ1mkPQ8/zNuYu75+zeee8JggNzMzv/d2Z33yXJe4ec1oBqtTqAvAh2afqITOzvwfVcLncUsQurSD4OlsE08Bfn4XCWiAbH4zSZHd8TeOlkFLwR4NCN9aXx+AVdiHr7ShnZpC9KfrIuMo7zOrm+pICCs4Nt3UqX4jft+N44/B58p+6VJG0hRUr5Iv5/TIwR6HeKyGsxX6uA3yQbA/+bpBPQJcN7pN1bZbeYJdQpeAYOmbAyojLn4atZPycYpDkDU/g3Ax/dzFmOYIfAsuNG4HU9swLMy9dP9l4Fd0NVedWEjJqVU0QF22d3nrnchWJk1oFQgkbyd1OAjMaCy7/aS2iTWboCI+dgk3PyzwqFZnoI3cCW5wAOwpfBXpJfWblKMW75IdICEu8zeA4KyEcp/gcHg8wKIJabnGUN4kVgkkkBxNGSP5bw2IkO27HMr6EkJ/gW2GOS/IB+MbwQ+Ty76ydV2g4oO5eW94FCLciZGHzK6nAoWh4BvvVtDyWXDunQagH4fQLtaYet7VjbeTi5lIRjSx3Ab02yGnjRzmMPUTsBC3qvatKK86q593sG7Sooh03gAixhu19bxX5ImAevzU6aIRsSD8PtgLGMJdp27xpSpXwolmNF1ulGSfABmfbENrVzbQTfCHgIlkC3tSw9kGJXKPqWIuaMxv7fk4Lm0R14Hm9x8QDrG/XCPuDYWwAAAABJRU5ErkJggg=="
  112. /***/ }),
  113. /***/ 498:
  114. /***/ (function(module, exports) {
  115. module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAJqADAAQAAAABAAAAJgAAAACE8iBbAAABSUlEQVRYCe1Uu0pDQRA9c1WwCtgYMGDhJ6S3iQSb4I+IWik2BtEy1U38BP0IC23s/QsF7cRG0DievbG5Mbtkd23Emeay8zhz5szeBcxMAVPAFDAFTAFTwBT4FwrIr0w51AY+cV5hvaGPY3nJxV3MBYCqoMQVcXoV1jI26NuBiOZgFznFVW2JI34npCZgPRJ1vizLW+VQN7nCWzKYVv4DBTrYl7tUdunEBrqKJdyzccvT/AHvaONQnj3xoDttladakNRlgJRr2qpyXG6CJRVhBSfs1Z2jX/c7d47Uekr8KkvdIsQ1FAt1KM9JMGZkGwdy48mY6Y4jNtI1tnH3qjkTze984hht7MmjP6UeiVvlGBcsjyXlOjY50KjeOnyKIwash+GC0aja6fcniMzXapeTn/F+NcKJP6KvrHU/jJkpYAqYAqaAKfDXFPgCWRI14HYYvzcAAAAASUVORK5CYII="
  116. /***/ }),
  117. /***/ 499:
  118. /***/ (function(module, exports) {
  119. module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAJqADAAQAAAABAAAAJgAAAACE8iBbAAABVUlEQVRYCe2VPW6DQBCFWROlc5GSc0BcuvAtbCkHQHHv0kpj34BIiAK55QTucgFyghQposSFJSyXSCx5I3mjLbKYQS4HCe3M7JsffSzgeXIJASEgBISAEBACQuCWBBSnWBzHYdM0a6XUmJPXtu0Z+pc0Td/75t31FZIOQ71ieUQjTprRBjAmxrm2jq4J7H2Q+rZ9pv3D0bMGA7Elih85DS7ao9b6mZPHGizLsi9Qe0IDzWiiKYdyGTmezxGTtizLjzAM72FOe+ZucOjTnto/GYuYyaqqit7MN+O7VtKQ1rXfFR80WFEUje/7cxQ+dBQ/kIa0HRrn1qDBqFqSJDTUAvd/jSm2uGhg8i/2GbNb4Lx9RlFEL8LMjuMRrnGsdnaMaw8mZhoFQbDBIHvjk00x4w9dWb8kVxP8qh7wjdtiX9V1vcrz/OTSSlwICAEhIASEgBC4DYFfOldbs/VaqIkAAAAASUVORK5CYII="
  120. /***/ }),
  121. /***/ 500:
  122. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  123. "use strict";
  124. __webpack_require__.r(__webpack_exports__);
  125. /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_596803f2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(226);
  126. /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_596803f2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_596803f2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
  127. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_596803f2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_596803f2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  128. /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_596803f2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
  129. /***/ }),
  130. /***/ 501:
  131. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  132. "use strict";
  133. __webpack_require__.r(__webpack_exports__);
  134. /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_1_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(227);
  135. /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_1_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_1_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__);
  136. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_1_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_1_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  137. /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_1_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
  138. /***/ }),
  139. /***/ 73:
  140. /***/ (function(module, exports, __webpack_require__) {
  141. module.exports = __webpack_require__.p + "img/empty@2x.f8d7c57.png";
  142. /***/ }),
  143. /***/ 740:
  144. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  145. "use strict";
  146. // ESM COMPAT FLAG
  147. __webpack_require__.r(__webpack_exports__);
  148. // CONCATENATED MODULE: ./node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/webpack/node_modules/vue-loader/lib??vue-loader-options!./pages/frontend/consult/user/_id.vue?vue&type=template&id=596803f2&scoped=true&
  149. var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isExist)?_c('ErrorPage404'):_c('div',{class:_vm.mobile ? 'mobileMain' : '',style:({marginTop: _vm.mainMarginTop, marginBottom: _vm.mobile ? '0 !important' : '30px !important'})},[(!_vm.mobile)?_c('div',{staticClass:"consult-detail-wrapper"},[_c('div',{staticClass:"userinfo-wrapper"},[_c('div',{staticClass:"userinfo-content"},[_c('div',{staticClass:"avatar-content"},[_c('a',{attrs:{"href":("/wo/" + (_vm.consultDetail.user.uid))}},[_c('div',{staticClass:"avatar",style:({background:("url(" + (_vm.consultDetail.sale_img) + ")"),height:'200px',backgroundSize:'100%'})})])]),_vm._v(" "),_c('div',{staticClass:"userinfo-detail"},[_c('div',{staticClass:"nickname-content"},[_c('div',{staticClass:"nickname"},[_vm._v(_vm._s(_vm.consultDetail.user.nickname))]),_vm._v(" "),_c('div',{staticClass:"user-level"},[(_vm.consultDetail.user.freework_level == 3)?_c('img',{attrs:{"src":__webpack_require__(190)}}):_vm._e(),_vm._v(" "),(_vm.consultDetail.user.freework_level == 2)?_c('img',{attrs:{"src":__webpack_require__(191)}}):_vm._e()]),_vm._v(" "),(_vm.consultDetail.user.city_op_name)?_c('div',{staticClass:"address-content"},[_c('img',{attrs:{"src":__webpack_require__(494),"alt":""}}),_vm._v(" "),_c('span',[_vm._v(_vm._s(_vm.consultDetail.user.city_op_name))])]):_vm._e(),_vm._v(" "),(_vm.uid === _vm.userinfo.uid)?_c('el-button',{staticClass:"description-edit-btn",on:{"click":_vm.handleClickEditDescription}},[_c('i',{staticClass:"el-icon-edit"}),_vm._v("\n 编辑\n ")]):_vm._e()],1),_vm._v(" "),_c('div',{staticClass:"company-content"},[_c('div',{staticClass:"company-text"},[_c('img',{attrs:{"src":__webpack_require__(495)}}),_vm._v(" "),_c('span',[_vm._v(_vm._s(_vm.consultDetail.user.title)+" "+_vm._s(_vm.consultDetail.user.company))])]),_vm._v(" "),_c('div',{staticClass:"experience-text"},[_c('img',{attrs:{"src":__webpack_require__(496)}}),_vm._v(" "),_c('span',[_vm._v("工作年限:"+_vm._s(_vm.consultDetail.user.work_year_name))])]),_vm._v(" "),_c('el-button',{staticClass:"all-buy-btn",class:{'buy-disabled': _vm.isMyself},attrs:{"disabled":_vm.isMyself},on:{"click":_vm.handleClickAllBuyBtn}},[_vm._v("付费咨询")])],1),_vm._v(" "),_c('div',{staticClass:"stats-content"},[_c('div',{staticClass:"rating-text"},[_vm._v("响应度:"),_c('span',[_vm._v(_vm._s(_vm.consultDetail.user.zxRatingText))])]),_vm._v(" "),_c('div',{staticClass:"num-text"},[_vm._v("回复率:"),_c('span',[_vm._v(_vm._s(_vm.consultDetail.user.zxRatingPercent))])])]),_vm._v(" "),_c('div',{staticClass:"self-description-content"},[_c('div',{ref:"descriptionText",staticClass:"description-text"},[_vm._v(_vm._s(_vm.consultDetail.sale_summary))])])])]),_vm._v(" "),_c('div',{staticClass:"status-content"},[_c('el-steps',{staticClass:"status-steps",attrs:{"active":_vm.consultDetail.stepIndex,"align-center":""}},[_c('el-step',{attrs:{"title":"付款","description":""}}),_vm._v(" "),_c('el-step',{attrs:{"title":"等待专家接受","description":""}}),_vm._v(" "),_c('el-step',{attrs:{"title":"开始咨询","description":""}}),_vm._v(" "),_c('el-step',{attrs:{"title":"完成","description":""}})],1)],1)]),_vm._v(" "),_c('div',{staticClass:"fixed-tabs",attrs:{"id":"FixedTabs"}},[_c('div',{staticClass:"fixed-tabs-content"},[_c('div',{staticClass:"tabs-content"},[_c('div',{staticClass:"tabs-item",class:{ 'tabs-item-active': _vm.activeTabIndex == 0 },on:{"click":function($event){return _vm.handleClickTab(0)}}},[_vm._v("话题详情")]),_vm._v(" "),_c('div',{staticClass:"tabs-item",class:{ 'tabs-item-active': _vm.activeTabIndex == 1 },on:{"click":function($event){return _vm.handleClickTab(1)}}},[_vm._v("为什么选择我")]),_vm._v(" "),_c('div',{staticClass:"tabs-item",class:{ 'tabs-item-active': _vm.activeTabIndex == 2 },on:{"click":function($event){return _vm.handleClickTab(2)}}},[_vm._v("常见问题")]),_vm._v(" "),_c('div',{staticClass:"tabs-item",class:{ 'tabs-item-active': _vm.activeTabIndex == 3 },on:{"click":function($event){return _vm.handleClickTab(3)}}},[_vm._v("留言板")]),_vm._v(" "),_c('div',{staticClass:"tabs-item",class:{ 'tabs-item-active': _vm.activeTabIndex == 4 },on:{"click":function($event){return _vm.handleClickTab(4)}}},[_vm._v("技能橱窗")])])])]),_vm._v(" "),_c('div',{staticClass:"consult-list",attrs:{"id":"ConsultList"}},_vm._l((_vm.consultDetail.sale_list),function(item,index){return _c('div',{key:item.sale_id,staticClass:"consult-item"},[_c('div',{staticClass:"consult-item-header"},[_vm._v(_vm._s(item.title))]),_vm._v(" "),_c('div',{staticClass:"consult-item-content"},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(item.expand),expression:"item.expand"}],staticClass:"content-info-expand"},[_c('div',{staticStyle:{"width":"100%","white-space":"pre-wrap"}},[_vm._v(_vm._s(item.content))]),_vm._v(" "),(item.img_array.length && item.img_array[0])?_c('img',{attrs:{"src":item.img_array[0],"alt":""}}):_vm._e()]),_vm._v(" "),_c('div',{directives:[{name:"show",rawName:"v-show",value:(!item.expand),expression:"!item.expand"}],staticClass:"content-info"},[_vm._v(_vm._s(item.content))])]),_vm._v(" "),_c('div',{staticClass:"consult-item-pay"},[_c('div',{staticClass:"expand-wrapper",on:{"click":function($event){return _vm.handleClickExpand(index)}}},[_c('span',{directives:[{name:"show",rawName:"v-show",value:(item.showExpand),expression:"item.showExpand"}]},[_vm._v(_vm._s(item.expand ? '收起' : '展开'))]),_vm._v(" "),_c('img',{directives:[{name:"show",rawName:"v-show",value:(item.showExpand),expression:"item.showExpand"}],staticClass:"expand-icon",attrs:{"src":item.expand ? _vm.ExpandTopIcon : _vm.ExpandDownIcon,"alt":"expand"}})]),_vm._v(" "),_c('div',{staticClass:"price-wrapper"},[_c('div',{staticClass:"price-text"},[_vm._v("¥"+_vm._s(item.price))]),_vm._v(" "),_c('el-button',{staticClass:"pay-btn",class:{'buy-disabled': _vm.isMyself},attrs:{"loading":item.loading,"disabled":_vm.isMyself},on:{"click":function($event){return _vm.handleClickPay(item.sale_id, index)}}},[_vm._v("付费咨询")])],1)])])}),0),_vm._v(" "),_c('div',{staticClass:"why-me-wrapper common-card",attrs:{"id":"WhyMe"}},[(_vm.uid === _vm.userinfo.uid)?_c('el-button',{staticClass:"edit-why-me-btn",on:{"click":_vm.handleClickEditWhyMe}},[_c('i',{staticClass:"el-icon-edit"}),_vm._v("\n 编辑\n ")]):_vm._e(),_vm._v(" "),_c('div',{staticClass:"common-title"},[_vm._v("为什么选择我")]),_vm._v(" "),_c('div',{staticClass:"why-me-content"},[_vm._v(_vm._s(_vm.consultDetail.sale_summary_choose || ''))])],1),_vm._v(" "),_c('div',{staticClass:"question-wrapper common-card",attrs:{"id":"Question"}},[_c('div',{staticClass:"common-title"},[_vm._v("常见问题")]),_vm._v(" "),_c('el-collapse',{staticClass:"question-collapse"},[_c('el-collapse-item',{attrs:{"title":"【付费咨询】能帮我做什么?","name":"1"}},[_c('div',[_vm._v("程序员客栈平台精选了优质行家专家,覆盖了市面上所有常见的职业领域类型。行家专家的资料真实性均经过了平台的审核,以确保具有对应话题下的分享资质。 如果你希望进入到某一陌生领域,需要寻找到一位有经验的前辈; 正面临职场、生活转型,希望有人为您梳理优势、提供资讯;希望结识到行家专家大牛、志同道合者,欢迎使用「付费咨询」。")])]),_vm._v(" "),_c('el-collapse-item',{attrs:{"title":"如何开始使用「付费咨询」?","name":"2"}},[_c('div',[_vm._v("下载「程序员客栈」App,或使用小程序、网页版登陆完成注册流程,并填写个人介绍,让行家能更好地了解您。 当您希望发起一场线下约见: 根据自己的需求找到适合的行家专家,点击“立即约见”按钮发出申请,并在申请中写明自己的问题和个人的相关情况。清晰明确的问题描述和丰富的个人介绍将有助于行家判断自己是否有意愿以及能力帮助你; 专家收到学员的约见申请后,可能会与学员做进一步简单交流,并最终决定是否接受约见申请。")])]),_vm._v(" "),_c('el-collapse-item',{attrs:{"title":"行家值得信赖吗?","name":"3"}},[_c('div',[_vm._v("所有入驻「程序员客栈」的行家专家均拥有多年实践经验,并提供足够的材料证明具有在该领域下进行知识分享的能力资质。目前「程序员客栈」的每位行家专家都经过人工审核,确保身份真实。 同时,入驻「平台」的每位行家都具有有分享的热情,以及良好的沟通能力,他们将热心为您答疑解惑。 如发现行家背景资料涉嫌伪造,或者对服务质量不满,请在约见后留下评价或者联系客服反映情况。")])]),_vm._v(" "),_c('el-collapse-item',{attrs:{"title":"咨询有什么规范?","name":"4"}},[_c('div',[_vm._v("学员在申请约见时清楚写明自己的问题和个人相关背景,提出具体问题; 行家在约见前根据学员的问题提前做好准备; 双方改期需提前24小时通知。")])])],1)],1),_vm._v(" "),_c('div',{staticClass:"comment-wrapper common-card",attrs:{"id":"Comment"}},[_c('div',{staticClass:"comment-title"},[_vm._v(_vm._s(_vm.commentPagination.total)+"评论")]),_vm._v(" "),_c('el-input',{staticClass:"comment-input",attrs:{"type":"textarea","resize":"none","placeholder":"说说你的想法...","autosize":{ minRows: 6, maxRows: 6 }},model:{value:(_vm.commentContent),callback:function ($$v) {_vm.commentContent=$$v},expression:"commentContent"}}),_vm._v(" "),_c('el-button',{staticClass:"comment-btn",attrs:{"loading":_vm.commentIsLoading},on:{"click":_vm.handleClickComment}},[_vm._v("评论")]),_vm._v(" "),(_vm.commentPagination.total)?_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.commentPagination.loading),expression:"commentPagination.loading"}],staticClass:"comment-list-wrapper"},_vm._l((_vm.commentList),function(item,index){return _c('div',{key:("comment-item-" + index + "-" + (item.id)),staticClass:"comment-item"},[_c('div',{staticClass:"top-info"},[_c('div',{staticClass:"userinfo"},[_c('img',{staticClass:"avatar",attrs:{"src":item.user_info.icon_url}}),_vm._v(" "),_c('a',{staticClass:"nickname",attrs:{"href":("/wo/" + (item.user_info.uid))}},[_vm._v(_vm._s(item.user_info.nickname))])]),_vm._v(" "),_c('div',{staticClass:"time"},[_vm._v(_vm._s(item.create_time_name))])]),_vm._v(" "),_c('div',{staticClass:"content"},[_vm._v(_vm._s(item.body_original))])])}),0):_vm._e(),_vm._v(" "),(_vm.commentPagination.total > _vm.commentPagination.size)?_c('div',{staticClass:"comment-pagination-wrapper"},[_c('el-pagination',{attrs:{"background":"","layout":"prev, pager, next","current-page":_vm.commentPagination.page,"total":_vm.commentPagination.total,"page-size":_vm.commentPagination.size},on:{"current-change":_vm.handleCommentPageChange}})],1):_vm._e()],1),_vm._v(" "),_c('div',{staticClass:"skill-list-wrapper common-card",attrs:{"id":"SkillList"}},[_c('div',{staticClass:"common-title"},[_vm._v("技能橱窗")]),_vm._v(" "),(_vm.skillList.length)?_c('div',{staticClass:"skill-list-content"},[_c('div',{staticClass:"skill-scroll-container"},[_c('div',{staticClass:"left-arrow",on:{"click":function($event){return _vm.handleSkillScroll(240)}}}),_vm._v(" "),_c('div',{staticClass:"right-arrow",on:{"click":function($event){return _vm.handleSkillScroll(-240)}}}),_vm._v(" "),_c('div',{ref:"scrollOuter",staticClass:"scroll-outer",on:{"DOMMouseScroll":_vm.stopSkillScroll,"mousewheel":_vm.stopSkillScroll}},[_c('div',{ref:"scrollBody",staticClass:"scroll-body",style:({ left: _vm.skillScrollLeft + 'px' })},_vm._l((_vm.skillList),function(item){return _c('div',{key:item.sale_id,staticClass:"skill-item"},[_c('a',{attrs:{"href":("/s/" + (item.sale_id))}},[_c('img',{staticClass:"cover",attrs:{"src":((item.coverImage) + "?x-oss-process=image/resize,w_800"),"alt":"skillCover,cover"}})]),_vm._v(" "),_c('a',{staticClass:"owner-wrapper",attrs:{"href":("/wo/" + (item.user.uid) + "/skill")}},[_c('img',{staticClass:"avatar",attrs:{"src":item.user.icon_url,"alt":"avatar"}}),_vm._v(" "),_c('div',{staticClass:"nickname"},[_vm._v(_vm._s(item.user.nickname))])]),_vm._v(" "),_c('a',{staticClass:"title",attrs:{"href":("/s/" + (item.sale_id))}},[_vm._v(_vm._s(item.title))]),_vm._v(" "),_c('div',{staticClass:"price-wrapper"},[_c('div',{staticClass:"price-text"},[_vm._v("¥"+_vm._s(item.price))]),_vm._v(" "),(item.buy_num>0)?_c('div',{staticClass:"buy-num"},[_vm._v(_vm._s(item.buy_num)+"人已学习")]):_vm._e()])])}),0)])])]):_c('div',{staticClass:"skill-list-empty result-empty-wrapper"},[_c('img',{attrs:{"src":__webpack_require__(73),"alt":"empty"}}),_vm._v(" "),_c('span',[_vm._v("暂无数据")])])])]):_c('div',{staticClass:"consult-detail-wrapper-mobile"},[_c('div',{staticClass:"userinfo-wrapper"},[_c('div',{staticClass:"user-content"},[_c('img',{staticClass:"avatar",attrs:{"src":_vm.consultDetail.sale_img,"alt":"avatar"}}),_vm._v(" "),_c('div',{staticClass:"user-intro-content"},[_c('div',{staticClass:"nickname-content"},[_c('span',{staticClass:"nickname"},[_vm._v(_vm._s(_vm.consultDetail.user.nickname))]),_vm._v(" "),(_vm.consultDetail.user.freework_level == 3)?_c('img',{staticClass:"user-level",attrs:{"src":__webpack_require__(190)}}):_vm._e(),_vm._v(" "),(_vm.consultDetail.user.freework_level == 2)?_c('img',{staticClass:"user-level",attrs:{"src":__webpack_require__(191)}}):_vm._e()]),_vm._v(" "),_c('div',{ref:"descriptionText",staticClass:"description-text"},[_vm._v(_vm._s(_vm.consultDetail.sale_summary))])])]),_vm._v(" "),_c('div',{staticClass:"stats-content"},[_c('div',{staticClass:"stats-info"},[_c('div',{staticClass:"stats-item"},[_vm._v("响应度:"),_c('span',[_vm._v(_vm._s(_vm.consultDetail.user.zxRatingText))])]),_vm._v(" "),_c('div',{staticClass:"stats-item"},[_vm._v("回复率:"),_c('span',[_vm._v(_vm._s(_vm.consultDetail.user.zxRatingPercent))])])]),_vm._v(" "),_c('div',{staticClass:"other-user-info"},[_vm._v("工作年限:"+_vm._s(_vm.consultDetail.user.work_year_name)+" "+_vm._s(_vm.consultDetail.user.city_op_name))])])]),_vm._v(" "),_c('div',{staticClass:"consult-list-wrapper common-card-mobile"},[_c('div',{staticClass:"common-title-mobile"},[_vm._v("擅长话题")]),_vm._v(" "),_c('div',{staticClass:"consult-list"},_vm._l((_vm.consultDetail.sale_list),function(item,index){return _c('div',{key:item.sale_id,staticClass:"consult-item"},[_c('div',{staticClass:"consult-item-header"},[_vm._v(_vm._s(item.title))]),_vm._v(" "),_c('div',{staticClass:"consult-item-content"},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(item.expand),expression:"item.expand"}],staticClass:"content-info-expand"},[_c('div',{staticStyle:{"width":"100%","white-space":"pre-wrap"}},[_vm._v(_vm._s(item.content))]),_vm._v(" "),(item.img_array.length && item.img_array[0])?_c('img',{attrs:{"src":item.img_array[0],"alt":""}}):_vm._e()]),_vm._v(" "),_c('div',{directives:[{name:"show",rawName:"v-show",value:(!item.expand),expression:"!item.expand"}],staticClass:"content-info"},[_vm._v(_vm._s(item.content))])]),_vm._v(" "),_c('div',{staticClass:"consult-item-pay"},[_c('div',{staticClass:"expand-wrapper",on:{"click":function($event){return _vm.handleClickExpand(index)}}},[_c('span',{directives:[{name:"show",rawName:"v-show",value:(item.showExpand),expression:"item.showExpand"}]},[_vm._v(_vm._s(item.expand ? '收起' : '展开'))]),_vm._v(" "),_c('img',{directives:[{name:"show",rawName:"v-show",value:(item.showExpand),expression:"item.showExpand"}],staticClass:"expand-icon",attrs:{"src":item.expand ? _vm.ExpandTopIcon : _vm.ExpandDownIcon,"alt":"expand"}})]),_vm._v(" "),_c('div',{staticClass:"price-wrapper"},[_c('div',{staticClass:"price-text"},[_vm._v("¥"+_vm._s(item.price))]),_vm._v(" "),_c('el-button',{staticClass:"pay-btn",class:{'buy-disabled': _vm.isMyself},attrs:{"loading":item.loading,"disabled":_vm.isMyself},on:{"click":function($event){return _vm.handleClickPay(item.sale_id, index)}}},[_vm._v("付费咨询")])],1)])])}),0)]),_vm._v(" "),_c('div',{staticClass:"why-me-wrapper common-card-mobile"},[_c('div',{staticClass:"common-title-mobile"},[_vm._v("为什么选择我")]),_vm._v(" "),_c('div',{staticClass:"why-me-content"},[_vm._v(_vm._s(_vm.consultDetail.sale_summary_choose || ''))])]),_vm._v(" "),_c('div',{staticClass:"skill-list-wrapper common-card-mobile"},[_c('div',{staticClass:"common-title-mobile"},[_vm._v("技能商品")]),_vm._v(" "),(_vm.skillList.length)?_c('div',{staticClass:"skill-list"},_vm._l((_vm.skillList),function(item){return _c('div',{key:item.sale_id,staticClass:"skill-item",on:{"click":function($event){return _vm.handleClickSkillItem(item.sale_id)}}},[_c('img',{staticClass:"cover",attrs:{"src":((item.coverImage) + "?x-oss-process=image/resize,w_800"),"alt":"skillCover,cover"}}),_vm._v(" "),_c('div',{staticClass:"owner-wrapper"},[_c('img',{staticClass:"avatar",attrs:{"src":item.user.icon_url,"alt":"avatar"}}),_vm._v(" "),_c('div',{staticClass:"nickname"},[_vm._v(_vm._s(item.user.nickname))])]),_vm._v(" "),_c('div',{staticClass:"title"},[_vm._v(_vm._s(item.title))]),_vm._v(" "),_c('div',{staticClass:"price-wrapper"},[_c('div',{staticClass:"price-text"},[_vm._v("¥"+_vm._s(item.price))]),_vm._v(" "),_c('div',{staticClass:"buy-num"},[_vm._v(_vm._s(item.buy_num)+"人已学习")])])])}),0):_c('div',{staticClass:"skill-empty"},[_c('img',{attrs:{"src":__webpack_require__(73),"alt":"empty"}}),_vm._v(" "),_c('span',[_vm._v("暂无数据")])])]),_vm._v(" "),_c('div',{staticClass:"consult-btn",on:{"click":_vm.handleClickMobileAllBuyBtn}},[_c('img',{attrs:{"src":__webpack_require__(497),"alt":""}}),_vm._v(" "),_c('span',[_vm._v("发起咨询")])])]),_vm._v(" "),_c('el-dialog',{attrs:{"visible":_vm.isShowSelectTimeDialog,"width":"670px"},on:{"update:visible":function($event){_vm.isShowSelectTimeDialog=$event},"close":_vm.handleSelectTimeDialogClose}},[_c('div',{staticClass:"time-dialog-title",attrs:{"slot":"title"},slot:"title"},[_vm._v("选择预约时间")]),_vm._v(" "),_c('div',{staticClass:"time-dialog-content"},[_c('div',{staticClass:"date-wrapper"},[_c('div',{staticClass:"title"},[_vm._v("日期:")]),_vm._v(" "),_c('div',{staticClass:"date-list-wrapper"},_vm._l((_vm.orderTime),function(item,index){return _c('div',{key:index,staticClass:"date-item",class:_vm.currentDateIndex === index ? 'active' : '',on:{"click":function($event){return _vm.handleClickDialogDate(index)}}},[_vm._v("\n "+_vm._s(item.date)+"\n ")])}),0)]),_vm._v(" "),_c('div',{staticClass:"time-wrapper"},[_c('div',{staticClass:"title"},[_vm._v("时间:")]),_vm._v(" "),_c('div',{staticClass:"time-list-wrapper"},_vm._l((_vm.orderTime),function(item,index){return _c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.currentDateIndex === index),expression:"currentDateIndex === index"}],key:("time-" + index),staticClass:"time-list-item"},[(item.time.length === 1 && item.time[0].date === '00:00')?_c('div',{staticClass:"time-empty"},[_vm._v("\n 当前日期无服务\n ")]):_vm._l((item.time),function(timeItem){return _c('div',{key:timeItem.value,staticClass:"time-item",class:_vm.selectedOrderTime === timeItem.value ? 'active' : '',on:{"click":function($event){return _vm.handleClickDialogTime(timeItem.value)}}},[_vm._v("\n "+_vm._s(timeItem.date)+"\n ")])})],2)}),0)]),_vm._v(" "),_c('div',{staticClass:"action-wrapper"},[_c('el-button',{staticClass:"confirm-btn",on:{"click":_vm.handleClickDialogConfirm}},[_vm._v("确认")]),_vm._v(" "),_c('el-button',{staticClass:"cancel-btn",on:{"click":_vm.handleClickDialogCancel}},[_vm._v("取消")])],1)])]),_vm._v(" "),_c('el-dialog',{staticClass:"self-description-modal",attrs:{"visible":_vm.isShowSelfDescriptionDialog,"width":"670px","top":"10vh"},on:{"update:visible":function($event){_vm.isShowSelfDescriptionDialog=$event},"close":_vm.handleSelfDescriptionDialogClose}},[_c('div',{staticClass:"self-description-title",attrs:{"slot":"title"},slot:"title"},[_vm._v("个人介绍")]),_vm._v(" "),_c('div',{staticClass:"self-description-content"},[(_vm.uid === _vm.userinfo.uid)?_c('el-input',{staticClass:"self-description-input",attrs:{"type":"textarea","maxlength":"50","autosize":{ minRows: 10, maxRows: 23 },"show-word-limit":""},model:{value:(_vm.editSelfDescription),callback:function ($$v) {_vm.editSelfDescription=$$v},expression:"editSelfDescription"}}):_c('div',{staticClass:"self-description-text"},[_vm._v(_vm._s(_vm.consultDetail.sale_summary))]),_vm._v(" "),(_vm.uid === _vm.userinfo.uid)?_c('div',{staticClass:"action-wrapper"},[_c('el-button',{staticClass:"confirm-btn",attrs:{"loading":_vm.saveSelfDescriptionIsLoading},on:{"click":_vm.handleSaveSelfDescription}},[_vm._v("保存")]),_vm._v(" "),_c('el-button',{staticClass:"cancel-btn",attrs:{"disabled":_vm.saveSelfDescriptionIsLoading},on:{"click":_vm.handleCancelSelfDescription}},[_vm._v("取消")])],1):_vm._e()],1)]),_vm._v(" "),_c('el-dialog',{staticClass:"why-me-modal",attrs:{"visible":_vm.isShowWhyMeDialog,"width":"670px","top":"10vh"},on:{"update:visible":function($event){_vm.isShowWhyMeDialog=$event},"close":_vm.handleWhyMeDialogClose}},[_c('div',{staticClass:"why-me-title",attrs:{"slot":"title"},slot:"title"},[_vm._v("为什么选择我")]),_vm._v(" "),_c('div',{staticClass:"why-me-content"},[_c('el-input',{staticClass:"why-me-input",attrs:{"type":"textarea","maxlength":"500","autosize":{ minRows: 10, maxRows: 23 },"show-word-limit":""},model:{value:(_vm.editWhyMe),callback:function ($$v) {_vm.editWhyMe=$$v},expression:"editWhyMe"}}),_vm._v(" "),_c('div',{staticClass:"action-wrapper"},[_c('el-button',{staticClass:"confirm-btn",attrs:{"loading":_vm.saveWhyMeIsLoading},on:{"click":_vm.handleSaveWhyMe}},[_vm._v("保存")]),_vm._v(" "),_c('el-button',{staticClass:"cancel-btn",attrs:{"disabled":_vm.saveWhyMeIsLoading},on:{"click":_vm.handleCancelWhyMe}},[_vm._v("取消")])],1)],1)]),_vm._v(" "),_c('el-dialog',{attrs:{"visible":_vm.isShowSelectConsultDialog,"width":"450px"},on:{"update:visible":function($event){_vm.isShowSelectConsultDialog=$event},"close":_vm.handleSelectConsultClose}},[_c('div',{staticClass:"select-consult-title",attrs:{"slot":"title"},slot:"title"},[_vm._v("选择咨询话题")]),_vm._v(" "),_c('div',{staticClass:"select-consult-content"},[_c('div',{staticClass:"select-consult-list"},_vm._l((_vm.consultDetail.sale_list),function(item,index){return _c('div',{key:("select-consult-" + (item.sale_id)),staticClass:"select-consult-item",class:{ 'active': item.sale_id == _vm.selectedConsultItem.sale_id },on:{"click":function($event){return _vm.handleSelectConsultItem(item, index)}}},[_vm._v("\n "+_vm._s(item.title)+"\n ")])}),0),_vm._v(" "),_c('div',{staticClass:"time-wrapper",on:{"click":_vm.handleClickSelectTime}},[_c('div',{staticClass:"time-title"},[_c('img',{attrs:{"src":__webpack_require__(439),"alt":""}}),_vm._v(" "),_c('span',[_vm._v("预约时间")])]),_vm._v(" "),_c('div',{staticClass:"selected-time"},[_c('span',[_vm._v(_vm._s(_vm.selectedOrderTime2 || '选择时间'))]),_vm._v(" "),_c('img',{attrs:{"src":__webpack_require__(440),"alt":""}})])]),_vm._v(" "),_c('div',{staticClass:"action-wrapper"},[_c('el-button',{staticClass:"confirm-btn",on:{"click":_vm.handleSelectConsultConfirm}},[_vm._v(_vm._s(_vm.selectedConsultItem.sale_id ? ("¥" + (_vm.selectedConsultItem.price) + "向TA咨询") : '选择话题'))])],1),_vm._v(" "),_c('div',{staticClass:"tips-text"},[_vm._v("超过48小时未确认将全额退款")])])]),_vm._v(" "),_c('el-drawer',{attrs:{"visible":_vm.isShowMobileSelectTimeDialog,"direction":"btt","size":"380px"},on:{"update:visible":function($event){_vm.isShowMobileSelectTimeDialog=$event}}},[_c('div',{staticClass:"mobile-time-dialog-title",attrs:{"slot":"title"},slot:"title"},[_vm._v("选择预约时间")]),_vm._v(" "),_c('div',{staticClass:"mobile-time-dialog-content"},[_c('div',{staticClass:"date-wrapper"},[_c('div',{staticClass:"title"},[_vm._v("日期")]),_vm._v(" "),_c('div',{staticClass:"date-list-wrapper"},_vm._l((_vm.orderTime),function(item,index){return _c('div',{key:index,staticClass:"date-item",class:_vm.currentDateIndex === index ? 'active' : '',on:{"click":function($event){return _vm.handleClickDialogDate(index)}}},[_vm._v("\n "+_vm._s(item.date)+"\n ")])}),0)]),_vm._v(" "),_c('div',{staticClass:"time-wrapper"},[_c('div',{staticClass:"title"},[_vm._v("时间")]),_vm._v(" "),_c('div',{staticClass:"time-list-wrapper"},_vm._l((_vm.orderTime),function(item,index){return _c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.currentDateIndex === index),expression:"currentDateIndex === index"}],key:("time-" + index),staticClass:"time-list-item"},[(item.time.length === 1 && item.time[0].date === '00:00')?_c('div',{staticClass:"time-empty"},[_vm._v("\n 当前日期无服务\n ")]):_vm._l((item.time),function(timeItem){return _c('div',{key:timeItem.value,staticClass:"time-item",class:_vm.selectedOrderTime === timeItem.value ? 'active' : '',on:{"click":function($event){return _vm.handleClickDialogTime(timeItem.value)}}},[_vm._v("\n "+_vm._s(timeItem.date)+"\n ")])})],2)}),0)]),_vm._v(" "),_c('div',{staticClass:"action-wrapper"},[_c('el-button',{staticClass:"confirm-btn",on:{"click":_vm.handleClickDialogConfirm}},[_vm._v("确认")])],1)])]),_vm._v(" "),_c('el-dialog',{attrs:{"visible":_vm.isShowMobileSelectConsultDialog,"width":"85%","center":""},on:{"update:visible":function($event){_vm.isShowMobileSelectConsultDialog=$event},"close":_vm.handleSelectConsultClose}},[_c('div',{staticClass:"select-consult-title",attrs:{"slot":"title"},slot:"title"},[_vm._v("选择咨询话题")]),_vm._v(" "),_c('div',{staticClass:"select-consult-content"},[_c('div',{staticClass:"select-consult-list"},_vm._l((_vm.consultDetail.sale_list),function(item,index){return _c('div',{key:("select-consult-" + (item.sale_id)),staticClass:"select-consult-item",class:{ 'active': item.sale_id == _vm.selectedConsultItem.sale_id },on:{"click":function($event){return _vm.handleSelectConsultItem(item, index)}}},[_vm._v("\n "+_vm._s(item.title)+"\n ")])}),0),_vm._v(" "),_c('div',{staticClass:"time-wrapper",on:{"click":_vm.handleClickSelectTime}},[_c('div',{staticClass:"time-title"},[_c('img',{attrs:{"src":__webpack_require__(439),"alt":""}}),_vm._v(" "),_c('span',[_vm._v("预约时间")])]),_vm._v(" "),_c('div',{staticClass:"selected-time"},[_c('span',[_vm._v(_vm._s(_vm.selectedOrderTime2 || '选择时间'))]),_vm._v(" "),_c('img',{attrs:{"src":__webpack_require__(440),"alt":""}})])]),_vm._v(" "),_c('div',{staticClass:"action-wrapper"},[_c('el-button',{staticClass:"confirm-btn",on:{"click":_vm.handleSelectConsultConfirm}},[_vm._v(_vm._s(_vm.selectedConsultItem.sale_id ? ("¥" + (_vm.selectedConsultItem.price) + "向TA咨询") : '选择话题'))])],1),_vm._v(" "),_c('div',{staticClass:"tips-text"},[_vm._v("超过48小时未确认将全额退款")])])]),_vm._v(" "),_c('el-dialog',{attrs:{"visible":_vm.isShowPaySuccess,"width":"85%","top":"calc(50vh - 130px)","center":""},on:{"update:visible":function($event){_vm.isShowPaySuccess=$event}}},[_c('div',{staticClass:"pay-success-title",attrs:{"slot":"title"},slot:"title"},[_vm._v("支付成功")]),_vm._v(" "),_c('div',{staticClass:"pay-success-content"},[_c('div',{staticClass:"pay-success-text"},[_vm._v("等待服务方接单,届时请留意手机短信。具体订单信息,请登录电脑端查看。")]),_vm._v(" "),_c('div',{staticClass:"action-wrapper"},[_c('el-button',{staticClass:"confirm-btn",on:{"click":_vm.handleClickPayConfirm}},[_vm._v("确定")])],1)])])],1)}
  150. var staticRenderFns = []
  151. // CONCATENATED MODULE: ./pages/frontend/consult/user/_id.vue?vue&type=template&id=596803f2&scoped=true&
  152. // EXTERNAL MODULE: external "vuex"
  153. var external_vuex_ = __webpack_require__(2);
  154. // CONCATENATED MODULE: ./components/consult/dealSeoDetail.js
  155. class DealSeoData {
  156. constructor({
  157. $axios,
  158. req,
  159. app,
  160. redirect,
  161. error
  162. }) {
  163. this.$axios = $axios;
  164. this.req = req;
  165. this.app = app;
  166. this.redirect = redirect;
  167. this.error = error;
  168. this.consultDetail = {};
  169. this.from = '';
  170. this.isExist = true;
  171. }
  172. async dealData() {
  173. let {
  174. name,
  175. path,
  176. params,
  177. fullPath,
  178. query
  179. } = this.app.context.route;
  180. const uid = params.id || '';
  181. const saleId = query.saleId || '';
  182. const act = query.act || '';
  183. this.from = query.from || ''; // 重定向
  184. if (path.indexOf('/frontend/consult/user') > -1) {
  185. this.redirect(301, '/c/' + uid);
  186. }
  187. const consultDetail = await this._getConsultDetail(uid, saleId);
  188. this.consultDetail = consultDetail;
  189. const skillList = await this._getSkillList(uid);
  190. return {
  191. isExist: this.isExist,
  192. uid,
  193. consultDetail,
  194. skillList,
  195. mobile: this.app.$deviceType.isMobile(),
  196. head: this.dealThisMeta(),
  197. act
  198. };
  199. }
  200. /** 获取咨询服务详情 */
  201. async _getConsultDetail(uid, sale_id = '') {
  202. const data = {
  203. uid
  204. }; // 预览时仅展示一条咨询
  205. if (sale_id) {
  206. data.sale_id = sale_id;
  207. }
  208. let res = await this.$axios.$post('/api/sale/uInfo', data);
  209. let consultDetail = {};
  210. if (Number(res.status) === 1) {
  211. consultDetail = res.data;
  212. consultDetail.sale_list.forEach(item => {
  213. item.expand = false;
  214. item.loading = false;
  215. if (item.content.length > 180 || item.img_array.length && item.img_array[0]) {
  216. item.showExpand = true;
  217. } else {
  218. item.showExpand = false;
  219. } // 产品指定默认展开的咨询服务
  220. const defaultExpandConsult = ['33', '1009'];
  221. if (defaultExpandConsult.indexOf(item.sale_id) > -1 && this.from == 'example') {
  222. item.expand = true;
  223. } // 可预约的时间数组
  224. item.orderTime = [];
  225. if (sale_id) {
  226. // 预览某一条咨询服务时,不显示展开,默认展开状态
  227. item.expand = true;
  228. item.showExpand = false;
  229. }
  230. });
  231. let zxRating = consultDetail.user.zx_rating || '';
  232. let zxRatingText = '';
  233. if (zxRating >= 0.8) {
  234. zxRatingText = '高';
  235. } else if (zxRating >= 0.6) {
  236. zxRatingText = '较高';
  237. } else if (zxRating >= 0.4) {
  238. zxRatingText = '中';
  239. } else if (zxRating >= 0.2) {
  240. zxRatingText = '较低';
  241. } else {
  242. zxRatingText = '低';
  243. }
  244. consultDetail.user.zxRatingText = zxRatingText;
  245. consultDetail.user.zxRatingPercent = `${parseInt(zxRating * 100)}%`; // 所有状态:0未咨询1待接单2进行中3已完成4待结薪5已拒绝6已结薪7退款中8已退款9卖方点击完成
  246. let saleOrderStatus = consultDetail.sale_order_status || 0;
  247. if (saleOrderStatus == 0 || saleOrderStatus == 3 || saleOrderStatus == 4 || saleOrderStatus == 5 || saleOrderStatus == 6 || saleOrderStatus == 7 || saleOrderStatus == 8) {
  248. // 未付款
  249. consultDetail.stepIndex = 1;
  250. } else if (saleOrderStatus == 1) {
  251. // 待接单
  252. consultDetail.stepIndex = 2;
  253. } else if (saleOrderStatus == 2) {
  254. // 咨询中
  255. consultDetail.stepIndex = 3;
  256. } else if (saleOrderStatus == 9) {
  257. // 订单结束
  258. consultDetail.stepIndex = 4;
  259. }
  260. } else if (Number(res.status) === 40001) {
  261. this.isExist = false;
  262. }
  263. return consultDetail;
  264. }
  265. /** 获取技能服务列表 */
  266. async _getSkillList(uid) {
  267. const data = {
  268. type: 1,
  269. page: 1,
  270. page_size: 10,
  271. status: 2,
  272. owner_type: 3,
  273. form_uid: uid
  274. };
  275. let skillList = [];
  276. let res = await this.$axios.$post('/api/sale/saleList', data);
  277. if (Number(res.status) === 1) {
  278. let list = res.data.list || [];
  279. list.forEach(item => {
  280. let imageList = item.image.split(',');
  281. item.coverImage = imageList[0] || '';
  282. imageList.splice(0, 1);
  283. item.imageList = imageList;
  284. });
  285. skillList = list;
  286. }
  287. return skillList;
  288. }
  289. dealThisMeta() {
  290. let title = '';
  291. let descriptionTitle = '';
  292. let description = '';
  293. let canonical = '';
  294. if (!this.isExist) {
  295. // 页面不存在时
  296. return {
  297. title: "页面不存在-程序员客栈",
  298. keyword: "",
  299. description: "",
  300. h1: "",
  301. canonical: "",
  302. metaLocation: ""
  303. };
  304. }
  305. const nickname = this.consultDetail.user.nickname;
  306. this.consultDetail.sale_list.forEach((item, index) => {
  307. if (index === 0) {
  308. title = item.title.trim();
  309. description = item.content.trim();
  310. } // if (index !== this.consultDetail.sale_list.length - 1) {
  311. // description += `${item.title}、`
  312. // } else {
  313. // description += item.title
  314. // }
  315. });
  316. if (description.length > 15) {
  317. description = description.substring(0, 15);
  318. }
  319. if (title.length > 15) {
  320. descriptionTitle = title.substring(0, 15);
  321. } else {
  322. descriptionTitle = title;
  323. }
  324. if (this.req) {
  325. const {
  326. headers: {
  327. host
  328. },
  329. url
  330. } = this.req; //拼接canonical
  331. if (host.indexOf('local') !== -1) {
  332. canonical = 'http://' + host + url;
  333. } else {
  334. canonical = 'https://' + host + url;
  335. }
  336. }
  337. let head = {
  338. title: `${title}-程序员客栈咨询服务`,
  339. keyword: `${this.consultDetail.user.company},${this.consultDetail.user.direction_name},${title}`,
  340. description: `${nickname}可以为您提供:${descriptionTitle},程序员客栈邀请到国内外互联网名企资深工作者,为您提供1对1技术咨询服务。`,
  341. h1: "",
  342. canonical: canonical,
  343. metaLocation: ""
  344. };
  345. return head;
  346. }
  347. }
  348. // EXTERNAL MODULE: external "qs"
  349. var external_qs_ = __webpack_require__(32);
  350. var external_qs_default = /*#__PURE__*/__webpack_require__.n(external_qs_);
  351. // EXTERNAL MODULE: ./assets/img/common/expand-top-icon@2x.png
  352. var expand_top_icon_2x = __webpack_require__(498);
  353. var expand_top_icon_2x_default = /*#__PURE__*/__webpack_require__.n(expand_top_icon_2x);
  354. // EXTERNAL MODULE: ./assets/img/common/expand-down-icon@2x.png
  355. var expand_down_icon_2x = __webpack_require__(499);
  356. var expand_down_icon_2x_default = /*#__PURE__*/__webpack_require__.n(expand_down_icon_2x);
  357. // EXTERNAL MODULE: ./components/error_page/404.vue + 4 modules
  358. var _404 = __webpack_require__(123);
  359. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/webpack/node_modules/vue-loader/lib??vue-loader-options!./pages/frontend/consult/user/_id.vue?vue&type=script&lang=js&
  360. //
  361. //
  362. //
  363. //
  364. //
  365. //
  366. //
  367. //
  368. //
  369. //
  370. //
  371. //
  372. //
  373. //
  374. //
  375. //
  376. //
  377. //
  378. //
  379. //
  380. //
  381. //
  382. //
  383. //
  384. //
  385. //
  386. //
  387. //
  388. //
  389. //
  390. //
  391. //
  392. //
  393. //
  394. //
  395. //
  396. //
  397. //
  398. //
  399. //
  400. //
  401. //
  402. //
  403. //
  404. //
  405. //
  406. //
  407. //
  408. //
  409. //
  410. //
  411. //
  412. //
  413. //
  414. //
  415. //
  416. //
  417. //
  418. //
  419. //
  420. //
  421. //
  422. //
  423. //
  424. //
  425. //
  426. //
  427. //
  428. //
  429. //
  430. //
  431. //
  432. //
  433. //
  434. //
  435. //
  436. //
  437. //
  438. //
  439. //
  440. //
  441. //
  442. //
  443. //
  444. //
  445. //
  446. //
  447. //
  448. //
  449. //
  450. //
  451. //
  452. //
  453. //
  454. //
  455. //
  456. //
  457. //
  458. //
  459. //
  460. //
  461. //
  462. //
  463. //
  464. //
  465. //
  466. //
  467. //
  468. //
  469. //
  470. //
  471. //
  472. //
  473. //
  474. //
  475. //
  476. //
  477. //
  478. //
  479. //
  480. //
  481. //
  482. //
  483. //
  484. //
  485. //
  486. //
  487. //
  488. //
  489. //
  490. //
  491. //
  492. //
  493. //
  494. //
  495. //
  496. //
  497. //
  498. //
  499. //
  500. //
  501. //
  502. //
  503. //
  504. //
  505. //
  506. //
  507. //
  508. //
  509. //
  510. //
  511. //
  512. //
  513. //
  514. //
  515. //
  516. //
  517. //
  518. //
  519. //
  520. //
  521. //
  522. //
  523. //
  524. //
  525. //
  526. //
  527. //
  528. //
  529. //
  530. //
  531. //
  532. //
  533. //
  534. //
  535. //
  536. //
  537. //
  538. //
  539. //
  540. //
  541. //
  542. //
  543. //
  544. //
  545. //
  546. //
  547. //
  548. //
  549. //
  550. //
  551. //
  552. //
  553. //
  554. //
  555. //
  556. //
  557. //
  558. //
  559. //
  560. //
  561. //
  562. //
  563. //
  564. //
  565. //
  566. //
  567. //
  568. //
  569. //
  570. //
  571. //
  572. //
  573. //
  574. //
  575. //
  576. //
  577. //
  578. //
  579. //
  580. //
  581. //
  582. //
  583. //
  584. //
  585. //
  586. //
  587. //
  588. //
  589. //
  590. //
  591. //
  592. //
  593. //
  594. //
  595. //
  596. //
  597. //
  598. //
  599. //
  600. //
  601. //
  602. //
  603. //
  604. //
  605. //
  606. //
  607. //
  608. //
  609. //
  610. //
  611. //
  612. //
  613. //
  614. //
  615. //
  616. //
  617. //
  618. //
  619. //
  620. //
  621. //
  622. //
  623. //
  624. //
  625. //
  626. //
  627. //
  628. //
  629. //
  630. //
  631. //
  632. //
  633. //
  634. //
  635. //
  636. //
  637. //
  638. //
  639. //
  640. //
  641. //
  642. //
  643. //
  644. //
  645. //
  646. //
  647. //
  648. //
  649. //
  650. //
  651. //
  652. //
  653. //
  654. //
  655. //
  656. //
  657. //
  658. //
  659. //
  660. //
  661. //
  662. //
  663. //
  664. //
  665. //
  666. //
  667. //
  668. //
  669. //
  670. //
  671. //
  672. //
  673. //
  674. //
  675. //
  676. //
  677. //
  678. //
  679. //
  680. //
  681. //
  682. //
  683. //
  684. //
  685. //
  686. //
  687. //
  688. //
  689. //
  690. //
  691. //
  692. //
  693. //
  694. //
  695. //
  696. //
  697. //
  698. //
  699. //
  700. //
  701. //
  702. //
  703. //
  704. //
  705. //
  706. //
  707. //
  708. //
  709. //
  710. //
  711. //
  712. //
  713. //
  714. //
  715. //
  716. //
  717. //
  718. //
  719. //
  720. //
  721. //
  722. //
  723. //
  724. //
  725. //
  726. //
  727. //
  728. //
  729. //
  730. //
  731. //
  732. //
  733. //
  734. //
  735. //
  736. //
  737. //
  738. //
  739. //
  740. //
  741. //
  742. //
  743. //
  744. //
  745. //
  746. //
  747. //
  748. //
  749. //
  750. //
  751. //
  752. //
  753. //
  754. //
  755. //
  756. //
  757. //
  758. //
  759. //
  760. //
  761. //
  762. //
  763. //
  764. //
  765. //
  766. //
  767. //
  768. //
  769. //
  770. //
  771. //
  772. //
  773. //
  774. //
  775. //
  776. //
  777. //
  778. //
  779. //
  780. //
  781. //
  782. //
  783. //
  784. //
  785. //
  786. //
  787. //
  788. //
  789. //
  790. //
  791. //
  792. //
  793. //
  794. //
  795. //
  796. //
  797. //
  798. //
  799. //
  800. //
  801. //
  802. //
  803. //
  804. //
  805. //
  806. //
  807. //
  808. //
  809. //
  810. //
  811. //
  812. //
  813. //
  814. //
  815. //
  816. //
  817. //
  818. //
  819. //
  820. //
  821. //
  822. //
  823. //
  824. //
  825. //
  826. //
  827. //
  828. //
  829. //
  830. //
  831. //
  832. //
  833. //
  834. //
  835. //
  836. //
  837. //
  838. //
  839. //
  840. //
  841. //
  842. //
  843. //
  844. //
  845. //
  846. //
  847. //
  848. //
  849. //
  850. //
  851. //
  852. //
  853. //
  854. //
  855. //
  856. //
  857. //
  858. //
  859. //
  860. //
  861. //
  862. //
  863. //
  864. //
  865. //
  866. //
  867. //
  868. //
  869. //
  870. //
  871. //
  872. //
  873. //
  874. //
  875. //
  876. //
  877. //
  878. //
  879. //
  880. //
  881. //
  882. //
  883. //
  884. //
  885. //
  886. //
  887. //
  888. //
  889. //
  890. //
  891. //
  892. //
  893. //
  894. //
  895. //
  896. //
  897. //
  898. //
  899. //
  900. //
  901. //
  902. //
  903. //
  904. //
  905. //
  906. //
  907. //
  908. //
  909. //
  910. //
  911. //
  912. //
  913. //
  914. //
  915. //
  916. //
  917. //
  918. //
  919. //
  920. //
  921. //
  922. //
  923. //
  924. //
  925. //
  926. //
  927. //
  928. //
  929. //
  930. //
  931. //
  932. //
  933. //
  934. //
  935. //
  936. //
  937. //
  938. //
  939. //
  940. //
  941. //
  942. //
  943. //
  944. //
  945. //
  946. //
  947. //
  948. //
  949. //
  950. //
  951. //
  952. //
  953. //
  954. //
  955. //
  956. //
  957. //
  958. //
  959. //
  960. //
  961. /* harmony default export */ var _idvue_type_script_lang_js_ = ({
  962. // web - 咨询服务详情页
  963. name: 'SeoConsultUser',
  964. data() {
  965. return {
  966. ExpandTopIcon: expand_top_icon_2x_default.a,
  967. ExpandDownIcon: expand_down_icon_2x_default.a,
  968. baseUrl: '',
  969. isWeixinApp: true,
  970. // 是否展示约聊时间 dialog
  971. isShowSelectTimeDialog: false,
  972. // 正在约聊的 saleId
  973. actionSaleId: '',
  974. // 约聊可选时间
  975. orderTime: [],
  976. // 约聊选择的时间
  977. selectedOrderTime: '',
  978. // dialog 当前选中的日期索引
  979. currentDateIndex: 0,
  980. // 是否展示行家自述 dialog
  981. isShowSelfDescriptionDialog: false,
  982. // 是否在编辑行家自述
  983. selfDescriptionIsEditing: false,
  984. // 编辑的行家自述内容
  985. editSelfDescription: '',
  986. // 保存行家自述 loading
  987. saveSelfDescriptionIsLoading: false,
  988. // 行家自述是否需要展示更多
  989. needShowMore: false,
  990. // 技能 scroller
  991. skillScrollLeft: 0,
  992. // 页面滚动高度
  993. lastScrollTop: 0,
  994. activeTabIndex: 0,
  995. // 是否展示为什么选择我 dialog
  996. isShowWhyMeDialog: false,
  997. // 编辑的为什么选择我
  998. editWhyMe: '',
  999. // 保存为什么选择我 loading
  1000. saveWhyMeIsLoading: false,
  1001. // 评论 pagination
  1002. commentPagination: {
  1003. page: 1,
  1004. size: 10,
  1005. loading: false,
  1006. total: 0,
  1007. type: 2,
  1008. wid: ''
  1009. },
  1010. // 评论列表
  1011. commentList: [],
  1012. // 评论按钮是否 loading
  1013. commentIsLoading: false,
  1014. // 评论内容
  1015. commentContent: '',
  1016. // 是否展示选择咨询 dialog
  1017. isShowSelectConsultDialog: false,
  1018. // 是否展示移动端选择咨询 dialog
  1019. isShowMobileSelectConsultDialog: false,
  1020. // 选择的咨询话题
  1021. selectedConsultItem: {},
  1022. selectedConsultIndex: -1,
  1023. // 从选中咨询 dialog 选择的时间
  1024. selectedOrderTime2: '',
  1025. // 是否展示移动端时间选择 modal
  1026. isShowMobileSelectTimeDialog: false,
  1027. // 是否展示支付成功
  1028. isShowPaySuccess: false
  1029. };
  1030. },
  1031. components: {
  1032. ErrorPage404: _404["a" /* default */]
  1033. },
  1034. head() {
  1035. const {
  1036. title = "",
  1037. keyword = "",
  1038. description = "",
  1039. h1 = "",
  1040. canonical = "",
  1041. metaLocation
  1042. } = this.head || {};
  1043. let obj = {
  1044. title: title,
  1045. meta: [{
  1046. name: "keywords",
  1047. content: keyword
  1048. }, {
  1049. name: "description",
  1050. content: description
  1051. }, {
  1052. name: "h1",
  1053. content: h1
  1054. }, {
  1055. name: "viewport",
  1056. content: "width=device-width, initial-scale=1.0, viewport-fit=cover"
  1057. }],
  1058. link: [{
  1059. rel: "canonical",
  1060. href: canonical
  1061. }]
  1062. };
  1063. if (metaLocation) {
  1064. obj.meta.push({
  1065. name: "location",
  1066. content: metaLocation
  1067. });
  1068. }
  1069. return obj;
  1070. },
  1071. computed: { ...Object(external_vuex_["mapState"])(["deviceType"]),
  1072. showWxHeader() {
  1073. return !this.deviceType.app && !this.isWeixinApp && (this.deviceType.android || this.deviceType.ios);
  1074. },
  1075. mainMarginTop() {
  1076. if (this.mobile && this.showWxHeader) {
  1077. return '0px !important';
  1078. } else if (this.mobile) {
  1079. return '0px !important';
  1080. } else {
  1081. return '100px !important';
  1082. }
  1083. },
  1084. canPay() {
  1085. let canPay = true;
  1086. if (this.consultDetail.sale_order_status == 0 || this.consultDetail.sale_order_status == 3 || this.consultDetail.sale_order_status == 4 || this.consultDetail.sale_order_status == 5 || this.consultDetail.sale_order_status == 6 || this.consultDetail.sale_order_status == 7 || this.consultDetail.sale_order_status == 8) {
  1087. canPay = true;
  1088. } else {
  1089. canPay = false;
  1090. }
  1091. return canPay;
  1092. },
  1093. // 当前登录用户和咨询页面是否为同一个人
  1094. isMyself() {
  1095. let res = false;
  1096. if (this.consultDetail.user.uid == this.userinfo.uid) {
  1097. res = true;
  1098. }
  1099. return res;
  1100. }
  1101. },
  1102. async asyncData({ ...params
  1103. }) {
  1104. let dealDataObj = new DealSeoData(params);
  1105. let ans = await dealDataObj.dealData();
  1106. return { ...ans
  1107. };
  1108. },
  1109. mounted() {
  1110. const self = this;
  1111. this.baseUrl = this.$store.state.domainConfig.siteUrl;
  1112. this.isWeixinApp = navigator.userAgent.indexOf("miniProgram") > -1; // 判断行家自述是否需要展示更多
  1113. // const descriptionTextEle = this.$refs.descriptionText
  1114. // this.needShowMore = descriptionTextEle.scrollHeight > descriptionTextEle.clientHeight
  1115. if (this.act === 'pay') {
  1116. setTimeout(() => {
  1117. self.$message.success('购买成功,请等待对方接单');
  1118. }, 800);
  1119. }
  1120. if (!this.mobile) {
  1121. // 获取评论列表
  1122. this.commentPagination.wid = this.uid;
  1123. this._getCommentList(); // 监听页面滚动
  1124. window.addEventListener('scroll', this._handleScroll, true);
  1125. } else {
  1126. // window.proginnMobile = this
  1127. window.showPaySuccess = this.showPaySuccess;
  1128. }
  1129. },
  1130. methods: {
  1131. /**
  1132. * 页面滚动事件
  1133. */
  1134. _handleScroll() {
  1135. let windowScrollTop = document.documentElement.scrollTop || 0; // 高度会改变,需要动态计算
  1136. let consultListOffsetTop = document.getElementById('ConsultList').offsetTop;
  1137. let whyMeOffsetTop = document.getElementById('WhyMe').offsetTop;
  1138. let questionOffsetTop = document.getElementById('Question').offsetTop;
  1139. let commentOffsetTop = document.getElementById('Comment').offsetTop;
  1140. let skillListOffsetTop = document.getElementById('SkillList').offsetTop; // let fixedTabsHeight = document.getElementById('FixedTabs').height()
  1141. let fixedTabsHeight = 50;
  1142. let consultListScrollTop = consultListOffsetTop - fixedTabsHeight;
  1143. let whyMeScrollTop = whyMeOffsetTop - fixedTabsHeight;
  1144. let questionScrollTop = questionOffsetTop - fixedTabsHeight;
  1145. let commentScrollTop = commentOffsetTop - fixedTabsHeight;
  1146. let skillListScrollTop = skillListOffsetTop - fixedTabsHeight; // console.log(windowScrollTop, skillListOffsetTop, skillListScrollTop)
  1147. if (windowScrollTop > this.lastScrollTop) {
  1148. // 向下滚动时
  1149. if (windowScrollTop > skillListScrollTop) {
  1150. this.activeTabIndex = 4;
  1151. } else if (windowScrollTop > commentScrollTop) {
  1152. this.activeTabIndex = 3;
  1153. } else if (windowScrollTop > questionScrollTop) {
  1154. this.activeTabIndex = 2;
  1155. } else if (windowScrollTop > whyMeScrollTop) {
  1156. this.activeTabIndex = 1;
  1157. } else if (windowScrollTop > consultListScrollTop) {
  1158. this.activeTabIndex = 0;
  1159. }
  1160. } else {
  1161. // 向上滚动时
  1162. if (windowScrollTop < whyMeScrollTop - 1) {
  1163. this.activeTabIndex = 0;
  1164. } else if (windowScrollTop < questionScrollTop - 1) {
  1165. this.activeTabIndex = 1;
  1166. } else if (windowScrollTop < commentScrollTop - 1) {
  1167. this.activeTabIndex = 2;
  1168. } else if (windowScrollTop < skillListScrollTop - 1) {
  1169. this.activeTabIndex = 3;
  1170. }
  1171. }
  1172. this.lastScrollTop = windowScrollTop;
  1173. },
  1174. /**
  1175. * 点击吸顶 tabs
  1176. */
  1177. handleClickTab(index) {
  1178. if (index != this.activeTabIndex) {
  1179. let consultListOffsetTop = document.getElementById('ConsultList').offsetTop;
  1180. let whyMeOffsetTop = document.getElementById('WhyMe').offsetTop;
  1181. let questionOffsetTop = document.getElementById('Question').offsetTop;
  1182. let commentOffsetTop = document.getElementById('Comment').offsetTop;
  1183. let skillListOffsetTop = document.getElementById('SkillList').offsetTop; // let fixedTabsHeight = document.getElementById('FixedTabs').height()
  1184. let fixedTabsHeight = 50;
  1185. let consultListScrollTop = consultListOffsetTop - fixedTabsHeight;
  1186. let whyMeScrollTop = whyMeOffsetTop - fixedTabsHeight;
  1187. let questionScrollTop = questionOffsetTop - fixedTabsHeight;
  1188. let commentScrollTop = commentOffsetTop - fixedTabsHeight;
  1189. let skillListScrollTop = skillListOffsetTop - fixedTabsHeight;
  1190. if (index == 0) {
  1191. window.scrollTo({
  1192. "behavior": "smooth",
  1193. "top": consultListScrollTop + 1
  1194. });
  1195. } else if (index == 1) {
  1196. window.scrollTo({
  1197. "behavior": "smooth",
  1198. "top": whyMeScrollTop + 1
  1199. });
  1200. } else if (index == 2) {
  1201. window.scrollTo({
  1202. "behavior": "smooth",
  1203. "top": questionScrollTop + 1
  1204. });
  1205. } else if (index == 3) {
  1206. window.scrollTo({
  1207. "behavior": "smooth",
  1208. "top": commentScrollTop + 1
  1209. });
  1210. } else if (index == 4) {
  1211. window.scrollTo({
  1212. "behavior": "smooth",
  1213. "top": skillListScrollTop + 1
  1214. });
  1215. } // this.activeTabIndex = index
  1216. }
  1217. },
  1218. /**
  1219. * 获取约聊可选时间
  1220. * @param {Number} saleId - 服务 id
  1221. * @param {Number} index - 咨询列表索引
  1222. */
  1223. _getConsultTime(saleId, index) {
  1224. const self = this;
  1225. const data = {
  1226. sale_id: saleId
  1227. };
  1228. this.$axios.$post('/api/sale/time', data).then(res => {
  1229. if (Number(res.status) === 1) {
  1230. // 可约聊时间
  1231. let orderTime = res.data.list || []; // 为约聊的时间增加下单所需 value
  1232. orderTime.forEach(item => {
  1233. item.time.forEach(dateItem => {
  1234. dateItem.value = `${item.ymd} ${dateItem.date}`;
  1235. });
  1236. });
  1237. let consultItem = self.consultDetail.sale_list[index];
  1238. consultItem.orderTime = orderTime;
  1239. self.consultDetail.sale_list.splice(index, 1, consultItem);
  1240. if (orderTime[0].time && orderTime[0].time.length > 1 && orderTime[0].time[0].date !== '00:00') {
  1241. self.selectedOrderTime = orderTime[0].time[0].value;
  1242. }
  1243. self.orderTime = orderTime;
  1244. self.actionSaleId = saleId;
  1245. if (self.mobile) {
  1246. self.isShowMobileSelectTimeDialog = true;
  1247. } else {
  1248. self.isShowSelectTimeDialog = true;
  1249. }
  1250. }
  1251. console.log(res);
  1252. });
  1253. },
  1254. /**
  1255. * 获取评论列表
  1256. */
  1257. _getCommentList() {
  1258. const self = this;
  1259. const data = {
  1260. wid: this.commentPagination.wid,
  1261. page: this.commentPagination.page,
  1262. size: this.commentPagination.size,
  1263. type: this.commentPagination.type
  1264. };
  1265. this.commentPagination.loading = true;
  1266. this.$axios.$post('/api/UserWorkReplies/getList', data).then(res => {
  1267. if (Number(res.status) === 1) {
  1268. self.commentPagination.total = Number(res.data.total) || 0;
  1269. self.commentList = res.data.list || [];
  1270. console.log(res.data);
  1271. }
  1272. }).then(() => {
  1273. self.commentPagination.loading = false;
  1274. });
  1275. },
  1276. /**
  1277. * 判断是否可以发起支付
  1278. * 根据 sale_order_status 进行判断,同时只能有一笔订单
  1279. */
  1280. _canPay() {
  1281. // 处于这些状态下可发起咨询
  1282. // 0:未咨询;3:订单已完成;4:待结薪(雇主点击完成后状态);5:已拒绝;6:已结薪;7. 退款中;8:已退款
  1283. if (this.consultDetail.sale_order_status == 0 || this.consultDetail.sale_order_status == 3 || this.consultDetail.sale_order_status == 4 || this.consultDetail.sale_order_status == 5 || this.consultDetail.sale_order_status == 6 || this.consultDetail.sale_order_status == 7 || this.consultDetail.sale_order_status == 8) {
  1284. return true;
  1285. } else {
  1286. this.$message.info('您还有咨询订单未完成,无法继续发起咨询');
  1287. return false;
  1288. }
  1289. },
  1290. /**
  1291. * 点击展开收起时
  1292. * @param {Number} index - 咨询列表索引
  1293. */
  1294. handleClickExpand(index) {
  1295. let consultItem = this.consultDetail.sale_list[index];
  1296. consultItem.expand = !consultItem.expand;
  1297. this.consultDetail.sale_list.splice(index, 1, consultItem);
  1298. },
  1299. /**
  1300. * 点击付费咨询时
  1301. * @param {Number} saleId - 服务 id
  1302. * @param {Number} index - 咨询列表索引
  1303. */
  1304. handleClickPay(saleId, index) {
  1305. if (!this._canPay()) {
  1306. return;
  1307. } // this.$message.info(`付费咨询:${saleId}`)
  1308. let consultItem = this.consultDetail.sale_list[index];
  1309. if (consultItem.orderTime && consultItem.orderTime.length) {
  1310. // 已获取过约聊时间数据,为 dialog 赋值即可
  1311. this.orderTime = consultItem.orderTime;
  1312. this.actionSaleId = saleId;
  1313. if (consultItem.orderTime[0].time && consultItem.orderTime[0].time.length > 1 && consultItem.orderTime[0].time[0].date !== '00:00') {
  1314. this.selectedOrderTime = consultItem.orderTime[0].time[0].value;
  1315. }
  1316. if (this.mobile) {
  1317. this.isShowMobileSelectTimeDialog = true;
  1318. } else {
  1319. this.isShowSelectTimeDialog = true;
  1320. }
  1321. } else {
  1322. this._getConsultTime(saleId, index);
  1323. }
  1324. },
  1325. /**
  1326. * 点击约聊 modal 的日期
  1327. * @param {Number} index - 日期索引
  1328. */
  1329. handleClickDialogDate(index) {
  1330. if (this.currentDateIndex !== index) {
  1331. this.currentDateIndex = index;
  1332. }
  1333. },
  1334. /**
  1335. * 点击约聊 modal 的时间
  1336. * @param {String} value - 选择的值
  1337. */
  1338. handleClickDialogTime(value) {
  1339. this.selectedOrderTime = value;
  1340. },
  1341. /**
  1342. * 点击约聊 modal 的确定
  1343. */
  1344. handleClickDialogConfirm() {
  1345. // this.$message.info('稍微校验数据,然后直接跳转支付')
  1346. if (!this.selectedOrderTime) {
  1347. this.$message.error('请选择预约时间');
  1348. return;
  1349. }
  1350. if (this.isShowSelectConsultDialog || this.isShowMobileSelectConsultDialog) {
  1351. // 从选择咨询话题 modal 中打开
  1352. this.selectedOrderTime2 = this.selectedOrderTime;
  1353. } else {
  1354. // 直接选择某一话题
  1355. const query = {
  1356. product_type: 503,
  1357. product_id: this.actionSaleId,
  1358. obj: this.selectedOrderTime,
  1359. next: '/wo/purchased?type=3'
  1360. };
  1361. if (!this.userinfo || !this.userinfo.nickname) {
  1362. // 未登录
  1363. if (this.deviceType.android || this.deviceType.ios) {
  1364. // 端
  1365. location.href = "proginn://login?backToPage=true";
  1366. } else {
  1367. // web
  1368. location.href = this.baseUrl + "/?loginbox=show&next=" + encodeURIComponent(location.href);
  1369. }
  1370. } else {
  1371. // 跳转支付
  1372. if (this.deviceType.android || this.deviceType.ios) {
  1373. // 端
  1374. location.href = "proginn://pay?" + external_qs_default.a.stringify(query);
  1375. } else {
  1376. // web
  1377. location.href = `/pay?${external_qs_default.a.stringify(query)}`;
  1378. }
  1379. }
  1380. }
  1381. this.isShowSelectTimeDialog = false;
  1382. this.isShowMobileSelectTimeDialog = false;
  1383. },
  1384. /**
  1385. * 点击约聊 modal 的取消
  1386. */
  1387. handleClickDialogCancel() {
  1388. this.isShowSelectTimeDialog = false;
  1389. },
  1390. /**
  1391. * 约聊时间选择 modal 关闭时
  1392. */
  1393. handleSelectTimeDialogClose() {
  1394. this.selectedOrderTime = '';
  1395. this.currentDateIndex = 0;
  1396. this.orderTime = [];
  1397. this.actionSaleId = '';
  1398. },
  1399. /**
  1400. * 点击行家自述编辑时
  1401. */
  1402. handleClickEditDescription() {
  1403. this.editSelfDescription = this.consultDetail.sale_summary;
  1404. this.isShowSelfDescriptionDialog = true; // this.selfDescriptionIsEditing = true
  1405. },
  1406. /**
  1407. * 保存行家自述
  1408. */
  1409. handleSaveSelfDescription() {
  1410. const self = this;
  1411. if (self.editSelfDescription.length === 0) {
  1412. this.$message.error('请输入个人介绍');
  1413. return;
  1414. }
  1415. this.saveSelfDescriptionIsLoading = true;
  1416. const data = {
  1417. summary: this.editSelfDescription,
  1418. type: 1
  1419. };
  1420. this.$axios.$post('/api/sale/updateSummary', data).then(res => {
  1421. if (Number(res.status) === 1) {
  1422. self.$message.success('保存成功');
  1423. self.consultDetail.sale_summary = self.editSelfDescription;
  1424. self.$nextTick(() => {
  1425. self.isShowSelfDescriptionDialog = false;
  1426. });
  1427. }
  1428. }).then(() => {
  1429. self.saveSelfDescriptionIsLoading = false;
  1430. });
  1431. },
  1432. /**
  1433. * 取消行家自述
  1434. */
  1435. handleCancelSelfDescription() {
  1436. // this.selfDescriptionIsEditing = false
  1437. this.isShowSelfDescriptionDialog = false;
  1438. },
  1439. /**
  1440. * 点击行家自述“更多”时
  1441. */
  1442. showMoreSelfDescription() {
  1443. this.isShowSelfDescriptionDialog = true;
  1444. },
  1445. /**
  1446. * 行家自述 modal 关闭时
  1447. */
  1448. handleSelfDescriptionDialogClose() {
  1449. this.editSelfDescription = '';
  1450. },
  1451. /**
  1452. * 技能列表滚动事件
  1453. */
  1454. stopSkillScroll(e) {
  1455. e.stopPropagation();
  1456. },
  1457. handleSkillScroll(offset) {
  1458. const outerWidth = this.$refs.scrollOuter.offsetWidth;
  1459. const bodyWidth = this.$refs.scrollBody.offsetWidth;
  1460. if (offset > 0) {
  1461. this.skillScrollLeft = Math.min(0, this.skillScrollLeft + offset);
  1462. } else {
  1463. if (outerWidth < bodyWidth) {
  1464. if (this.skillScrollLeft >= -(bodyWidth - outerWidth)) {
  1465. this.skillScrollLeft = Math.max(this.skillScrollLeft + offset, outerWidth - bodyWidth);
  1466. }
  1467. } else {
  1468. this.skillScrollLeft = 0;
  1469. }
  1470. }
  1471. },
  1472. /**
  1473. * 点击为什么选择我的编辑时
  1474. */
  1475. handleClickEditWhyMe() {
  1476. this.editWhyMe = this.consultDetail.sale_summary_choose;
  1477. this.isShowWhyMeDialog = true;
  1478. },
  1479. /**
  1480. * 为什么选择我 modal 关闭时
  1481. */
  1482. handleWhyMeDialogClose() {
  1483. this.editWhyMe = '';
  1484. },
  1485. /**
  1486. * 保存为什么选择我
  1487. */
  1488. handleSaveWhyMe() {
  1489. const self = this;
  1490. if (self.editWhyMe.length === 0) {
  1491. this.$message.error('请输入为什么选择我');
  1492. return;
  1493. }
  1494. this.saveWhyMeIsLoading = true;
  1495. const data = {
  1496. summary: this.editWhyMe,
  1497. type: 2
  1498. };
  1499. this.$axios.$post('/api/sale/updateSummary', data).then(res => {
  1500. if (Number(res.status) === 1) {
  1501. self.$message.success('保存成功');
  1502. self.consultDetail.sale_summary_choose = self.editWhyMe;
  1503. self.$nextTick(() => {
  1504. self.isShowWhyMeDialog = false;
  1505. });
  1506. }
  1507. }).then(() => {
  1508. self.saveWhyMeIsLoading = false;
  1509. });
  1510. },
  1511. /**
  1512. * 取消为什么选择我
  1513. */
  1514. handleCancelWhyMe() {
  1515. this.isShowWhyMeDialog = false;
  1516. },
  1517. /**
  1518. * 点击评论按钮时
  1519. */
  1520. handleClickComment() {
  1521. const self = this;
  1522. if (!this.commentContent) {
  1523. this.$message.error('请输入评论内容');
  1524. return;
  1525. }
  1526. const data = {
  1527. type: this.commentPagination.type,
  1528. wid: this.commentPagination.wid,
  1529. body: this.commentContent
  1530. };
  1531. this.commentIsLoading = true;
  1532. this.$axios.$post('/api/UserWorkReplies/add', data).then(res => {
  1533. if (Number(res.status) === 1) {
  1534. self.$message.success('评论成功');
  1535. self.commentContent = '';
  1536. self.commentPagination.page = 1;
  1537. self._getCommentList();
  1538. }
  1539. }).then(() => {
  1540. self.commentIsLoading = false;
  1541. });
  1542. },
  1543. /**
  1544. * 评论列表分页
  1545. */
  1546. handleCommentPageChange(val) {
  1547. this.commentPagination.page = val;
  1548. this._getCommentList();
  1549. },
  1550. /**
  1551. * 选择所有咨询 modal 关闭时
  1552. */
  1553. handleSelectConsultClose() {// 暂时不用清理数据
  1554. },
  1555. /**
  1556. * 点击付费咨询-选择全部
  1557. */
  1558. handleClickAllBuyBtn() {
  1559. if (!this._canPay()) {
  1560. return;
  1561. }
  1562. this.isShowSelectConsultDialog = true;
  1563. },
  1564. /**
  1565. * 选择咨询 modal 选择某一项咨询时
  1566. */
  1567. handleSelectConsultItem(consultItem, index) {
  1568. if (this.selectedConsultIndex != index) {
  1569. this.selectedConsultItem = consultItem;
  1570. this.selectedConsultIndex = index;
  1571. this.selectedOrderTime2 = '';
  1572. }
  1573. },
  1574. /**
  1575. * 选择咨询 modal 点击选择时间时
  1576. */
  1577. handleClickSelectTime() {
  1578. if (!this.selectedConsultItem || !this.selectedConsultItem.sale_id) {
  1579. this.$message.error('请先选择咨询话题');
  1580. return;
  1581. } else {
  1582. this.handleClickPay(this.selectedConsultItem.sale_id, this.selectedConsultIndex);
  1583. }
  1584. },
  1585. /**
  1586. * 选择咨询 modal 点击确定时
  1587. */
  1588. handleSelectConsultConfirm() {
  1589. if (!this.selectedConsultItem || !this.selectedConsultItem.sale_id) {
  1590. this.$message.error('请先选择咨询话题');
  1591. return;
  1592. } else if (!this.selectedOrderTime2) {
  1593. this.$message.error('请选择预约时间');
  1594. return;
  1595. } // 数据校验通过,跳转支付
  1596. const query = {
  1597. product_type: 503,
  1598. product_id: this.selectedConsultItem.sale_id,
  1599. obj: this.selectedOrderTime2,
  1600. next: '/wo/purchased?type=3'
  1601. };
  1602. if (!this.userinfo || !this.userinfo.nickname) {
  1603. // 未登录
  1604. if (this.deviceType.android || this.deviceType.ios) {
  1605. // 端
  1606. location.href = "proginn://login?backToPage=true";
  1607. } else {
  1608. // web
  1609. location.href = this.baseUrl + "/?loginbox=show&next=" + encodeURIComponent(location.href);
  1610. }
  1611. } else {
  1612. // 跳转支付
  1613. if (this.deviceType.android || this.deviceType.ios) {
  1614. // 端
  1615. location.href = "proginn://pay?" + external_qs_default.a.stringify(query);
  1616. } else {
  1617. // web
  1618. location.href = `/pay?${external_qs_default.a.stringify(query)}`;
  1619. }
  1620. }
  1621. this.isShowSelectConsultDialog = false;
  1622. this.isShowMobileSelectConsultDialog = false;
  1623. },
  1624. /**
  1625. * 点击 mobile 的一项技能时
  1626. */
  1627. handleClickSkillItem(saleId) {
  1628. location.href = `/s/${saleId}`; // if (this.deviceType.android || this.deviceType.ios) {
  1629. // // 端跳转
  1630. // let jumpUrl = `${this.baseUrl}/s/${saleId}`
  1631. // location.href = `proginn://webview?url=${jumpUrl}`
  1632. // } else {
  1633. // // web 跳转
  1634. // location.href = `/s/${saleId}`
  1635. // }
  1636. },
  1637. /**
  1638. * 点击移动端 - 全部咨询按钮
  1639. */
  1640. handleClickMobileAllBuyBtn() {
  1641. this.isShowMobileSelectConsultDialog = true;
  1642. },
  1643. /**
  1644. * 展示支付成功
  1645. */
  1646. showPaySuccess() {
  1647. const self = this;
  1648. this.isShowPaySuccess = true;
  1649. setTimeout(() => {
  1650. self.isShowPaySuccess = false;
  1651. }, 5000);
  1652. },
  1653. handleClickPayConfirm() {
  1654. this.isShowPaySuccess = false;
  1655. }
  1656. }
  1657. });
  1658. // CONCATENATED MODULE: ./pages/frontend/consult/user/_id.vue?vue&type=script&lang=js&
  1659. /* harmony default export */ var user_idvue_type_script_lang_js_ = (_idvue_type_script_lang_js_);
  1660. // EXTERNAL MODULE: ./node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js
  1661. var componentNormalizer = __webpack_require__(1);
  1662. // CONCATENATED MODULE: ./pages/frontend/consult/user/_id.vue
  1663. function injectStyles (context) {
  1664. var style0 = __webpack_require__(500)
  1665. if (style0.__inject__) style0.__inject__(context)
  1666. var style1 = __webpack_require__(501)
  1667. if (style1.__inject__) style1.__inject__(context)
  1668. }
  1669. /* normalize component */
  1670. var component = Object(componentNormalizer["a" /* default */])(
  1671. user_idvue_type_script_lang_js_,
  1672. render,
  1673. staticRenderFns,
  1674. false,
  1675. injectStyles,
  1676. "596803f2",
  1677. "15880532"
  1678. )
  1679. /* harmony default export */ var _id = __webpack_exports__["default"] = (component.exports);
  1680. /***/ }),
  1681. /***/ 79:
  1682. /***/ (function(module, exports) {
  1683. // Exports
  1684. module.exports = {};
  1685. /***/ })
  1686. };;
  1687. //# sourceMappingURL=106.js.map