detail.js 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223
  1. exports.ids = [51,7,9,17];
  2. exports.modules = {
  3. /***/ 136:
  4. /***/ (function(module, exports, __webpack_require__) {
  5. // style-loader: Adds some css to the DOM by adding a <style> tag
  6. // load the styles
  7. var content = __webpack_require__(139);
  8. if(content.__esModule) content = content.default;
  9. if(typeof content === 'string') content = [[module.i, content, '']];
  10. if(content.locals) module.exports = content.locals;
  11. // add CSS to SSR context
  12. var add = __webpack_require__(4).default
  13. module.exports.__inject__ = function (context) {
  14. add("3181fc86", content, true, context)
  15. };
  16. /***/ }),
  17. /***/ 137:
  18. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  19. "use strict";
  20. // ESM COMPAT FLAG
  21. __webpack_require__.r(__webpack_exports__);
  22. // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/price-formate.vue?vue&type=template&id=0c4d5c85&
  23. var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{class:(_vm.lineThrough ? 'line-through' : '') + 'price-format',style:({ color: _vm.color, 'font-weight': _vm.weight })},[_vm._ssrNode(((_vm.showSubscript)?("<span"+(_vm._ssrStyle(null,{
  24. 'font-size': _vm.subscriptSize + 'px',
  25. 'margin-right': '1px',
  26. }, null))+">¥</span>"):"<!---->")+" <span"+(_vm._ssrStyle(null,{ 'font-size': _vm.firstSize + 'px', 'margin-right': '1px' }, null))+">"+_vm._ssrEscape(_vm._s(_vm.priceSlice.first))+"</span> "+((_vm.priceSlice.second)?("<span"+(_vm._ssrStyle(null,{ 'font-size': _vm.secondSize + 'px' }, null))+">"+_vm._ssrEscape("."+_vm._s(_vm.priceSlice.second))+"</span>"):"<!---->"))])}
  27. var staticRenderFns = []
  28. // CONCATENATED MODULE: ./components/price-formate.vue?vue&type=template&id=0c4d5c85&
  29. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/price-formate.vue?vue&type=script&lang=js&
  30. //
  31. //
  32. //
  33. //
  34. //
  35. //
  36. //
  37. //
  38. //
  39. //
  40. //
  41. //
  42. //
  43. //
  44. //
  45. //
  46. //
  47. //
  48. //
  49. //
  50. //
  51. //
  52. //
  53. //
  54. //
  55. /* harmony default export */ var price_formatevue_type_script_lang_js_ = ({
  56. data() {
  57. return {
  58. priceSlice: {}
  59. };
  60. },
  61. components: {},
  62. props: {
  63. firstSize: {
  64. type: Number,
  65. default: 14
  66. },
  67. secondSize: {
  68. type: Number,
  69. default: 14
  70. },
  71. color: {
  72. type: String
  73. },
  74. weight: {
  75. type: [String, Number],
  76. default: 400
  77. },
  78. price: {
  79. type: [String, Number],
  80. default: ''
  81. },
  82. showSubscript: {
  83. type: Boolean,
  84. default: true
  85. },
  86. subscriptSize: {
  87. type: Number,
  88. default: 14
  89. },
  90. lineThrough: {
  91. type: Boolean,
  92. default: false
  93. }
  94. },
  95. created() {
  96. this.priceFormat();
  97. },
  98. watch: {
  99. price(val) {
  100. this.priceFormat();
  101. }
  102. },
  103. methods: {
  104. priceFormat() {
  105. let {
  106. price
  107. } = this;
  108. let priceSlice = {};
  109. if (price !== null) {
  110. price = parseFloat(price);
  111. price = String(price).split('.');
  112. priceSlice.first = price[0];
  113. priceSlice.second = price[1];
  114. this.priceSlice = priceSlice;
  115. }
  116. }
  117. }
  118. });
  119. // CONCATENATED MODULE: ./components/price-formate.vue?vue&type=script&lang=js&
  120. /* harmony default export */ var components_price_formatevue_type_script_lang_js_ = (price_formatevue_type_script_lang_js_);
  121. // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
  122. var componentNormalizer = __webpack_require__(1);
  123. // CONCATENATED MODULE: ./components/price-formate.vue
  124. function injectStyles (context) {
  125. var style0 = __webpack_require__(138)
  126. if (style0.__inject__) style0.__inject__(context)
  127. }
  128. /* normalize component */
  129. var component = Object(componentNormalizer["a" /* default */])(
  130. components_price_formatevue_type_script_lang_js_,
  131. render,
  132. staticRenderFns,
  133. false,
  134. injectStyles,
  135. null,
  136. "7ae24710"
  137. )
  138. /* harmony default export */ var price_formate = __webpack_exports__["default"] = (component.exports);
  139. /***/ }),
  140. /***/ 138:
  141. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  142. "use strict";
  143. __webpack_require__.r(__webpack_exports__);
  144. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(136);
  145. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
  146. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_price_formate_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  147. /***/ }),
  148. /***/ 139:
  149. /***/ (function(module, exports, __webpack_require__) {
  150. // Imports
  151. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
  152. var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
  153. // Module
  154. ___CSS_LOADER_EXPORT___.push([module.i, ".price-format{display:flex;align-items:baseline}", ""]);
  155. // Exports
  156. module.exports = ___CSS_LOADER_EXPORT___;
  157. /***/ }),
  158. /***/ 144:
  159. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  160. "use strict";
  161. // ESM COMPAT FLAG
  162. __webpack_require__.r(__webpack_exports__);
  163. // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/count-down.vue?vue&type=template&id=2fbaab86&
  164. var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.time >= 0)?_c('div',[_c('client-only',[(_vm.isSlot)?_vm._t("default"):_c('span',[_vm._v(_vm._s(_vm.formateTime))])],2)],1):_vm._e()}
  165. var staticRenderFns = []
  166. // CONCATENATED MODULE: ./components/count-down.vue?vue&type=template&id=2fbaab86&
  167. // CONCATENATED MODULE: ./utils/parseTime.js
  168. const SECOND = 1000;
  169. const MINUTE = 60 * SECOND;
  170. const HOUR = 60 * MINUTE;
  171. const DAY = 24 * HOUR;
  172. function parseTimeData(time) {
  173. const days = Math.floor(time / DAY);
  174. const hours = sliceTwo(Math.floor(time % DAY / HOUR));
  175. const minutes = sliceTwo(Math.floor(time % HOUR / MINUTE));
  176. const seconds = sliceTwo(Math.floor(time % MINUTE / SECOND));
  177. return {
  178. days: days,
  179. hours: hours,
  180. minutes: minutes,
  181. seconds: seconds
  182. };
  183. }
  184. function sliceTwo(str) {
  185. return (0 + str.toString()).slice(-2);
  186. }
  187. function parseFormat(format, timeData) {
  188. let days = timeData.days;
  189. let hours = timeData.hours,
  190. minutes = timeData.minutes,
  191. seconds = timeData.seconds;
  192. if (format.indexOf('dd') !== -1) {
  193. format = format.replace('dd', days);
  194. }
  195. if (format.indexOf('hh') !== -1) {
  196. format = format.replace('hh', sliceTwo(hours));
  197. }
  198. if (format.indexOf('mm') !== -1) {
  199. format = format.replace('mm', sliceTwo(minutes));
  200. }
  201. if (format.indexOf('ss') !== -1) {
  202. format = format.replace('ss', sliceTwo(seconds));
  203. }
  204. return format;
  205. }
  206. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/count-down.vue?vue&type=script&lang=js&
  207. //
  208. //
  209. //
  210. //
  211. //
  212. //
  213. //
  214. //
  215. //
  216. /* harmony default export */ var count_downvue_type_script_lang_js_ = ({
  217. components: {},
  218. props: {
  219. isSlot: {
  220. type: Boolean,
  221. default: false
  222. },
  223. time: {
  224. type: Number,
  225. default: 0
  226. },
  227. format: {
  228. type: String,
  229. default: 'hh:mm:ss'
  230. },
  231. autoStart: {
  232. type: Boolean,
  233. default: true
  234. }
  235. },
  236. watch: {
  237. time: {
  238. immediate: true,
  239. handler(value) {
  240. if (value) {
  241. this.reset();
  242. }
  243. }
  244. }
  245. },
  246. data() {
  247. return {
  248. timeObj: {},
  249. formateTime: 0
  250. };
  251. },
  252. created() {},
  253. computed: {},
  254. methods: {
  255. createTimer(fn) {
  256. return setTimeout(fn, 100);
  257. },
  258. isSameSecond(time1, time2) {
  259. return Math.floor(time1) === Math.floor(time2);
  260. },
  261. start() {
  262. if (this.counting) {
  263. return;
  264. }
  265. this.counting = true;
  266. this.endTime = Date.now() + this.remain * 1000;
  267. this.setTimer();
  268. },
  269. setTimer() {
  270. this.tid = this.createTimer(() => {
  271. let remain = this.getRemain();
  272. if (!this.isSameSecond(remain, this.remain) || remain === 0) {
  273. this.setRemain(remain);
  274. }
  275. if (this.remain !== 0) {
  276. this.setTimer();
  277. }
  278. });
  279. },
  280. getRemain() {
  281. return Math.max(this.endTime - Date.now(), 0);
  282. },
  283. pause() {
  284. this.counting = false;
  285. clearTimeout(this.tid);
  286. },
  287. reset() {
  288. this.pause();
  289. this.remain = this.time;
  290. this.setRemain(this.remain);
  291. if (this.autoStart) {
  292. this.start();
  293. }
  294. },
  295. setRemain(remain) {
  296. const {
  297. format
  298. } = this;
  299. this.remain = remain;
  300. const timeData = parseTimeData(remain);
  301. this.formateTime = parseFormat(format, timeData);
  302. this.$emit('change', timeData);
  303. if (remain === 0) {
  304. this.pause();
  305. this.$emit('finish');
  306. }
  307. }
  308. }
  309. });
  310. // CONCATENATED MODULE: ./components/count-down.vue?vue&type=script&lang=js&
  311. /* harmony default export */ var components_count_downvue_type_script_lang_js_ = (count_downvue_type_script_lang_js_);
  312. // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
  313. var componentNormalizer = __webpack_require__(1);
  314. // CONCATENATED MODULE: ./components/count-down.vue
  315. function injectStyles (context) {
  316. }
  317. /* normalize component */
  318. var component = Object(componentNormalizer["a" /* default */])(
  319. components_count_downvue_type_script_lang_js_,
  320. render,
  321. staticRenderFns,
  322. false,
  323. injectStyles,
  324. null,
  325. "4090b4e2"
  326. )
  327. /* harmony default export */ var count_down = __webpack_exports__["default"] = (component.exports);
  328. /***/ }),
  329. /***/ 145:
  330. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  331. "use strict";
  332. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return trottle; });
  333. /* unused harmony export strToParams */
  334. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return paramsToStr; });
  335. /* unused harmony export copyClipboard */
  336. //节流
  337. const trottle = (func, time = 1000, context) => {
  338. let previous = new Date(0).getTime();
  339. return function (...args) {
  340. let now = new Date().getTime();
  341. if (now - previous > time) {
  342. func.apply(context, args);
  343. previous = now;
  344. }
  345. };
  346. }; //获取url后的参数 以对象返回
  347. function strToParams(str) {
  348. var newparams = {};
  349. for (let item of str.split('&')) {
  350. newparams[item.split('=')[0]] = item.split('=')[1];
  351. }
  352. return newparams;
  353. } //对象参数转为以?&拼接的字符
  354. function paramsToStr(params) {
  355. let p = '';
  356. if (typeof params == 'object') {
  357. p = '?';
  358. for (let props in params) {
  359. p += `${props}=${params[props]}&`;
  360. }
  361. p = p.slice(0, -1);
  362. }
  363. return p;
  364. }
  365. /**
  366. * @description 复制到剪切板
  367. * @param value { String } 复制内容
  368. * @return { Promise } resolve | reject
  369. */
  370. const copyClipboard = value => {
  371. const elInput = document.createElement('input');
  372. elInput.setAttribute('value', value);
  373. document.body.appendChild(elInput);
  374. elInput.select();
  375. try {
  376. if (document.execCommand('copy')) return Promise.resolve();else throw new Error();
  377. } catch (err) {
  378. return Promise.reject(err);
  379. } finally {
  380. document.body.removeChild(elInput);
  381. }
  382. };
  383. /***/ }),
  384. /***/ 160:
  385. /***/ (function(module, exports, __webpack_require__) {
  386. // style-loader: Adds some css to the DOM by adding a <style> tag
  387. // load the styles
  388. var content = __webpack_require__(173);
  389. if(content.__esModule) content = content.default;
  390. if(typeof content === 'string') content = [[module.i, content, '']];
  391. if(content.locals) module.exports = content.locals;
  392. // add CSS to SSR context
  393. var add = __webpack_require__(4).default
  394. module.exports.__inject__ = function (context) {
  395. add("db2946c2", content, true, context)
  396. };
  397. /***/ }),
  398. /***/ 172:
  399. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  400. "use strict";
  401. __webpack_require__.r(__webpack_exports__);
  402. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_deliver_search_vue_vue_type_style_index_0_id_79dec466_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(160);
  403. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_deliver_search_vue_vue_type_style_index_0_id_79dec466_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_deliver_search_vue_vue_type_style_index_0_id_79dec466_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
  404. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_deliver_search_vue_vue_type_style_index_0_id_79dec466_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_deliver_search_vue_vue_type_style_index_0_id_79dec466_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  405. /***/ }),
  406. /***/ 173:
  407. /***/ (function(module, exports, __webpack_require__) {
  408. // Imports
  409. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
  410. var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
  411. // Module
  412. ___CSS_LOADER_EXPORT___.push([module.i, ".deliver-search-container .deliver-box .deliver-recode-box[data-v-79dec466]{padding:10px 20px;background-color:#f2f2f2}.deliver-search-container .deliver-box .deliver-recode-box .recode-img[data-v-79dec466]{position:relative;width:72px;height:72px}.deliver-search-container .deliver-box .deliver-recode-box .recode-img .float-count[data-v-79dec466]{position:absolute;bottom:0;height:20px;width:100%;background-color:rgba(0,0,0,.5);color:#fff;font-size:12px}.deliver-search-container .deliver-box .deliver-recode-box .recode-info-container[data-v-79dec466]{flex:1}.deliver-search-container .deliver-box .deliver-recode-box .recode-info-container .recode-label[data-v-79dec466]{width:70px}.deliver-search-container .deliver-box .deliver-recode-box .recode-info-container .copy-btn[data-v-79dec466]{height:20px;min-width:42px;border:1px solid #ff2c3c;font-size:12px;margin-left:8px;border-radius:60px;cursor:pointer}.deliver-search-container .deliver-box .deliver-recode-box .recode-info-container .copy-btn[data-v-79dec466]:hover{background-color:#fff}.deliver-search-container .deliver-box .deliver-flow-box[data-v-79dec466]{padding-left:15px}.deliver-search-container .deliver-box .time-line-title[data-v-79dec466]{font-weight:500px;font-size:16px;margin-bottom:10px}", ""]);
  413. // Exports
  414. module.exports = ___CSS_LOADER_EXPORT___;
  415. /***/ }),
  416. /***/ 175:
  417. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  418. "use strict";
  419. // ESM COMPAT FLAG
  420. __webpack_require__.r(__webpack_exports__);
  421. // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/deliver-search.vue?vue&type=template&id=79dec466&scoped=true&
  422. var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"deliver-search-container"},[_c('el-dialog',{attrs:{"visible":_vm.showDialog,"top":"30vh","width":"900px","title":"物流查询"},on:{"update:visible":function($event){_vm.showDialog=$event}}},[_c('div',{staticClass:"deliver-box"},[_c('div',{staticClass:"deliver-recode-box flex"},[_c('div',{staticClass:"recode-img"},[_c('el-image',{staticStyle:{"width":"100%","height":"100%"},attrs:{"fit":"cover","src":_vm.deliverOrder.image}}),_vm._v(" "),_c('div',{staticClass:"float-count flex row-center"},[_vm._v("共"+_vm._s(_vm.deliverOrder.count)+"件商品")])],1),_vm._v(" "),_c('div',{staticClass:"recode-info-container m-l-10"},[_c('div',{staticClass:"flex"},[_c('div',{staticClass:"recode-label"},[_vm._v("物流状态:")]),_vm._v(" "),_c('div',{staticClass:"primary lg",staticStyle:{"font-weight":"500"}},[_vm._v(_vm._s(_vm.deliverOrder.tips))])]),_vm._v(" "),_c('div',{staticClass:"flex",staticStyle:{"margin":"6px 0"}},[_c('div',{staticClass:"recode-label"},[_vm._v("快递公司:")]),_vm._v(" "),_c('div',[_vm._v(_vm._s(_vm.deliverOrder.shipping_name))])]),_vm._v(" "),_c('div',{staticClass:"flex"},[_c('div',{staticClass:"recode-label"},[_vm._v("快递单号:")]),_vm._v(" "),_c('div',[_vm._v(_vm._s(_vm.deliverOrder.invoice_no))]),_vm._v(" "),_c('div',{staticClass:"copy-btn primary flex row-center",on:{"click":_vm.onCopy}},[_vm._v("复制")])])])]),_vm._v(" "),_c('div',{staticClass:"deliver-flow-box m-t-16"},[_c('el-timeline',[(_vm.deliverFinish.tips)?_c('el-timeline-item',[_c('div',[_c('div',{staticClass:"flex lg"},[_c('div',{staticClass:"m-r-8",staticStyle:{"font-weight":"500"}},[_vm._v("\n "+_vm._s(_vm.deliverTake.contacts)+"\n ")]),_vm._v(" "),_c('div',{staticStyle:{"font-weight":"500"}},[_vm._v(_vm._s(_vm.deliverTake.mobile))])]),_vm._v(" "),_c('div',{staticClass:"lighter m-t-8"},[_vm._v(_vm._s(_vm.deliverTake.address))])])]):_vm._e(),_vm._v(" "),(_vm.deliverFinish.tips)?_c('el-timeline-item',{attrs:{"timestamp":_vm.deliverFinish.time}},[_c('div',{staticClass:"time-line-title"},[_vm._v(_vm._s(_vm.deliverFinish.title))]),_vm._v(" "),_c('div',[_vm._v(_vm._s(_vm.deliverFinish.tips))])]):_vm._e(),_vm._v(" "),(_vm.delivery.traces && _vm.delivery.traces.length)?_c('el-timeline-item',{attrs:{"timestamp":_vm.delivery.time}},[_c('div',{staticClass:"time-line-title m-b-8"},[_vm._v(_vm._s(_vm.delivery.title))]),_vm._v(" "),_vm._l((_vm.delivery.traces),function(item,index){return _c('el-timeline-item',{key:index,attrs:{"timestamp":item[0]}},[_c('div',{staticClass:"muted"},[_vm._v(_vm._s(item[1]))])])})],2):_vm._e(),_vm._v(" "),(_vm.deliverShipment.tips)?_c('el-timeline-item',{attrs:{"timestamp":_vm.deliverShipment.time}},[_c('div',{staticClass:"time-line-title"},[_vm._v(_vm._s(_vm.deliverShipment.title))]),_vm._v(" "),_c('div',[_vm._v(_vm._s(_vm.deliverShipment.tips))])]):_vm._e(),_vm._v(" "),(_vm.deliverBuy.tips)?_c('el-timeline-item',{attrs:{"timestamp":_vm.deliverBuy.time}},[_c('div',{staticClass:"time-line-title"},[_vm._v(_vm._s(_vm.deliverBuy.title))]),_vm._v(" "),_c('div',[_vm._v(_vm._s(_vm.deliverBuy.tips))])]):_vm._e()],1)],1)])])],1)}
  423. var staticRenderFns = []
  424. // CONCATENATED MODULE: ./components/deliver-search.vue?vue&type=template&id=79dec466&scoped=true&
  425. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/deliver-search.vue?vue&type=script&lang=js&
  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. /* harmony default export */ var deliver_searchvue_type_script_lang_js_ = ({
  513. props: {
  514. value: {
  515. type: Boolean,
  516. default: false
  517. },
  518. aid: {
  519. type: Number | String
  520. }
  521. },
  522. data() {
  523. return {
  524. showDialog: false,
  525. deliverBuy: {},
  526. delivery: {},
  527. deliverFinish: {},
  528. deliverOrder: {},
  529. deliverShipment: {},
  530. deliverTake: {},
  531. timeLineArray: []
  532. };
  533. },
  534. watch: {
  535. value(val) {
  536. console.log(val, 'val');
  537. this.showDialog = val;
  538. },
  539. showDialog(val) {
  540. if (val) {
  541. if (this.aid) {
  542. this.timeLineArray = [];
  543. this.getDeliverTraces();
  544. }
  545. }
  546. this.$emit("input", val);
  547. }
  548. },
  549. methods: {
  550. async getDeliverTraces() {
  551. let data = {
  552. id: this.aid
  553. };
  554. let res = await this.$get("order/orderTraces", {
  555. params: data
  556. });
  557. if (res.code == 1) {
  558. let {
  559. buy,
  560. delivery,
  561. finish,
  562. order,
  563. shipment,
  564. take
  565. } = res.data;
  566. this.deliverBuy = buy;
  567. this.delivery = delivery;
  568. this.deliverFinish = finish;
  569. this.deliverOrder = order;
  570. this.deliverShipment = shipment;
  571. this.deliverTake = take;
  572. this.timeLineArray.push(this.deliverFinish);
  573. this.timeLineArray.push(this.delivery);
  574. this.timeLineArray.push(this.deliverShipment);
  575. this.timeLineArray.push(this.deliverBuy);
  576. console.log(this.timeLineArray);
  577. }
  578. },
  579. onCopy() {
  580. // this.deliverOrder.invoice_no;
  581. let oInput = document.createElement('input');
  582. oInput.value = this.deliverOrder.invoice_no;
  583. document.body.appendChild(oInput);
  584. oInput.select();
  585. document.execCommand("Copy");
  586. this.$message.success("复制成功");
  587. oInput.remove();
  588. }
  589. }
  590. });
  591. // CONCATENATED MODULE: ./components/deliver-search.vue?vue&type=script&lang=js&
  592. /* harmony default export */ var components_deliver_searchvue_type_script_lang_js_ = (deliver_searchvue_type_script_lang_js_);
  593. // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
  594. var componentNormalizer = __webpack_require__(1);
  595. // CONCATENATED MODULE: ./components/deliver-search.vue
  596. function injectStyles (context) {
  597. var style0 = __webpack_require__(172)
  598. if (style0.__inject__) style0.__inject__(context)
  599. }
  600. /* normalize component */
  601. var component = Object(componentNormalizer["a" /* default */])(
  602. components_deliver_searchvue_type_script_lang_js_,
  603. render,
  604. staticRenderFns,
  605. false,
  606. injectStyles,
  607. "79dec466",
  608. "0d71d492"
  609. )
  610. /* harmony default export */ var deliver_search = __webpack_exports__["default"] = (component.exports);
  611. /***/ }),
  612. /***/ 244:
  613. /***/ (function(module, exports, __webpack_require__) {
  614. // style-loader: Adds some css to the DOM by adding a <style> tag
  615. // load the styles
  616. var content = __webpack_require__(328);
  617. if(content.__esModule) content = content.default;
  618. if(typeof content === 'string') content = [[module.i, content, '']];
  619. if(content.locals) module.exports = content.locals;
  620. // add CSS to SSR context
  621. var add = __webpack_require__(4).default
  622. module.exports.__inject__ = function (context) {
  623. add("0031dfb8", content, true, context)
  624. };
  625. /***/ }),
  626. /***/ 327:
  627. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  628. "use strict";
  629. __webpack_require__.r(__webpack_exports__);
  630. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_detail_vue_vue_type_style_index_0_id_295bca44_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(244);
  631. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_detail_vue_vue_type_style_index_0_id_295bca44_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_detail_vue_vue_type_style_index_0_id_295bca44_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
  632. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_detail_vue_vue_type_style_index_0_id_295bca44_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_detail_vue_vue_type_style_index_0_id_295bca44_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  633. /***/ }),
  634. /***/ 328:
  635. /***/ (function(module, exports, __webpack_require__) {
  636. // Imports
  637. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
  638. var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
  639. // Module
  640. ___CSS_LOADER_EXPORT___.push([module.i, ".order-detail[data-v-295bca44]{padding:0 16px 20px}.order-detail .detail-hd[data-v-295bca44]{padding:14px 5px;border-bottom:1px solid #e5e5e5}.order-detail .address[data-v-295bca44]{padding:16px 0}.order-detail .address>div[data-v-295bca44]{margin-bottom:10px}.order-detail .address-item[data-v-295bca44]{display:flex}.order-detail .address-item-label[data-v-295bca44]{width:70px;text-align:justify;-moz-text-align-last:justify;text-align-last:justify}.order-detail .detail-con .title[data-v-295bca44]{height:40px;background:#f2f2f2;border:1px solid #e5e5e5;padding:0 20px}.order-detail .detail-con .goods .goods-hd[data-v-295bca44],.order-detail .detail-con .goods .goods-list[data-v-295bca44]{padding:10px 20px;border:1px solid #e5e5e5;border-top:0 solid #e5e5e5}.order-detail .detail-con .goods .goods-hd .goods-item[data-v-295bca44],.order-detail .detail-con .goods .goods-list .goods-item[data-v-295bca44]{padding:10px 0}.order-detail .detail-con .goods .goods-hd .goods-item .goods-name[data-v-295bca44],.order-detail .detail-con .goods .goods-list .goods-item .goods-name[data-v-295bca44]{line-height:1.5}.order-detail .detail-con .goods .info .goods-img[data-v-295bca44]{width:72px;height:72px;margin-right:10px}.order-detail .detail-con .goods .num[data-v-295bca44],.order-detail .detail-con .goods .price[data-v-295bca44],.order-detail .detail-con .goods .total[data-v-295bca44]{width:150px}.order-detail .detail-footer[data-v-295bca44]{padding:25px 20px;justify-content:flex-end}.order-detail .detail-footer .money>div[data-v-295bca44]{text-align:right}.order-detail .detail-footer .money>div[data-v-295bca44]:first-of-type{width:80px}.order-detail .detail-footer .money>div[data-v-295bca44]:last-of-type{width:120px;display:flex;justify-content:flex-end}.order-detail .detail-footer .oprate-btn .btn[data-v-295bca44]{width:152px;height:44px;cursor:pointer;border-radius:2px}.order-detail .detail-footer .oprate-btn .btn.plain[data-v-295bca44],.order-detail .qr-container[data-v-295bca44]{border:1px solid hsla(0,0%,89.8%,.89804)}.order-detail .qr-container[data-v-295bca44]{width:120px;height:120px;padding:6px;border-radius:6px}", ""]);
  641. // Exports
  642. module.exports = ___CSS_LOADER_EXPORT___;
  643. /***/ }),
  644. /***/ 368:
  645. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  646. "use strict";
  647. // ESM COMPAT FLAG
  648. __webpack_require__.r(__webpack_exports__);
  649. // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./pages/user/order/detail.vue?vue&type=template&id=295bca44&scoped=true&
  650. var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"order-detail"},[_vm._ssrNode("<div class=\"detail-hd row-between\" data-v-295bca44><div class=\"lg\" data-v-295bca44>订单详情</div> <div"+(_vm._ssrClass(null,[
  651. 'status lg',
  652. { primary: _vm.orderDetail.order_status == 0 } ]))+" data-v-295bca44>"+_vm._ssrEscape("\n "+_vm._s(_vm.orderDetail.order_status_desc)+"\n ")+"</div></div> <div class=\"address\" data-v-295bca44><div class=\"address-item\" data-v-295bca44><div class=\"lighter address-item-label\" data-v-295bca44>收件人:</div> <div data-v-295bca44>"+_vm._ssrEscape(_vm._s(_vm.orderDetail.consignee))+"</div></div> <div class=\"address-item\" data-v-295bca44><div class=\"lighter address-item-label\" data-v-295bca44>联系方式:</div> <div data-v-295bca44>"+_vm._ssrEscape(_vm._s(_vm.orderDetail.mobile))+"</div></div> <div class=\"address-item\" data-v-295bca44><div class=\"lighter address-item-label\" data-v-295bca44>收货地址:</div> <div data-v-295bca44>"+_vm._ssrEscape(_vm._s(_vm.orderDetail.delivery_address))+"</div></div></div> "),_vm._ssrNode("<div class=\"detail-con\" data-v-295bca44>","</div>",[_vm._ssrNode("<div class=\"title flex\" data-v-295bca44>","</div>",[_c('nuxt-link',{staticClass:"flex-1 lighter sm line-1 m-r-20",staticStyle:{"min-width":"0"},attrs:{"to":("/shop_street_detail?id=" + (_vm.orderDetail.shop.id))}},[_vm._v("\n "+_vm._s(_vm.orderDetail.shop.name)+"\n ")]),_vm._ssrNode(" <div class=\"flex-1 lighter sm\" data-v-295bca44>"+_vm._ssrEscape("\n 下单时间:"+_vm._s(_vm.orderDetail.create_time)+"\n ")+"</div> <div class=\"flex-1 lighter sm\" data-v-295bca44>"+_vm._ssrEscape("\n 订单编号:"+_vm._s(_vm.orderDetail.order_sn)+"\n ")+"</div> <div"+(_vm._ssrClass(null,[
  653. 'status sm',
  654. { primary: _vm.orderDetail.order_status == 0 } ]))+" data-v-295bca44>"+_vm._ssrEscape("\n "+_vm._s(_vm.getOrderStatus(_vm.orderDetail.order_status))+"\n ")+"</div>")],2),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"goods\" data-v-295bca44>","</div>",[_vm._ssrNode("<div class=\"goods-hd lighter flex\" data-v-295bca44><div class=\"info flex-1\" data-v-295bca44>商品信息</div> <div class=\"price flex row-center\" data-v-295bca44>单价</div> <div class=\"num flex row-center\" data-v-295bca44>数量</div> <div class=\"total flex row-center\" data-v-295bca44>合计</div></div> "),_vm._ssrNode("<div class=\"goods-list\" data-v-295bca44>","</div>",_vm._l((_vm.orderDetail.order_goods),function(item,index){return _vm._ssrNode("<div class=\"goods-item flex\" data-v-295bca44>","</div>",[_c('nuxt-link',{staticClass:"info flex flex-1",attrs:{"to":("/goods_details/" + (item.goods_id))}},[_c('el-image',{staticClass:"goods-img",attrs:{"src":item.image,"alt":""}}),_vm._v(" "),_c('div',{staticClass:"goods-info flex-1"},[_c('div',{staticClass:"goods-name line-2"},[(item.is_seckill)?_c('el-tag',{attrs:{"size":"mini","effect":"plain"}},[_vm._v("秒杀")]):_vm._e(),_vm._v("\n "+_vm._s(item.goods_name)+"\n ")],1),_vm._v(" "),_c('div',{staticClass:"sm lighter m-t-8"},[_vm._v("\n "+_vm._s(item.spec_value)+"\n ")])])],1),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"price flex row-center\" data-v-295bca44>","</div>",[_c('price-formate',{attrs:{"price":item.goods_price}})],1),_vm._ssrNode(" <div class=\"num flex row-center\" data-v-295bca44>"+_vm._ssrEscape(_vm._s(item.goods_num))+"</div> "),_vm._ssrNode("<div class=\"total flex row-center\" data-v-295bca44>","</div>",[_c('price-formate',{attrs:{"price":item.sum_price}})],1)],2)}),0)],2),_vm._ssrNode(" "+((_vm.orderDetail.user_remark)?("<div class=\"m-t-16\" data-v-295bca44><span class=\"lighter m-r-8\" data-v-295bca44>买家留言:</span> <span data-v-295bca44>"+_vm._ssrEscape(_vm._s(_vm.orderDetail.user_remark))+"</span></div>"):"<!---->"))],2),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"detail-footer flex\" data-v-295bca44>","</div>",[_vm._ssrNode("<div data-v-295bca44>","</div>",[_vm._ssrNode("<div class=\"flex-col\" style=\"align-items: flex-end\" data-v-295bca44>","</div>",[_vm._ssrNode("<div class=\"money flex m-b-8\" data-v-295bca44>","</div>",[_vm._ssrNode("<div class=\"lighter\" data-v-295bca44>商品总价:</div> "),_vm._ssrNode("<div data-v-295bca44>","</div>",[_c('price-formate',{attrs:{"price":_vm.orderDetail.goods_price}})],1)],2),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"money flex m-b-8\" data-v-295bca44>","</div>",[_vm._ssrNode("<div class=\"lighter\" data-v-295bca44>运费:</div> "),_vm._ssrNode("<div data-v-295bca44>","</div>",[_c('price-formate',{attrs:{"price":_vm.orderDetail.shipping_price}})],1)],2),_vm._ssrNode(" "),(_vm.orderDetail.discount_amount != 0)?_vm._ssrNode("<div class=\"money flex m-b-16\" data-v-295bca44>","</div>",[_vm._ssrNode("<div class=\"lighter\" data-v-295bca44>优惠券:</div> "),_vm._ssrNode("<div data-v-295bca44>","</div>",[_vm._ssrNode("\n -\n "),_c('price-formate',{attrs:{"price":_vm.orderDetail.discount_amount}})],2)],2):_vm._e(),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"money flex\" data-v-295bca44>","</div>",[_vm._ssrNode("<div class=\"lighter\" data-v-295bca44>实付金额:</div> "),_vm._ssrNode("<div class=\"primary\" data-v-295bca44>","</div>",[_c('price-formate',{attrs:{"price":_vm.orderDetail.order_amount,"subscript-size":14,"first-size":28,"second-size":28}})],1)],2)],2),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"oprate-btn flex row-right m-t-16\" data-v-295bca44>","</div>",[_vm._ssrNode(((_vm.orderDetail.cancel_btn)?("<div class=\"btn plain flex row-center lighter\" data-v-295bca44>\n 取消订单\n </div>"):"<!---->")+" "+((_vm.orderDetail.delivery_btn)?("<div class=\"btn plain flex row-center m-l-8 lighter\" data-v-295bca44>\n 物流查询\n </div>"):"<!---->")+" "+((_vm.orderDetail.take_btn)?("<div class=\"btn bg-primary flex row-center white m-l-8\" data-v-295bca44>\n 确认收货\n </div>"):"<!---->")+" "+((_vm.orderDetail.del_btn)?("<div class=\"btn plain flex row-center lighter m-l-8\" data-v-295bca44>\n 删除订单\n </div>"):"<!---->")+" "),(_vm.orderDetail.pay_btn)?_c('nuxt-link',{staticClass:"btn bg-primary flex row-center white m-l-8",attrs:{"to":("/payment?id=" + (_vm.orderDetail.id) + "&from=order")}},[_c('span',{staticClass:"mr8"},[_vm._v("去付款")]),_vm._v(" "),(
  655. _vm.getCancelTime(_vm.orderDetail.order_cancel_time) > 0
  656. )?_c('count-down',{attrs:{"time":_vm.getCancelTime(_vm.orderDetail.order_cancel_time),"format":"hh:mm:ss"},on:{"finish":_vm.getOrderDetail}}):_vm._e()],1):_vm._e()],2)],2)]),_vm._ssrNode(" "),_c('deliver-search',{attrs:{"aid":_vm.id},model:{value:(_vm.showDeliverPop),callback:function ($$v) {_vm.showDeliverPop=$$v},expression:"showDeliverPop"}})],2)}
  657. var staticRenderFns = []
  658. // CONCATENATED MODULE: ./pages/user/order/detail.vue?vue&type=template&id=295bca44&scoped=true&
  659. // EXTERNAL MODULE: ./utils/tools.js
  660. var tools = __webpack_require__(145);
  661. // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./pages/user/order/detail.vue?vue&type=script&lang=js&
  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. /* harmony default export */ var detailvue_type_script_lang_js_ = ({
  861. head() {
  862. return {
  863. title: this.$store.getters.headTitle,
  864. link: [{
  865. rel: 'icon',
  866. type: 'image/x-icon',
  867. href: this.$store.getters.favicon
  868. }]
  869. };
  870. },
  871. layout: 'user',
  872. async asyncData({
  873. $get,
  874. query
  875. }) {
  876. const {
  877. data,
  878. code
  879. } = await $get('order/getOrderDetail', {
  880. params: {
  881. id: query.id
  882. }
  883. });
  884. if (code == 1) {
  885. return {
  886. orderDetail: data,
  887. id: query.id
  888. };
  889. }
  890. },
  891. data() {
  892. return {
  893. orderDetail: {},
  894. showDeliverPop: false
  895. };
  896. },
  897. mounted() {
  898. if (this.orderDetail.delivery_type === 2) {
  899. this.creatQrCode(this.orderDetail.pickup_code);
  900. }
  901. },
  902. methods: {
  903. async getOrderDetail() {
  904. const {
  905. data,
  906. code
  907. } = await this.$get('order/getOrderDetail', {
  908. params: {
  909. id: this.id
  910. }
  911. });
  912. if (code == 1) {
  913. this.orderDetail = data;
  914. }
  915. },
  916. handleOrder(type) {
  917. this.type = type;
  918. this.$confirm(this.getTipsText(type), {
  919. title: '温馨提示',
  920. center: true,
  921. confirmButtonText: '确定',
  922. cancelButtonText: '取消',
  923. width: '300px',
  924. callback: action => {
  925. if (action == 'confirm') {
  926. this.postOrder();
  927. }
  928. }
  929. });
  930. },
  931. async postOrder() {
  932. const {
  933. type,
  934. id
  935. } = this;
  936. let url = '';
  937. switch (type) {
  938. case 0:
  939. url = 'order/cancel';
  940. break;
  941. case 1:
  942. url = 'order/del';
  943. break;
  944. case 2:
  945. url = 'order/confirm';
  946. break;
  947. }
  948. let {
  949. code,
  950. data,
  951. msg
  952. } = await this.$post(url, {
  953. id
  954. });
  955. if (code == 1) {
  956. this.$message({
  957. message: msg,
  958. type: 'success'
  959. });
  960. if (type == 1) {
  961. setTimeout(() => {
  962. this.$router.go(-1);
  963. }, 1500);
  964. } else {
  965. this.getOrderDetail();
  966. }
  967. }
  968. },
  969. getTipsText(type) {
  970. switch (type) {
  971. case 0:
  972. return '确认取消订单吗?';
  973. case 1:
  974. return '确认删除订单吗?';
  975. case 2:
  976. return '确认收货吗?';
  977. }
  978. }
  979. },
  980. computed: {
  981. getOrderStatus() {
  982. return status => {
  983. let text = '';
  984. switch (status) {
  985. case 0:
  986. text = '待支付';
  987. break;
  988. case 1:
  989. text = '待发货';
  990. break;
  991. case 2:
  992. text = '待收货';
  993. break;
  994. case 3:
  995. text = '已完成';
  996. break;
  997. case 4:
  998. text = '订单已关闭';
  999. break;
  1000. }
  1001. return text;
  1002. };
  1003. },
  1004. getCancelTime() {
  1005. return time => time - Date.now() / 1000;
  1006. }
  1007. }
  1008. });
  1009. // CONCATENATED MODULE: ./pages/user/order/detail.vue?vue&type=script&lang=js&
  1010. /* harmony default export */ var order_detailvue_type_script_lang_js_ = (detailvue_type_script_lang_js_);
  1011. // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
  1012. var componentNormalizer = __webpack_require__(1);
  1013. // CONCATENATED MODULE: ./pages/user/order/detail.vue
  1014. function injectStyles (context) {
  1015. var style0 = __webpack_require__(327)
  1016. if (style0.__inject__) style0.__inject__(context)
  1017. }
  1018. /* normalize component */
  1019. var component = Object(componentNormalizer["a" /* default */])(
  1020. order_detailvue_type_script_lang_js_,
  1021. render,
  1022. staticRenderFns,
  1023. false,
  1024. injectStyles,
  1025. "295bca44",
  1026. "507dde58"
  1027. )
  1028. /* harmony default export */ var detail = __webpack_exports__["default"] = (component.exports);
  1029. /* nuxt-component-imports */
  1030. installComponents(component, {PriceFormate: __webpack_require__(137).default,CountDown: __webpack_require__(144).default,DeliverSearch: __webpack_require__(175).default})
  1031. /***/ })
  1032. };;
  1033. //# sourceMappingURL=detail.js.map