{"version":3,"sources":["webpack:///./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js","webpack:///./src/views/product/Design.vue?8e5d","webpack:///./node_modules/vant/es/utils/create/bem.js","webpack:///./node_modules/vant/es/utils/index.js","webpack:///./node_modules/vant/es/utils/format/string.js","webpack:///./node_modules/vant/es/mixins/slots.js","webpack:///./node_modules/vant/es/utils/create/component.js","webpack:///./node_modules/vant/es/utils/deep-assign.js","webpack:///./node_modules/vant/es/locale/lang/zh-CN.js","webpack:///./node_modules/vant/es/locale/index.js","webpack:///./node_modules/vant/es/utils/create/i18n.js","webpack:///./node_modules/vant/es/utils/create/index.js","webpack:///./node_modules/vant/es/utils/validate/number.js","webpack:///./node_modules/vant/es/utils/format/unit.js","webpack:///./node_modules/vant/es/utils/validate/system.js","webpack:///./node_modules/vant/es/utils/dom/scroll.js","webpack:///./node_modules/vant/es/utils/dom/reset-scroll.js","webpack:///./node_modules/vant/es/utils/dom/event.js","webpack:///./node_modules/vant/es/utils/format/number.js","webpack:///./node_modules/vant/es/mixins/field.js","webpack:///./node_modules/vant/es/stepper/index.js","webpack:///./src/components/ProductFooter.vue?db6a","webpack:///./src/components/LoanCalculator.vue?a2a7","webpack:///src/components/LoanCalculator.vue","webpack:///./src/components/LoanCalculator.vue?9677","webpack:///./src/components/LoanCalculator.vue","webpack:///src/components/ProductFooter.vue","webpack:///./src/components/ProductFooter.vue?4123","webpack:///./src/components/ProductFooter.vue","webpack:///src/views/product/Design.vue","webpack:///./src/views/product/Design.vue?4626","webpack:///./src/views/product/Design.vue","webpack:///./src/assets/images/custom-color.png","webpack:///./src/components/LoanCalculator.vue?5801","webpack:///./src/components/ProductFooter.vue?6164"],"names":["_extends","Object","assign","a","b","c","arguments","length","d","prototype","hasOwnProperty","call","apply","this","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","reduce","indexOf","Array","e","concat","f","g","h","i","mergeFn","module","exports","_vm","_h","$createElement","_c","_self","ref","staticClass","class","paytype","loan_type","refit","id","attrs","info","isNextStep","directives","name","rawName","value","color","expression","_v","_s","introduction_title","domProps","introduction","sizes","refits","size_name","refit_name","_e","_l","refitItem","p","key","on","$event","selectRefit","tip","is_buy","price_text","sizeItem","s","size","selectSize","price","discount","discount_desc1","materials","colors","material_name","color_name","colorItem","selectColor","getArticle","_m","materialItem","material","selectMaterial","wheels","wheel_name","wheelItem","w","wheel","selectWheel","configs","config_name","configItem","config","selectConfig","model","callback","$$v","number","_n","attr","showFooter","changeFun","article","title","showArticle","content","staticRenderFns","gen","mods","isArray","ret","item","keys","createBEM","el","isServer","$isServer","isDef","val","undefined","isFunction","isObject","get","object","path","split","result","forEach","camelizeRE","camelize","str","replace","_","toUpperCase","SlotsMixin","extend","methods","slots","props","$slots","$scopedSlots","scopedSlot","install","Vue","component","unifySlots","context","scopedSlots","data","transformFunctionComponent","pure","functional","render","createComponent","sfc","mixins","push","assignKey","to","from","deepAssign","tel","save","confirm","cancel","delete","complete","loading","telEmpty","nameEmpty","nameInvalid","confirmDelete","telInvalid","vanCalendar","end","start","startEnd","weekdays","monthTitle","year","month","rangePrompt","maxRange","vanContactCard","addText","vanContactList","vanPagination","prev","next","vanPullRefresh","pulling","loosing","vanSubmitBar","label","vanCoupon","unlimited","_discount","condition","_condition","vanCouponCell","tips","count","_count","vanCouponList","empty","exchange","close","enable","disabled","placeholder","vanAddressEdit","area","postal","areaEmpty","addressEmpty","postalEmpty","defaultAddress","telPlaceholder","namePlaceholder","areaPlaceholder","vanAddressEditDetail","vanAddressList","add","proto","defineReactive","util","messages","$vantMessages","$vantLang","use","lang","_this$add","createI18N","prefix","locale","message","_len","args","_key","createNamespace","isNumeric","test","Number","isNaN","addUnit","String","isIOS","navigator","userAgent","toLowerCase","setScrollTop","scrollTop","scrollTo","scrollX","getRootScrollTop","window","pageYOffset","document","documentElement","body","setRootScrollTop","resetScroll","opts","defineProperty","addEventListener","stopPropagation","event","preventDefault","isStopPropagation","cancelable","trimExtraChar","_char","regExp","index","slice","allowDot","FieldMixin","inject","vanField","default","watch","field","resetValidation","validateWithTrigger","created","children","_createNamespace","bem","LONG_PRESS_START_TIME","LONG_PRESS_INTERVAL","equal","value1","value2","num1","num2","cardinal","Math","pow","round","theme","integer","Boolean","inputWidth","buttonSize","asyncChange","disablePlus","disableMinus","disableInput","decimalLength","type","min","max","Infinity","step","defaultValue","showPlus","showMinus","longPress","format","$emit","currentValue","computed","minusDisabled","plusDisabled","inputStyle","style","width","height","buttonStyle","check","formatNumber","toFixed","onInput","target","formatted","pair","emitChange","onChange","diff","onFocus","$refs","input","blur","onBlur","longPressStep","_this","longPressTimer","setTimeout","onTouchStart","_this2","clearTimeout","isLongPress","onTouchEnd","_this3","createListeners","click","touchstart","touchend","touchcancel","ltype","totalPriceText","firstPayAmountText","deposit","endAmount","bailAmount","bailAmountText","gpsAmount","gpsAmountText","loanAmountText","loanEndAmount","monthAmountText","loanEndAmountText","showCalculator","paytypeText","loantype","lo","product","optionalAmount","show","loan_types","loan","l","optionalAmountText","depositText","depositScaleText","discount_desc","orginalPirceText","defaultLoans","defaultLoanChange","defaultLoan","$set","periods","payRateMinValue","payRateMaxValue","payRateMarks","sliderDragging","_u","fn","active","payRateValue","defaultLoanRateText","additions","is_ev","tax","taxAmountText","bailText","period","rate","payRate","payRateMin","payRateMax","isTax","addition","gps","components","VueSlider","orginalPirce","totalPrice","carPrice","firstPayAmount","amount","loanAmount","monthAmount","floor","$route","taxAmount","parseFloat","defaultloan","defaultitem","curPeriodIndex","defaultAddition","mounted","LoanCalculator","localStorage","localPaytype","localDefaultLoan","showFooterDisplay","action","$root","$on","modalId","that","$dialog","error","$router","code","params","localattr","localrefit","localcolor","localmaterial","localsize","localpaytype","deploy","parameter","thumb","rid","sid","localwheel","localconfig","isShowVr","showInsideVr","ProductHeader","ProductFooter","Stepper","n","getProduct","$scroll","cookie","getAttr","thisattr","image","getColors","getColor","thiscolor","getSizes","thissize","getSize","getMaterials","getMaterial","thismaterial","param","updatePayType","nextDesignSize","prevDesignSize","getWheel","getConfig"],"mappings":"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","file":"h5/js/chunk-04434a3a.b714d2f5.js","sourcesContent":["\"use strict\";function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}var normalMerge=[\"attrs\",\"props\",\"domProps\"],toArrayMerge=[\"class\",\"style\",\"directives\"],functionalMerge=[\"on\",\"nativeOn\"],mergeJsxProps=function(a){return a.reduce(function(c,a){for(var b in a)if(!c[b])c[b]=a[b];else if(-1!==normalMerge.indexOf(b))c[b]=_extends({},c[b],a[b]);else if(-1!==toArrayMerge.indexOf(b)){var d=c[b]instanceof Array?c[b]:[c[b]],e=a[b]instanceof Array?a[b]:[a[b]];c[b]=d.concat(e)}else if(-1!==functionalMerge.indexOf(b)){for(var f in a[b])if(c[b][f]){var g=c[b][f]instanceof Array?c[b][f]:[c[b][f]],h=a[b][f]instanceof Array?a[b][f]:[a[b][f]];c[b][f]=g.concat(h)}else c[b][f]=a[b][f];}else if(\"hook\"==b)for(var i in a[b])c[b][i]=c[b][i]?mergeFn(c[b][i],a[b][i]):a[b][i];else c[b]=a[b];return c},{})},mergeFn=function(a,b){return function(){a&&a.apply(this,arguments),b&&b.apply(this,arguments)}};module.exports=mergeJsxProps;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\",staticClass:\"product-detail product-design\",class:'paytype-' + _vm.paytype + ' loantype-' + _vm.loan_type+' refit-'+_vm.refit.id},[_c('ProductHeader',{attrs:{\"product\":_vm.info,\"isNextStep\":_vm.isNextStep}}),_c('div',{staticClass:\"container-fluid h-100\"},[_c('div',{staticClass:\"row justify-content-center h-100\"},[_c('div',{staticClass:\"col-xl-9 col-lg-8 col-sm-12 h-100 padding left-wrap\"},[_c('div',{staticClass:\"image-box d-flex justify-content-center align-items-center\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(_vm.color.image),expression:\"color.image\"}],staticClass:\"img-fluid\",attrs:{\"alt\":_vm.info.name}})])]),_c('div',{staticClass:\"col-xl-3 col-lg-4 col-sm-12 right-info h-100\"},[_c('h1',{staticClass:\"font-20\"},[_vm._v(_vm._s(_vm.info.name))]),_c('div',{staticClass:\"line w-100 name\"}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isNextStep),expression:\"isNextStep\"}],staticClass:\"introduction-wrap\"},[_c('div',{staticClass:\"title font-14\"},[_vm._v(_vm._s(_vm.refit.introduction_title))]),_c('div',{staticClass:\"content font-14\",domProps:{\"innerHTML\":_vm._s(_vm.refit.introduction)}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isNextStep && _vm.sizes.length > 0) || (!_vm.isNextStep && _vm.info.refits.length > 0)),expression:\"(isNextStep && sizes.length > 0) || (!isNextStep && info.refits.length > 0)\"}],staticClass:\"refits-box\"},[_c('h3',{staticClass:\"font-17\",domProps:{\"textContent\":_vm._s(_vm.isNextStep ? '选择'+_vm.info.size_name[_vm.refit.id]||'' : '选择'+_vm.info.refit_name)}}),_c('ul',{staticClass:\"row\",class:!_vm.isNextStep ? 'refits' : 'sizes'},[(!_vm.isNextStep)?_vm._l((_vm.info.refits),function(refitItem,p){return _c('li',{key:p,staticClass:\"item font-15 w-100 col-6\",class:_vm.refit.id == refitItem.id ? 'active' : '',on:{\"click\":function($event){return _vm.selectRefit(refitItem)}}},[_c('div',{staticClass:\"image acea-row row-center-wrapper d-flex\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(refitItem.thumb),expression:\"refitItem.thumb\"}]})]),_c('p',{staticClass:\"font-15\"},[_vm._v(_vm._s(refitItem.name))]),(refitItem.tip == 2)?_c('p',{staticClass:\"price font-12\"},[_c('b',[_vm._v(\"该车型已售罄\")])]):(refitItem.tip == 3)?_c('p',{staticClass:\"price font-12\"},[_c('b',[_vm._v(\"该车型未上线\")])]):(refitItem.is_buy == 0)?_c('p',{staticClass:\"price font-12\"},[_c('b',[_vm._v(\"é…ç½®å‡çº§ä¸\")])]):_c('p',{staticClass:\"price\"},[_c('b',[_vm._v(_vm._s(refitItem.price_text))])]),(refitItem.tip == 1)?_c('div',{staticClass:\"tip\",class:'tip-' + refitItem.tip},[_c('p',[_vm._v(\"活动\")])]):(refitItem.tip == 2)?_c('div',{staticClass:\"tip\",class:'tip-' + refitItem.tip},[_c('p',[_vm._v(\"售罄\")])]):(refitItem.tip == 3)?_c('div',{staticClass:\"tip\",class:'tip-' + refitItem.tip},[_c('p',[_vm._v(\"未上线\")])]):_vm._e()])}):_vm._e(),(_vm.isNextStep)?_vm._l((_vm.sizes),function(sizeItem,s){return _c('li',{key:s,staticClass:\"item font-15 w-100 col-12\",class:_vm.size.id == sizeItem.id ? 'active' : '',on:{\"click\":function($event){return _vm.selectSize(sizeItem)}}},[_c('div',{staticClass:\"btn font-15 btn-block btn-radius\"},[_vm._v(\" \"+_vm._s(sizeItem.name)+\" \")])])}):_vm._e()],2),(!_vm.isNextStep)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.refit.price > 0),expression:\"refit.price > 0\"}],staticClass:\"refit-price font-14 d-none\"},[_vm._v(\" \"+_vm._s(_vm.refit.name)+\" \"),_c('b',[_vm._v(_vm._s(_vm.refit.price_text))])]):_vm._e(),(_vm.isNextStep)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.size.price > 0),expression:\"size.price > 0\"}],staticClass:\"refit-price font-14 text-center\"},[_c('b',[_vm._v(_vm._s(_vm.size.price_text)+\" \")])]):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isNextStep && _vm.sizes.length > 0) || (!_vm.isNextStep && _vm.info.refits.length > 0)),expression:\"(isNextStep && sizes.length > 0) || (!isNextStep && info.refits.length > 0)\"}],staticClass:\"line w-100 center\"}),(_vm.info.discount > 0 && !_vm.isNextStep)?_c('div',{staticClass:\"discount font-15 text-danger\"},[_vm._v(\"è´è½¦ä¼˜æƒ :\"+_vm._s(_vm.info.discount)+\"元(\"+_vm._s(_vm.info.discount_desc1)+\")\")]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isNextStep && _vm.materials.length > 0) || (!_vm.isNextStep && _vm.colors.length > 0)),expression:\"(isNextStep && materials.length > 0) || (!isNextStep && colors.length > 0)\"}],staticClass:\"refits-box price-box\"},[_c('h3',{staticClass:\"font-17\",domProps:{\"textContent\":_vm._s(_vm.isNextStep ? '选择'+_vm.info.material_name : '选择'+_vm.info.color_name)}}),_c('ul',{staticClass:\"row\",class:!_vm.isNextStep ? 'refits' : 'sizes'},[(!_vm.isNextStep)?[_vm._l((_vm.colors),function(colorItem,c){return _c('li',{key:c,staticClass:\"item font-15 w-100 col-xl-4 col-lg-6 col-sm-4 col-4\",class:_vm.color.id == colorItem.id ? 'active' : '',on:{\"click\":function($event){return _vm.selectColor(colorItem)}}},[_c('div',{staticClass:\"image\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(colorItem.thumb),expression:\"colorItem.thumb\"}]})]),_c('p',{staticClass:\"font-15\"},[_vm._v(_vm._s(colorItem.name))]),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.color.id == colorItem.id && _vm.color.price > 0),expression:\"color.id == colorItem.id && color.price > 0\"}],staticClass:\"price\"},[_c('b',[_vm._v(_vm._s(colorItem.price_text))])])])}),_c('li',{staticClass:\"item font-15 w-100 col-xl-4 col-lg-6 col-sm-4 col-4 d-none\",on:{\"click\":function($event){return _vm.getArticle(10)}}},[_vm._m(0),_c('p',{staticClass:\"font-15\"},[_vm._v(\"定制颜色\")])])]:_vm._e(),(_vm.isNextStep)?_vm._l((_vm.materials),function(materialItem,s){return _c('li',{key:s,staticClass:\"item font-15 w-100 col-12\",class:_vm.material.id == materialItem.id ? 'active' : '',on:{\"click\":function($event){return _vm.selectMaterial(materialItem)}}},[_c('div',{staticClass:\"btn font-15 btn-block btn-radius\"},[_vm._v(\" \"+_vm._s(materialItem.name)+\" \")])])}):_vm._e()],2),(!_vm.isNextStep)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.color.price > 0),expression:\"color.price > 0\"}],staticClass:\"refit-price font-14 d-none\"},[_vm._v(\" \"+_vm._s(_vm.color.name)+\" \"),_c('b',[_vm._v(_vm._s(_vm.color.price_text))])]):_vm._e(),(_vm.isNextStep)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.material.price > 0),expression:\"material.price > 0\"}],staticClass:\"refit-price font-14 text-center\"},[_c('b',[_vm._v(_vm._s(_vm.material.price_text)+\" \")])]):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((!_vm.isNextStep && _vm.info.wheels.length > 0)),expression:\"(!isNextStep && info.wheels.length > 0)\"}],staticClass:\"line w-100 center\"}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((!_vm.isNextStep && _vm.info.wheels.length > 0)),expression:\"(!isNextStep && info.wheels.length > 0)\"}],staticClass:\"refits-box price-box\"},[_c('h3',{staticClass:\"font-17\"},[_vm._v(\"选择\"+_vm._s(_vm.info.wheel_name))]),_c('ul',{staticClass:\"row sizes\"},_vm._l((_vm.info.wheels),function(wheelItem,w){return _c('li',{key:w,staticClass:\"item font-15 w-100 col-12\",class:_vm.wheel.id == wheelItem.id ? 'active' : '',on:{\"click\":function($event){return _vm.selectWheel(wheelItem)}}},[_c('div',{staticClass:\"btn font-15 btn-block btn-radius\"},[_vm._v(\" \"+_vm._s(wheelItem.name)+\" \")])])}),0),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.wheel.price > 0),expression:\"wheel.price > 0\"}],staticClass:\"refit-price font-14 text-center\"},[_c('b',[_vm._v(_vm._s(_vm.wheel.price_text))])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((!_vm.isNextStep && _vm.info.configs.length > 0)),expression:\"(!isNextStep && info.configs.length > 0)\"}],staticClass:\"line w-100 center\"}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((!_vm.isNextStep && _vm.info.configs.length > 0)),expression:\"(!isNextStep && info.configs.length > 0)\"}],staticClass:\"refits-box price-box\"},[_c('h3',{staticClass:\"font-17\"},[_vm._v(\"选择\"+_vm._s(_vm.info.config_name))]),_c('ul',{staticClass:\"row sizes\"},_vm._l((_vm.info.configs),function(configItem,c){return _c('li',{key:c,staticClass:\"item font-15 w-100 col-12\",class:_vm.config.id == configItem.id ? 'active' : '',on:{\"click\":function($event){return _vm.selectConfig(configItem)}}},[_c('div',{staticClass:\"btn font-15 btn-block btn-radius\"},[_vm._v(\" \"+_vm._s(configItem.name)+\" \")])])}),0),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.config.price != 0),expression:\"config.price != 0\"}],staticClass:\"refit-price font-14 text-center\"},[_c('b',[_vm._v(_vm._s(_vm.config.price_text))])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isNextStep && _vm.materials.length > 0) || (!_vm.isNextStep && _vm.colors.length > 0)),expression:\"(isNextStep && materials.length > 0) || (!isNextStep && colors.length > 0)\"}],staticClass:\"line w-100 center\"}),(_vm.isNextStep)?_c('div',{staticClass:\"spinbutton-box\"},[_c('h3',{staticClass:\"font-17\"},[_vm._v(\"选择数é‡\")]),_c('div',{staticClass:\"row\"},[_c('Stepper',{staticClass:\"col-xl-6 col-lg-6 col-12\",attrs:{\"integer\":true,\"min\":\"1\",\"max\":\"100\",\"button-size\":\"36px\",\"theme\":\"hyundai\"},model:{value:(_vm.number),callback:function ($$v) {_vm.number=_vm._n($$v)},expression:\"number\"}})],1)]):_vm._e(),_c('div',{staticClass:\"line design w-100 d-none\"})])])]),_c('ProductFooter',{attrs:{\"product\":_vm.info,\"attr\":_vm.attr,\"refit\":_vm.refit,\"color\":_vm.color,\"size\":_vm.size,\"material\":_vm.material,\"number\":_vm.number,\"isNextStep\":_vm.isNextStep,\"showFooter\":_vm.showFooter,\"wheel\":_vm.wheel,\"config\":_vm.config},on:{\"changeFun\":_vm.changeFun}}),_c('b-modal',{attrs:{\"title\":_vm.article.title,\"hide-footer\":\"\",\"header-bg-variant\":'info',\"header-text-variant\":'light',\"centered\":\"\",\"modal-class\":'common-modal reserve'},model:{value:(_vm.showArticle),callback:function ($$v) {_vm.showArticle=$$v},expression:\"showArticle\"}},[_c('div',{staticClass:\"d-block\"},[_c('div',{staticClass:\"content\",domProps:{\"innerHTML\":_vm._s(_vm.article.content)}})])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image\"},[_c('img',{attrs:{\"src\":require(\"@assets/images/custom-color.png\")}})])}]\n\nexport { render, staticRenderFns }","/**\n * bem helper\n * b() // 'button'\n * b('text') // 'button__text'\n * b({ disabled }) // 'button button--disabled'\n * b('text', { disabled }) // 'button__text button__text--disabled'\n * b(['disabled', 'primary']) // 'button button--disabled button--primary'\n */\nfunction gen(name, mods) {\n if (!mods) {\n return '';\n }\n\n if (typeof mods === 'string') {\n return \" \" + name + \"--\" + mods;\n }\n\n if (Array.isArray(mods)) {\n return mods.reduce(function (ret, item) {\n return ret + gen(name, item);\n }, '');\n }\n\n return Object.keys(mods).reduce(function (ret, key) {\n return ret + (mods[key] ? gen(name, key) : '');\n }, '');\n}\n\nexport function createBEM(name) {\n return function (el, mods) {\n if (el && typeof el !== 'string') {\n mods = el;\n el = '';\n }\n\n el = el ? name + \"__\" + el : name;\n return \"\" + el + gen(el, mods);\n };\n}","import Vue from 'vue';\nexport { createNamespace } from './create';\nexport { addUnit } from './format/unit';\nexport var isServer = Vue.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nexport function noop() {}\nexport function isDef(val) {\n return val !== undefined && val !== null;\n}\nexport function isFunction(val) {\n return typeof val === 'function';\n}\nexport function isObject(val) {\n return val !== null && typeof val === 'object';\n}\nexport function isPromise(val) {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n}\nexport function get(object, path) {\n var keys = path.split('.');\n var result = object;\n keys.forEach(function (key) {\n result = isDef(result[key]) ? result[key] : '';\n });\n return result;\n}","var camelizeRE = /-(\\w)/g;\nexport function camelize(str) {\n return str.replace(camelizeRE, function (_, c) {\n return c.toUpperCase();\n });\n}\nexport function padZero(num, targetLength) {\n if (targetLength === void 0) {\n targetLength = 2;\n }\n\n var str = num + '';\n\n while (str.length < targetLength) {\n str = '0' + str;\n }\n\n return str;\n}","/**\n * Use scopedSlots in Vue 2.6+\n * downgrade to slots in lower version\n */\nimport Vue from 'vue';\nexport var SlotsMixin = Vue.extend({\n methods: {\n slots: function slots(name, props) {\n if (name === void 0) {\n name = 'default';\n }\n\n var $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n var scopedSlot = $scopedSlots[name];\n\n if (scopedSlot) {\n return scopedSlot(props);\n }\n\n return $slots[name];\n }\n }\n});","/**\n * Create a basic component with common options\n */\nimport '../../locale';\nimport { isFunction } from '..';\nimport { camelize } from '../format/string';\nimport { SlotsMixin } from '../../mixins/slots';\nimport Vue from 'vue';\n\nfunction install(Vue) {\n var name = this.name;\n Vue.component(name, this);\n Vue.component(camelize(\"-\" + name), this);\n} // unify slots & scopedSlots\n\n\nexport function unifySlots(context) {\n // use data.scopedSlots in lower Vue version\n var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};\n var slots = context.slots();\n Object.keys(slots).forEach(function (key) {\n if (!scopedSlots[key]) {\n scopedSlots[key] = function () {\n return slots[key];\n };\n }\n });\n return scopedSlots;\n} // should be removed after Vue 3\n\nfunction transformFunctionComponent(pure) {\n return {\n functional: true,\n props: pure.props,\n model: pure.model,\n render: function render(h, context) {\n return pure(h, context.props, unifySlots(context), context);\n }\n };\n}\n\nexport function createComponent(name) {\n return function (sfc) {\n if (isFunction(sfc)) {\n sfc = transformFunctionComponent(sfc);\n }\n\n if (!sfc.functional) {\n sfc.mixins = sfc.mixins || [];\n sfc.mixins.push(SlotsMixin);\n }\n\n sfc.name = name;\n sfc.install = install;\n return sfc;\n };\n}","import { isDef, isObject } from '.';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction assignKey(to, from, key) {\n var val = from[key];\n\n if (!isDef(val)) {\n return;\n }\n\n if (!hasOwnProperty.call(to, key) || !isObject(val)) {\n to[key] = val;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n to[key] = deepAssign(Object(to[key]), from[key]);\n }\n}\n\nexport function deepAssign(to, from) {\n Object.keys(from).forEach(function (key) {\n assignKey(to, from, key);\n });\n return to;\n}","export default {\n name: '姓å',\n tel: '电è¯',\n save: 'ä¿å˜',\n confirm: '确认',\n cancel: 'å–消',\n delete: 'åˆ é™¤',\n complete: '完æˆ',\n loading: 'åŠ è½½ä¸...',\n telEmpty: '请填写电è¯',\n nameEmpty: '请填写姓å',\n nameInvalid: '请输入æ£ç¡®çš„姓å',\n confirmDelete: '确定è¦åˆ 除å—',\n telInvalid: '请输入æ£ç¡®çš„手机å·',\n vanCalendar: {\n end: '结æŸ',\n start: '开始',\n title: '日期选择',\n confirm: '确定',\n startEnd: '开始/结æŸ',\n weekdays: ['æ—¥', '一', '二', '三', 'å››', '五', 'å…'],\n monthTitle: function monthTitle(year, month) {\n return year + \"\\u5E74\" + month + \"\\u6708\";\n },\n rangePrompt: function rangePrompt(maxRange) {\n return \"\\u9009\\u62E9\\u5929\\u6570\\u4E0D\\u80FD\\u8D85\\u8FC7 \" + maxRange + \" \\u5929\";\n }\n },\n vanContactCard: {\n addText: 'æ·»åŠ è”系人'\n },\n vanContactList: {\n addText: '新建è”系人'\n },\n vanPagination: {\n prev: '上一页',\n next: '下一页'\n },\n vanPullRefresh: {\n pulling: '下拉å³å¯åˆ·æ–°...',\n loosing: '释放å³å¯åˆ·æ–°...'\n },\n vanSubmitBar: {\n label: 'åˆè®¡ï¼š'\n },\n vanCoupon: {\n unlimited: 'æ— ä½¿ç”¨é—¨æ§›',\n discount: function discount(_discount) {\n return _discount + \"\\u6298\";\n },\n condition: function condition(_condition) {\n return \"\\u6EE1\" + _condition + \"\\u5143\\u53EF\\u7528\";\n }\n },\n vanCouponCell: {\n title: 'ä¼˜æƒ åˆ¸',\n tips: 'æš‚æ— å¯ç”¨',\n count: function count(_count) {\n return _count + \"\\u5F20\\u53EF\\u7528\";\n }\n },\n vanCouponList: {\n empty: 'æš‚æ— ä¼˜æƒ åˆ¸',\n exchange: 'å…‘æ¢',\n close: 'ä¸ä½¿ç”¨ä¼˜æƒ 券',\n enable: 'å¯ç”¨',\n disabled: 'ä¸å¯ç”¨',\n placeholder: 'è¯·è¾“å…¥ä¼˜æƒ ç '\n },\n vanAddressEdit: {\n area: '地区',\n postal: '邮政编ç ',\n areaEmpty: '请选择地区',\n addressEmpty: '请填写详细地å€',\n postalEmpty: '邮政编ç æ ¼å¼ä¸æ£ç¡®',\n defaultAddress: '设为默认收货地å€',\n telPlaceholder: '收货人手机å·',\n namePlaceholder: '收货人姓å',\n areaPlaceholder: 'é€‰æ‹©çœ / 市 / 区'\n },\n vanAddressEditDetail: {\n label: '详细地å€',\n placeholder: 'è¡—é“门牌ã€æ¥¼å±‚房间å·ç‰ä¿¡æ¯'\n },\n vanAddressList: {\n add: '新增地å€'\n }\n};","import Vue from 'vue';\nimport { deepAssign } from '../utils/deep-assign';\nimport defaultMessages from './lang/zh-CN';\nvar proto = Vue.prototype;\nvar defineReactive = Vue.util.defineReactive;\ndefineReactive(proto, '$vantLang', 'zh-CN');\ndefineReactive(proto, '$vantMessages', {\n 'zh-CN': defaultMessages\n});\nexport default {\n messages: function messages() {\n return proto.$vantMessages[proto.$vantLang];\n },\n use: function use(lang, messages) {\n var _this$add;\n\n proto.$vantLang = lang;\n this.add((_this$add = {}, _this$add[lang] = messages, _this$add));\n },\n add: function add(messages) {\n if (messages === void 0) {\n messages = {};\n }\n\n deepAssign(proto.$vantMessages, messages);\n }\n};","import { get, isFunction } from '..';\nimport { camelize } from '../format/string';\nimport locale from '../../locale';\nexport function createI18N(name) {\n var prefix = camelize(name) + '.';\n return function (path) {\n var messages = locale.messages();\n var message = get(messages, prefix + path) || get(messages, path);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return isFunction(message) ? message.apply(void 0, args) : message;\n };\n}","import { createBEM } from './bem';\nimport { createComponent } from './component';\nimport { createI18N } from './i18n';\nexport function createNamespace(name) {\n name = 'van-' + name;\n return [createComponent(name), createBEM(name), createI18N(name)];\n}","export function isNumeric(val) {\n return /^\\d+(\\.\\d+)?$/.test(val);\n}\nexport function isNaN(val) {\n if (Number.isNaN) {\n return Number.isNaN(val);\n } // eslint-disable-next-line no-self-compare\n\n\n return val !== val;\n}","import { isDef } from '..';\nimport { isNumeric } from '../validate/number';\nexport function addUnit(value) {\n if (!isDef(value)) {\n return undefined;\n }\n\n value = String(value);\n return isNumeric(value) ? value + \"px\" : value;\n}","import { isServer } from '..';\nexport function isAndroid() {\n /* istanbul ignore next */\n return isServer ? false : /android/.test(navigator.userAgent.toLowerCase());\n}\nexport function isIOS() {\n /* istanbul ignore next */\n return isServer ? false : /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());\n}","function isWindow(val) {\n return val === window;\n} // get nearest scroll element\n// http://w3help.org/zh-cn/causes/SD9013\n// http://stackoverflow.com/questions/17016740/onscroll-function-is-not-working-for-chrome\n\n\nvar overflowScrollReg = /scroll|auto/i;\nexport function getScroller(el, root) {\n if (root === void 0) {\n root = window;\n }\n\n var node = el;\n\n while (node && node.tagName !== 'HTML' && node.nodeType === 1 && node !== root) {\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (overflowScrollReg.test(overflowY)) {\n if (node.tagName !== 'BODY') {\n return node;\n } // see: https://github.com/youzan/vant/issues/3823\n\n\n var _window$getComputedSt2 = window.getComputedStyle(node.parentNode),\n htmlOverflowY = _window$getComputedSt2.overflowY;\n\n if (overflowScrollReg.test(htmlOverflowY)) {\n return node;\n }\n }\n\n node = node.parentNode;\n }\n\n return root;\n}\nexport function getScrollTop(el) {\n return 'scrollTop' in el ? el.scrollTop : el.pageYOffset;\n}\nexport function setScrollTop(el, value) {\n if ('scrollTop' in el) {\n el.scrollTop = value;\n } else {\n el.scrollTo(el.scrollX, value);\n }\n}\nexport function getRootScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\nexport function setRootScrollTop(value) {\n setScrollTop(window, value);\n setScrollTop(document.body, value);\n} // get distance from element top to page top or scroller top\n\nexport function getElementTop(el, scroller) {\n if (isWindow(el)) {\n return 0;\n }\n\n var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();\n return el.getBoundingClientRect().top + scrollTop;\n}\nexport function getVisibleHeight(el) {\n if (isWindow(el)) {\n return el.innerHeight;\n }\n\n return el.getBoundingClientRect().height;\n}\nexport function getVisibleTop(el) {\n if (isWindow(el)) {\n return 0;\n }\n\n return el.getBoundingClientRect().top;\n}","/**\n * Hack for iOS12 page scroll\n * https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800\n */\nimport { isIOS as checkIsIOS } from '../validate/system';\nimport { getRootScrollTop, setRootScrollTop } from './scroll';\nvar isIOS = checkIsIOS();\n/* istanbul ignore next */\n\nexport function resetScroll() {\n if (isIOS) {\n setRootScrollTop(getRootScrollTop());\n }\n}","import { isServer } from '..';\n// eslint-disable-next-line import/no-mutable-exports\nexport var supportsPassive = false;\n\nif (!isServer) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n // eslint-disable-next-line getter-return\n get: function get() {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty\n } catch (e) {}\n}\n\nexport function on(target, event, handler, passive) {\n if (passive === void 0) {\n passive = false;\n }\n\n if (!isServer) {\n target.addEventListener(event, handler, supportsPassive ? {\n capture: false,\n passive: passive\n } : false);\n }\n}\nexport function off(target, event, handler) {\n if (!isServer) {\n target.removeEventListener(event, handler);\n }\n}\nexport function stopPropagation(event) {\n event.stopPropagation();\n}\nexport function preventDefault(event, isStopPropagation) {\n /* istanbul ignore else */\n if (typeof event.cancelable !== 'boolean' || event.cancelable) {\n event.preventDefault();\n }\n\n if (isStopPropagation) {\n stopPropagation(event);\n }\n}","export function range(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\n\nfunction trimExtraChar(value, _char, regExp) {\n var index = value.indexOf(_char);\n\n if (index === -1) {\n return value;\n }\n\n if (_char === '-' && index !== 0) {\n return value.slice(0, index);\n }\n\n return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');\n}\n\nexport function formatNumber(value, allowDot) {\n if (allowDot) {\n value = trimExtraChar(value, '.', /\\./g);\n } else {\n value = value.split('.')[0];\n }\n\n value = trimExtraChar(value, '-', /-/g);\n var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;\n return value.replace(regExp, '');\n}","export var FieldMixin = {\n inject: {\n vanField: {\n default: null\n }\n },\n watch: {\n value: function value() {\n var field = this.vanField;\n\n if (field) {\n field.resetValidation();\n field.validateWithTrigger('onChange');\n }\n }\n },\n created: function created() {\n var field = this.vanField;\n\n if (field && !field.children) {\n field.children = this;\n }\n }\n};","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { createNamespace, isDef, addUnit } from '../utils';\nimport { resetScroll } from '../utils/dom/reset-scroll';\nimport { preventDefault } from '../utils/dom/event';\nimport { formatNumber as _formatNumber } from '../utils/format/number';\nimport { isNaN } from '../utils/validate/number';\nimport { FieldMixin } from '../mixins/field';\n\nvar _createNamespace = createNamespace('stepper'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar LONG_PRESS_START_TIME = 600;\nvar LONG_PRESS_INTERVAL = 200;\n\nfunction equal(value1, value2) {\n return String(value1) === String(value2);\n} // add num and avoid float number\n\n\nfunction add(num1, num2) {\n var cardinal = Math.pow(10, 10);\n return Math.round((num1 + num2) * cardinal) / cardinal;\n}\n\nexport default createComponent({\n mixins: [FieldMixin],\n props: {\n value: null,\n theme: String,\n integer: Boolean,\n disabled: Boolean,\n inputWidth: [Number, String],\n buttonSize: [Number, String],\n asyncChange: Boolean,\n disablePlus: Boolean,\n disableMinus: Boolean,\n disableInput: Boolean,\n decimalLength: [Number, String],\n name: {\n type: [Number, String],\n default: ''\n },\n min: {\n type: [Number, String],\n default: 1\n },\n max: {\n type: [Number, String],\n default: Infinity\n },\n step: {\n type: [Number, String],\n default: 1\n },\n defaultValue: {\n type: [Number, String],\n default: 1\n },\n showPlus: {\n type: Boolean,\n default: true\n },\n showMinus: {\n type: Boolean,\n default: true\n },\n longPress: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n var defaultValue = isDef(this.value) ? this.value : this.defaultValue;\n var value = this.format(defaultValue);\n\n if (!equal(value, this.value)) {\n this.$emit('input', value);\n }\n\n return {\n currentValue: value\n };\n },\n computed: {\n minusDisabled: function minusDisabled() {\n return this.disabled || this.disableMinus || this.currentValue <= this.min;\n },\n plusDisabled: function plusDisabled() {\n return this.disabled || this.disablePlus || this.currentValue >= this.max;\n },\n inputStyle: function inputStyle() {\n var style = {};\n\n if (this.inputWidth) {\n style.width = addUnit(this.inputWidth);\n }\n\n if (this.buttonSize) {\n style.height = addUnit(this.buttonSize);\n }\n\n return style;\n },\n buttonStyle: function buttonStyle() {\n if (this.buttonSize) {\n var size = addUnit(this.buttonSize);\n return {\n width: size,\n height: size\n };\n }\n }\n },\n watch: {\n max: 'check',\n min: 'check',\n integer: 'check',\n decimalLength: 'check',\n value: function value(val) {\n if (!equal(val, this.currentValue)) {\n this.currentValue = this.format(val);\n }\n },\n currentValue: function currentValue(val) {\n this.$emit('input', val);\n this.$emit('change', val, {\n name: this.name\n });\n }\n },\n methods: {\n check: function check() {\n var val = this.format(this.currentValue);\n\n if (!equal(val, this.currentValue)) {\n this.currentValue = val;\n }\n },\n // formatNumber illegal characters\n formatNumber: function formatNumber(value) {\n return _formatNumber(String(value), !this.integer);\n },\n format: function format(value) {\n value = this.formatNumber(value); // format range\n\n value = value === '' ? 0 : +value;\n value = isNaN(value) ? this.min : value;\n value = Math.max(Math.min(this.max, value), this.min); // format decimal\n\n if (isDef(this.decimalLength)) {\n value = value.toFixed(this.decimalLength);\n }\n\n return value;\n },\n onInput: function onInput(event) {\n var value = event.target.value;\n var formatted = this.formatNumber(value); // limit max decimal length\n\n if (isDef(this.decimalLength) && formatted.indexOf('.') !== -1) {\n var pair = formatted.split('.');\n formatted = pair[0] + \".\" + pair[1].slice(0, this.decimalLength);\n }\n\n if (!equal(value, formatted)) {\n event.target.value = formatted;\n }\n\n this.emitChange(formatted);\n },\n emitChange: function emitChange(value) {\n if (this.asyncChange) {\n this.$emit('input', value);\n this.$emit('change', value, {\n name: this.name\n });\n } else {\n this.currentValue = value;\n }\n },\n onChange: function onChange() {\n var type = this.type;\n\n if (this[type + \"Disabled\"]) {\n this.$emit('overlimit', type);\n return;\n }\n\n var diff = type === 'minus' ? -this.step : +this.step;\n var value = this.format(add(+this.currentValue, diff));\n this.emitChange(value);\n this.$emit(type);\n },\n onFocus: function onFocus(event) {\n // readonly not work in lagacy mobile safari\n if (this.disableInput && this.$refs.input) {\n this.$refs.input.blur();\n } else {\n this.$emit('focus', event);\n }\n },\n onBlur: function onBlur(event) {\n var value = this.format(event.target.value);\n event.target.value = value;\n this.currentValue = value;\n this.$emit('blur', event);\n resetScroll();\n },\n longPressStep: function longPressStep() {\n var _this = this;\n\n this.longPressTimer = setTimeout(function () {\n _this.onChange();\n\n _this.longPressStep(_this.type);\n }, LONG_PRESS_INTERVAL);\n },\n onTouchStart: function onTouchStart() {\n var _this2 = this;\n\n if (!this.longPress) {\n return;\n }\n\n clearTimeout(this.longPressTimer);\n this.isLongPress = false;\n this.longPressTimer = setTimeout(function () {\n _this2.isLongPress = true;\n\n _this2.onChange();\n\n _this2.longPressStep();\n }, LONG_PRESS_START_TIME);\n },\n onTouchEnd: function onTouchEnd(event) {\n if (!this.longPress) {\n return;\n }\n\n clearTimeout(this.longPressTimer);\n\n if (this.isLongPress) {\n preventDefault(event);\n }\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n\n var createListeners = function createListeners(type) {\n return {\n on: {\n click: function click() {\n _this3.type = type;\n\n _this3.onChange();\n },\n touchstart: function touchstart() {\n _this3.type = type;\n\n _this3.onTouchStart();\n },\n touchend: _this3.onTouchEnd,\n touchcancel: _this3.onTouchEnd\n }\n };\n };\n\n return h(\"div\", {\n \"class\": bem([this.theme])\n }, [h(\"button\", _mergeJSXProps([{\n \"directives\": [{\n name: \"show\",\n value: this.showMinus\n }],\n \"attrs\": {\n \"type\": \"button\"\n },\n \"style\": this.buttonStyle,\n \"class\": bem('minus', {\n disabled: this.minusDisabled\n })\n }, createListeners('minus')])), h(\"input\", {\n \"ref\": \"input\",\n \"attrs\": {\n \"type\": this.integer ? 'tel' : 'text',\n \"role\": \"spinbutton\",\n \"disabled\": this.disabled,\n \"readonly\": this.disableInput,\n \"inputmode\": this.integer ? 'numeric' : 'decimal',\n \"aria-valuemax\": this.max,\n \"aria-valuemin\": this.min,\n \"aria-valuenow\": this.currentValue\n },\n \"class\": bem('input'),\n \"domProps\": {\n \"value\": this.currentValue\n },\n \"style\": this.inputStyle,\n \"on\": {\n \"input\": this.onInput,\n \"focus\": this.onFocus,\n \"blur\": this.onBlur\n }\n }), h(\"button\", _mergeJSXProps2([{\n \"directives\": [{\n name: \"show\",\n value: this.showPlus\n }],\n \"attrs\": {\n \"type\": \"button\"\n },\n \"style\": this.buttonStyle,\n \"class\": bem('plus', {\n disabled: this.plusDisabled\n })\n }, createListeners('plus')]))]);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.refit.id > 0)?_c('div',{staticClass:\"product-footer fixed-bottom\",class:_vm.showFooter ? 'footer-mobile-show' : 'footer-mobile-hide'},[_c('div',{staticClass:\"nav nav-tabs d-sm-none d-md-flex d-none\"},[_vm._l((_vm.configs.loan_types),function(ltype,index){return [_c('li',{key:index,staticClass:\"nav-item\",class:ltype.id == _vm.paytype ? 'active' : '',on:{\"click\":function($event){_vm.paytype = ltype.id}}},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(ltype.name))])])]})],2),_c('div',{staticClass:\"bottom row d-sm-none d-md-flex d-none\"},[_c('div',{staticClass:\"price-box d-flex align-items-center col-sm-12\",class:_vm.paytype == 1\n ? _vm.step == 1\n ? 'col-xl-9 col-lg-9'\n : 'col-xl-8 col-lg-8'\n : _vm.step == 1\n ? 'col-xl-9 col-lg-9'\n : 'col-xl-8 col-lg-8'},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 1),expression:\"paytype == 1\"}],staticClass:\"original-price\"},[_c('p',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.totalPriceText || \"\")+\"å…ƒ\")]),_c('p',{staticClass:\"title\"},[_vm._v(\"预计è´è½¦æ€»ä»·\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 2 || _vm.paytype == 3),expression:\"paytype == 2 || paytype == 3\"}],staticClass:\"original-price loan-price\"},[_c('p',{staticClass:\"price\"},[_vm._v(\" \"+_vm._s(_vm.firstPayAmountText)+\"å…ƒ \"),_c('em',[_vm._v(\"(定金:\"+_vm._s(_vm.deposit || \"\")+\" 首付尾款:\"+_vm._s(_vm.endAmount)+\")\")])]),_c('p',{staticClass:\"title\"},[_vm._v(\" 首付款\"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.bailAmount > 0 && _vm.paytype == 3),expression:\"bailAmount > 0 && paytype == 3\"}]},[_vm._v(\"(å«ä¿è¯é‡‘\"+_vm._s(_vm.bailAmountText)+\" \"),(_vm.gpsAmount > 0)?[_vm._v(\" å«GPS\"+_vm._s(_vm.gpsAmountText))]:_vm._e(),_vm._v(\")\")],2)])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 1),expression:\"paytype == 1\"}],staticClass:\"deposit-price\"},[_c('p',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.deposit || \"\")+\"å…ƒ\")]),_c('p',{staticClass:\"title\"},[_vm._v(\"定金\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 2 || _vm.paytype == 3),expression:\"paytype == 2 || paytype == 3\"}],staticClass:\"deposit-price loan-price month-price\"},[_c('p',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.loanAmountText)+\"å…ƒ\")]),_c('p',{staticClass:\"title\"},[_vm._v(\"贷款总é¢\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 2 || _vm.paytype == 3),expression:\"paytype == 2 || paytype == 3\"}],staticClass:\"deposit-price loan-price\",class:_vm.loanEndAmount > 0 ? 'month-price' : ''},[_c('p',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.monthAmountText)+\"å…ƒ/月\")]),_c('p',{staticClass:\"title\"},[_vm._v(\"月供\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.paytype == 2 || _vm.paytype == 3) && _vm.loanEndAmount > 0),expression:\"(paytype == 2 || paytype == 3) && loanEndAmount > 0\"}],staticClass:\"deposit-price loan-price\"},[_c('p',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.loanEndAmountText)+\"å…ƒ\")]),_c('p',{staticClass:\"title\"},[_vm._v(\"尾款\")])]),_c('div',{staticClass:\"calculator-box d-flex align-items-center\"},[_c('div',{staticClass:\"calculator\"},[_c('a',{staticClass:\"d-flex align-items-center\",attrs:{\"href\":\"javascript:;\"},on:{\"click\":function($event){_vm.showCalculator = true}}},[_c('i'),_vm._v(\"付款计算器\")])])])]),_c('div',{staticClass:\"col-sm-12 d-flex align-items-center btn-box\",class:_vm.step == 1 ? 'col-xl-3 col-lg-3' : 'col-xl-4 col-lg-4'},[(_vm.step == 2)?_c('button',{staticClass:\"btn btn-default btn-block col-4\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.prev}},[_vm._v(\" ä¸Šä¸€æ¥ \")]):_vm._e(),_c('button',{staticClass:\"btn btn-info btn-block\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.next}},[_vm._v(\" ä¸‹ä¸€æ¥ \")])])]),_c('div',{staticClass:\"bottom-sm d-sm-block d-md-none\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-4\"},[_c('b-dropdown',{staticClass:\"dropdown-white font-16\",attrs:{\"text\":_vm.paytypeText,\"variant\":\"white\"}},[_vm._l((_vm.configs.loan_types),function(loantype,lo){return [_c('b-dropdown-item',{key:lo,class:loantype.id == _vm.paytype ? 'active' : '',attrs:{\"href\":\"javascript:;\",\"link-class\":'font-16'},on:{\"click\":function($event){_vm.paytype = loantype.id}}},[_vm._v(_vm._s(loantype.name))])]})],2)],1),_c('div',{staticClass:\"col-8 calculator-box acea-row row-middle row-right\"},[_c('div',{staticClass:\"calculator\"},[_c('a',{staticClass:\"d-flex align-items-center font-16\",attrs:{\"href\":\"javascript:;\"},on:{\"click\":function($event){_vm.showCalculator = true}}},[_c('i'),_vm._v(\"付款计算器\")])])])]),_c('div',{staticClass:\"row font-16\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 1),expression:\"paytype == 1\"}],staticClass:\"col-12 original-price\"},[_c('span',{staticClass:\"title\"},[_vm._v(\"预计è´è½¦æ€»ä»·\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.totalPriceText || \"\")+\"å…ƒ\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 2 || _vm.paytype == 3),expression:\"paytype == 2 || paytype == 3\"}],staticClass:\"col-12 original-price loan-price\"},[_c('div',{staticClass:\"item\"},[_c('span',{staticClass:\"title\"},[_vm._v(\"首付款\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.firstPayAmountText)+\"å…ƒ\"),(_vm.paytype == 3)?_c('em',[_vm._v(\"(å«ä¿è¯é‡‘\"+_vm._s(_vm.bailAmountText)),(_vm.gpsAmount > 0)?[_vm._v(\" å«GPS\"+_vm._s(_vm.gpsAmountText))]:_vm._e(),_vm._v(\")\")],2):_vm._e()])]),_c('em',[_vm._v(\"(定金:\"+_vm._s(_vm.deposit || \"\")+\" 首付尾款:\"+_vm._s(_vm.endAmount)+\")\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 1),expression:\"paytype == 1\"}],staticClass:\"col-12 deposit-price\"},[_c('span',{staticClass:\"title\"},[_vm._v(\"定金\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.deposit || \"\")+\"å…ƒ\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 2 || _vm.paytype == 3),expression:\"paytype == 2 || paytype == 3\"}],staticClass:\"col-12 deposit-price loan-price month-price\"},[_c('span',{staticClass:\"title\"},[_vm._v(\"贷款总é¢\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.loanAmountText)+\"å…ƒ\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 2 || _vm.paytype == 3),expression:\"paytype == 2 || paytype == 3\"}],staticClass:\"col-12 deposit-price loan-price\",class:_vm.loanEndAmount > 0 ? 'month-price' : ''},[_c('span',{staticClass:\"title\"},[_vm._v(\"月供\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.monthAmountText)+\"å…ƒ/月\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.paytype == 2 || _vm.paytype == 3) && _vm.loanEndAmount > 0),expression:\"(paytype == 2 || paytype == 3) && loanEndAmount > 0\"}],staticClass:\"col-12 deposit-price loan-price\"},[_c('span',{staticClass:\"title\"},[_vm._v(\"尾款\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.loanEndAmountText)+\"å…ƒ\")])]),_c('div',{staticClass:\"col-12 d-flex align-items-center btn-box\"},[(_vm.step == 2)?_c('button',{staticClass:\"btn btn-default btn-block btn-radius font-16\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.prev}},[_vm._v(\" ä¸Šä¸€æ¥ \")]):_vm._e(),_c('button',{staticClass:\"btn btn-info btn-block btn-radius font-16\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.next}},[_vm._v(\" ä¸‹ä¸€æ¥ \")])])])]),_c('LoanCalculator',{attrs:{\"show\":_vm.showCalculator,\"product\":_vm.product,\"attr\":_vm.refit,\"color\":_vm.color,\"size\":_vm.size,\"material\":_vm.material,\"wheel\":_vm.wheel,\"config\":_vm.config,\"number\":_vm.number}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"size\":\"xl\",\"hide-footer\":\"\",\"modal-class\":_vm.product.discount > 0 ? (_vm.optionalAmount != 0 ? 'optional calculator discount':'calculator discount') : (_vm.optionalAmount != 0 ?'optional calculator':'calculator'),\"centered\":\"\",\"hide-header\":\"\",\"id\":\"loanCalculator\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('div',{staticClass:\"flex h-100 w-100\"},[_c('div',{staticClass:\"row flex1 margin\"},[_c('div',{staticClass:\"left h-100 d-none d-lg-block d-xl-block col-xl-3 col-lg-2\"},[_c('div',{staticClass:\"logo\"},[_c('img',{attrs:{\"src\":require(\"@assets/images/logo.png\")}})]),_c('div',{staticClass:\"alert-box\"},[_c('i'),_c('p',[_vm._v(\" 计算结果仅供å‚考,最终执行利率和方案以申请人与金èžæœºæž„ç¾è®¢çš„å议为准 \")])])]),_c('div',{staticClass:\"right h-100 col-xl-9 col-lg-10 col-md-12\"},[_c('div',{staticClass:\"alert-box d-block d-sm-block d-md-block d-lg-none\"},[_c('i'),_c('p',[_vm._v(\"计算结果仅供å‚考,最终执行利率和方案以申请人与金èžæœºæž„ç¾è®¢çš„å议为准\")])]),_c('button',{staticClass:\"close\",on:{\"click\":function($event){_vm.show = false}}},[_vm._v(\"×\")]),(_vm.configs.loan_types.length > 0)?_c('b-nav',{attrs:{\"tabs\":\"\",\"justified\":\"\"}},[_vm._l((_vm.configs.loan_types),function(loan,l){return [_c('b-nav-item',{key:l,attrs:{\"active\":loan.id == _vm.paytype ? true : false},on:{\"click\":function($event){_vm.paytype = loan.id}}},[_vm._v(_vm._s(loan.name))])]})],2):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.paytype == 1),expression:\"paytype == 1\"}],staticClass:\"full-amount\"},[_c('ul',[_c('li',{staticClass:\"line-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"官方指导价:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.attr.price_text))])]),(_vm.optionalAmount != 0)?_c('li',{staticClass:\"line-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"选装é…置:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.optionalAmountText))])]):_vm._e(),_c('li',{staticClass:\"line-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"预计车辆总价:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.totalPriceText))])]),_c('li',{staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"è´è½¦è®¢é‡‘:\"+_vm._s(_vm.depositText))]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.deposit))])]),_c('li',{staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"è´è½¦å°¾æ¬¾ï¼š\"+_vm._s(_vm.depositScaleText))]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.endAmount))])]),(_vm.product.discount > 0)?_c('li',{staticClass:\"common-item flex discount\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"çº¿ä¸Šå•†åŸŽä¸Šå¸‚ä¼˜æƒ \")]),_c('span',{staticClass:\"price\"},[_vm._v(\"- Â¥ \"+_vm._s(_vm.product.discount))])]):_vm._e(),(_vm.product.discount > 0)?_c('li',{staticClass:\"common-item flex discount\"},[_c('span',{staticClass:\"flex1 label text-danger\"},[_vm._v(_vm._s(_vm.product.discount_desc))])]):_vm._e()])]),(_vm.paytype == 2)?_c('div',{staticClass:\"loan-wrap\"},[_c('ul',[_c('li',{staticClass:\"line-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"官方指导价:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.attr.price_text))])]),(_vm.optionalAmount != 0)?_c('li',{staticClass:\"line-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"选装é…置:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.optionalAmountText))])]):_vm._e(),_c('li',{staticClass:\"line-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"预计车辆总价:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.orginalPirceText))])])]),_c('form',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-xl-6 col-lg-6 col-md-12\"},[_c('label',[_vm._v(\"金èžäº§å“\")]),_c('div',{staticClass:\"select-box\"},[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"options\":_vm.defaultLoans,\"value-field\":\"id\",\"text-field\":\"name\"},on:{\"change\":_vm.defaultLoanChange},model:{value:(_vm.defaultLoan.id),callback:function ($$v) {_vm.$set(_vm.defaultLoan, \"id\", $$v)},expression:\"defaultLoan.id\"}}),_c('svg',{staticClass:\"select-arrow\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 100 100\"}},[_c('path',{attrs:{\"d\":\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"}})])],1)]),_c('div',{staticClass:\"form-group col-xl-6 col-lg-6 col-md-12\"},[_c('label',[_vm._v(\"还款期é™\")]),_c('div',{staticClass:\"select-box\"},[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"options\":_vm.defaultLoan.periods},model:{value:(_vm.defaultLoan.period),callback:function ($$v) {_vm.$set(_vm.defaultLoan, \"period\", $$v)},expression:\"defaultLoan.period\"}}),_c('svg',{staticClass:\"select-arrow\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 100 100\"}},[_c('path',{attrs:{\"d\":\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"}})])],1)]),_c('div',{staticClass:\"form-group col-xl-6 col-lg-6 col-md-12\"},[_c('label',[_vm._v(\"首付比例\")]),_c('div',{staticClass:\"slider-wrap flex\"},[_c('VueSlider',{ref:'slider' + _vm.paytype,staticClass:\"flex1\",attrs:{\"min\":_vm.payRateMinValue,\"max\":_vm.payRateMaxValue,\"marks\":_vm.payRateMarks,\"contained\":true,\"hide-label\":true,\"height\":6,\"tooltip\":'none'},on:{\"change\":_vm.sliderDragging},scopedSlots:_vm._u([{key:\"step\",fn:function(ref){\nvar label = ref.label;\nvar active = ref.active;\nreturn [_c('div',{class:['custom-step', { active: active }]})]}}],null,false,1947153119),model:{value:(_vm.payRateValue),callback:function ($$v) {_vm.payRateValue=$$v},expression:\"payRateValue\"}}),_c('span',{staticClass:\"slider-value\"},[_vm._v(_vm._s(_vm.payRateValue)+\"%\")])],1)]),_c('div',{staticClass:\"form-group col-xl-6 col-lg-6 col-md-12\"},[_c('label',[_vm._v(\"年化利率\")]),_c('div',{staticClass:\"select-box readonly\"},[_c('input',{staticClass:\"form-control\",attrs:{\"type\":\"text\",\"readonly\":\"\"},domProps:{\"value\":_vm.defaultLoanRateText}})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.defaultLoan.additions.length > 0),expression:\"defaultLoan.additions.length > 0\"}],staticClass:\"form-group col-xl-6 col-lg-6 col-md-12\"},[_c('label',[_vm._v(\"é™„åŠ å“比例\")]),_c('div',{staticClass:\"select-box\"},[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"options\":_vm.defaultLoan.additions},model:{value:(_vm.defaultLoan.addition),callback:function ($$v) {_vm.$set(_vm.defaultLoan, \"addition\", $$v)},expression:\"defaultLoan.addition\"}}),_c('svg',{staticClass:\"select-arrow\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 100 100\"}},[_c('path',{attrs:{\"d\":\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"}})])],1)]),(_vm.product.is_ev == 0 && _vm.defaultLoan.tax == 1)?_c('div',{staticClass:\"form-group col-12 mb-0\"},[_c('b-form-checkbox',{attrs:{\"switch\":\"\"},model:{value:(_vm.defaultLoan.isTax),callback:function ($$v) {_vm.$set(_vm.defaultLoan, \"isTax\", $$v)},expression:\"defaultLoan.isTax\"}},[_vm._v(\"è´ç½®ç¨Ž\")])],1):_vm._e()])]),_c('ul',{staticClass:\"common-item-wrap\"},[_c('li',{staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"首付金é¢ï¼š\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.firstPayAmountText))])]),_c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.defaultLoan.isTax),expression:\"defaultLoan.isTax\"}],staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"è´ç½®ç¨Žï¼š\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.taxAmountText))])]),_c('li',{staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"贷款金é¢ï¼š\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.loanAmountText))])]),_c('li',{staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"月供金é¢ï¼š\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.monthAmountText))])]),_c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loanEndAmount > 0),expression:\"loanEndAmount > 0\"}],staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"尾款金é¢ï¼š\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.loanEndAmountText))])]),(_vm.product.discount > 0)?_c('li',{staticClass:\"common-item flex discount\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"çº¿ä¸Šå•†åŸŽä¸Šå¸‚ä¼˜æƒ \")]),_c('span',{staticClass:\"price\"},[_vm._v(\"- Â¥ \"+_vm._s(_vm.product.discount))])]):_vm._e(),(_vm.product.discount > 0)?_c('li',{staticClass:\"common-item flex discount\"},[_c('span',{staticClass:\"flex1 label text-danger\"},[_vm._v(_vm._s(_vm.product.discount_desc))])]):_vm._e()])]):_vm._e(),(_vm.paytype == 3)?_c('div',{staticClass:\"loan-wrap\"},[_c('ul',[_c('li',{staticClass:\"line-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"官方指导价:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.attr.price_text))])]),(_vm.optionalAmount != 0)?_c('li',{staticClass:\"line-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"选装é…置:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.optionalAmountText))])]):_vm._e(),_c('li',{staticClass:\"line-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"预计车辆总价:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.orginalPirceText))])])]),_c('form',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-xl-6 col-lg-6 col-md-12\"},[_c('label',[_vm._v(\"租èµäº§å“\")]),_c('div',{staticClass:\"select-box\"},[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"options\":_vm.defaultLoans,\"value-field\":\"id\",\"text-field\":\"name\"},on:{\"change\":_vm.defaultLoanChange},model:{value:(_vm.defaultLoan.id),callback:function ($$v) {_vm.$set(_vm.defaultLoan, \"id\", $$v)},expression:\"defaultLoan.id\"}}),_c('svg',{staticClass:\"select-arrow\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 100 100\"}},[_c('path',{attrs:{\"d\":\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"}})])],1)]),_c('div',{staticClass:\"form-group col-xl-6 col-lg-6 col-md-12\"},[_c('label',[_vm._v(\"还款期é™\")]),_c('div',{staticClass:\"select-box\"},[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"options\":_vm.defaultLoan.periods},model:{value:(_vm.defaultLoan.period),callback:function ($$v) {_vm.$set(_vm.defaultLoan, \"period\", $$v)},expression:\"defaultLoan.period\"}}),_c('svg',{staticClass:\"select-arrow\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 100 100\"}},[_c('path',{attrs:{\"d\":\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"}})])],1)]),_c('div',{staticClass:\"form-group col-xl-6 col-lg-6 col-md-12\"},[_c('label',[_vm._v(\"首付比例\")]),_c('div',{staticClass:\"slider-wrap flex\"},[_c('VueSlider',{ref:'slider' + _vm.paytype,staticClass:\"flex1\",attrs:{\"min\":_vm.payRateMinValue,\"max\":_vm.payRateMaxValue,\"marks\":_vm.payRateMarks,\"contained\":true,\"hide-label\":true,\"height\":6,\"tooltip\":'none'},on:{\"change\":_vm.sliderDragging},scopedSlots:_vm._u([{key:\"step\",fn:function(ref){\nvar label = ref.label;\nvar active = ref.active;\nreturn [_c('div',{class:['custom-step', { active: active }]})]}}],null,false,1947153119),model:{value:(_vm.payRateValue),callback:function ($$v) {_vm.payRateValue=$$v},expression:\"payRateValue\"}}),_c('span',{staticClass:\"slider-value\"},[_vm._v(_vm._s(_vm.payRateValue)+\"%\")])],1)]),_c('div',{staticClass:\"form-group col-xl-6 col-lg-6 col-md-12\"},[_c('label',[_vm._v(\"年化利率\")]),_c('div',{staticClass:\"select-box readonly\"},[_c('input',{staticClass:\"form-control\",attrs:{\"type\":\"text\",\"readonly\":\"\"},domProps:{\"value\":_vm.defaultLoanRateText}})])]),(_vm.product.is_ev == 0 && _vm.defaultLoan.tax == 1)?_c('div',{staticClass:\"form-group col-12 mb-0 flex tax-wrap\"},[_c('b-form-checkbox',{staticClass:\"flex1\",attrs:{\"switch\":\"\"},model:{value:(_vm.defaultLoan.isTax),callback:function ($$v) {_vm.$set(_vm.defaultLoan, \"isTax\", $$v)},expression:\"defaultLoan.isTax\"}},[_vm._v(\"è´ç½®ç¨Ž\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.defaultLoan.isTax),expression:\"defaultLoan.isTax\"}],staticClass:\"price\"},[_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.taxAmountText))])])],1):_vm._e()])]),_c('ul',{staticClass:\"common-item-wrap\"},[_c('li',{staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"首付金é¢ï¼ˆå«ä¿è¯é‡‘\"),(_vm.gpsAmount > 0)?[_vm._v(\"ã€GPS\")]:_vm._e(),_vm._v(\"):\")],2),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.firstPayAmountText))])]),_c('li',{staticClass:\"common-item flex child\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"-ä¿è¯é‡‘(\"+_vm._s(_vm.bailText)+\"):\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.bailAmountText))])]),(_vm.gpsAmount > 0)?_c('li',{staticClass:\"common-item flex child\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"-GPS费:\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.gpsAmountText))])]):_vm._e(),_c('li',{staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"贷款金é¢ï¼š\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.loanAmountText))])]),_c('li',{staticClass:\"common-item flex\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"月供金é¢ï¼š\")]),_c('span',{staticClass:\"price\"},[_vm._v(_vm._s(_vm.monthAmountText))])]),(_vm.product.discount > 0)?_c('li',{staticClass:\"common-item flex discount\"},[_c('span',{staticClass:\"flex1 label\"},[_vm._v(\"çº¿ä¸Šå•†åŸŽä¸Šå¸‚ä¼˜æƒ \")]),_c('span',{staticClass:\"price\"},[_vm._v(\"- Â¥ \"+_vm._s(_vm.product.discount))])]):_vm._e(),(_vm.product.discount > 0)?_c('li',{staticClass:\"common-item flex discount\"},[_c('span',{staticClass:\"flex1 label text-danger\"},[_vm._v(_vm._s(_vm.product.discount_desc))])]):_vm._e()])]):_vm._e()],1)])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <b-modal v-model=\"show\" size=\"xl\" hide-footer :modal-class=\"product.discount > 0 ? (optionalAmount != 0 ? 'optional calculator discount':'calculator discount') : (optionalAmount != 0 ?'optional calculator':'calculator')\" centered\r\n hide-header id=\"loanCalculator\">\r\n <div class=\"flex h-100 w-100\">\r\n <div class=\"row flex1 margin\">\r\n <div class=\"left h-100 d-none d-lg-block d-xl-block col-xl-3 col-lg-2\">\r\n <div class=\"logo\"><img src=\"@assets/images/logo.png\" /></div>\r\n <div class=\"alert-box\">\r\n <i></i>\r\n <p>\r\n 计算结果仅供å‚考,最终执行利率和方案以申请人与金èžæœºæž„ç¾è®¢çš„å议为准\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"right h-100 col-xl-9 col-lg-10 col-md-12\">\r\n <div class=\"alert-box d-block d-sm-block d-md-block d-lg-none\">\r\n <i></i>\r\n <p>计算结果仅供å‚考,最终执行利率和方案以申请人与金èžæœºæž„ç¾è®¢çš„å议为准</p>\r\n </div>\r\n <button class=\"close\" @click=\"show = false\">×</button>\r\n <b-nav tabs justified v-if=\"configs.loan_types.length > 0\">\r\n <template v-for=\"(loan, l) in configs.loan_types\">\r\n <b-nav-item\r\n :key=\"l\"\r\n :active=\"loan.id == paytype ? true : false\"\r\n @click=\"paytype = loan.id\"\r\n >{{ loan.name }}</b-nav-item\r\n >\r\n </template>\r\n </b-nav>\r\n <div class=\"full-amount\" v-show=\"paytype == 1\">\r\n <!-- 全款 -->\r\n <ul>\r\n <li class=\"line-item flex\">\r\n <span class=\"flex1 label\">官方指导价:</span>\r\n <span class=\"price\">{{ attr.price_text }}</span>\r\n </li>\r\n <li class=\"line-item flex\" v-if=\"optionalAmount != 0\">\r\n <span class=\"flex1 label\">选装é…置:</span>\r\n <span class=\"price\">{{ optionalAmountText }}</span>\r\n </li>\r\n <li class=\"line-item flex\">\r\n <span class=\"flex1 label\">预计车辆总价:</span>\r\n <span class=\"price\">{{ totalPriceText }}</span>\r\n </li>\r\n <li class=\"common-item flex\">\r\n <span class=\"flex1 label\">è´è½¦è®¢é‡‘:{{ depositText }}</span\r\n ><span class=\"price\">{{ deposit }}</span>\r\n </li>\r\n <li class=\"common-item flex\">\r\n <span class=\"flex1 label\"\r\n >è´è½¦å°¾æ¬¾ï¼š{{ depositScaleText }}</span\r\n ><span class=\"price\">{{ endAmount }}</span>\r\n </li>\r\n <li\r\n class=\"common-item flex discount\"\r\n v-if=\"product.discount > 0\"\r\n >\r\n <span class=\"flex1 label\">çº¿ä¸Šå•†åŸŽä¸Šå¸‚ä¼˜æƒ </span\r\n ><span class=\"price\">- Â¥ {{ product.discount }}</span>\r\n </li>\r\n <li\r\n class=\"common-item flex discount\"\r\n v-if=\"product.discount > 0\"\r\n >\r\n <span class=\"flex1 label text-danger\">{{\r\n product.discount_desc\r\n }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"loan-wrap\" v-if=\"paytype == 2\">\r\n <ul>\r\n <li class=\"line-item flex\">\r\n <span class=\"flex1 label\">官方指导价:</span>\r\n <span class=\"price\">{{ attr.price_text }}</span>\r\n </li>\r\n <li class=\"line-item flex\" v-if=\"optionalAmount != 0\">\r\n <span class=\"flex1 label\">选装é…置:</span>\r\n <span class=\"price\">{{ optionalAmountText }}</span>\r\n </li>\r\n <li class=\"line-item flex\">\r\n <span class=\"flex1 label\">预计车辆总价:</span>\r\n <span class=\"price\">{{ orginalPirceText }}</span>\r\n </li>\r\n </ul>\r\n <form>\r\n <div class=\"row\">\r\n <div class=\"form-group col-xl-6 col-lg-6 col-md-12\">\r\n <label>金èžäº§å“</label>\r\n <div class=\"select-box\">\r\n <b-form-select\r\n class=\"form-control\"\r\n v-model=\"defaultLoan.id\"\r\n :options=\"defaultLoans\"\r\n value-field=\"id\"\r\n text-field=\"name\"\r\n @change=\"defaultLoanChange\"\r\n >\r\n </b-form-select>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 100 100\"\r\n class=\"select-arrow\"\r\n >\r\n <path\r\n d=\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"\r\n ></path>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"form-group col-xl-6 col-lg-6 col-md-12\">\r\n <label>还款期é™</label>\r\n <div class=\"select-box\">\r\n <b-form-select\r\n class=\"form-control\"\r\n v-model=\"defaultLoan.period\"\r\n :options=\"defaultLoan.periods\"\r\n >\r\n </b-form-select>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 100 100\"\r\n class=\"select-arrow\"\r\n >\r\n <path\r\n d=\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"\r\n ></path>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"form-group col-xl-6 col-lg-6 col-md-12\">\r\n <label>首付比例</label>\r\n <div class=\"slider-wrap flex\">\r\n <VueSlider\r\n v-model=\"payRateValue\"\r\n :min=\"payRateMinValue\"\r\n :max=\"payRateMaxValue\"\r\n :marks=\"payRateMarks\"\r\n :contained=\"true\"\r\n :hide-label=\"true\"\r\n @change=\"sliderDragging\"\r\n :ref=\"'slider' + paytype\"\r\n class=\"flex1\"\r\n :height=\"6\"\r\n :tooltip=\"'none'\"\r\n >\r\n <template v-slot:step=\"{ label, active }\">\r\n <div :class=\"['custom-step', { active }]\"></div>\r\n </template>\r\n </VueSlider>\r\n <span class=\"slider-value\">{{ payRateValue }}%</span>\r\n </div>\r\n </div>\r\n <div class=\"form-group col-xl-6 col-lg-6 col-md-12\">\r\n <label>年化利率</label>\r\n <div class=\"select-box readonly\">\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n readonly\r\n :value=\"defaultLoanRateText\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"form-group col-xl-6 col-lg-6 col-md-12\" v-show=\"defaultLoan.additions.length > 0\">\r\n <label>é™„åŠ å“比例</label>\r\n <div class=\"select-box\">\r\n <b-form-select\r\n class=\"form-control\"\r\n v-model=\"defaultLoan.addition\"\r\n :options=\"defaultLoan.additions\"\r\n >\r\n </b-form-select>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 100 100\"\r\n class=\"select-arrow\"\r\n >\r\n <path\r\n d=\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"\r\n ></path>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"form-group col-12 mb-0\" v-if=\"product.is_ev == 0 && defaultLoan.tax == 1\">\r\n <b-form-checkbox switch v-model=\"defaultLoan.isTax\" >è´ç½®ç¨Ž</b-form-checkbox>\r\n </div>\r\n </div>\r\n </form>\r\n <ul class=\"common-item-wrap\">\r\n <li class=\"common-item flex\">\r\n <span class=\"flex1 label\">首付金é¢ï¼š</span\r\n ><span class=\"price\">{{ firstPayAmountText }}</span>\r\n </li>\r\n <li class=\"common-item flex\" v-show=\"defaultLoan.isTax\">\r\n <span class=\"flex1 label\">è´ç½®ç¨Žï¼š</span\r\n ><span class=\"price\">{{ taxAmountText }}</span>\r\n </li>\r\n <li class=\"common-item flex\">\r\n <span class=\"flex1 label\">贷款金é¢ï¼š</span\r\n ><span class=\"price\">{{ loanAmountText }}</span>\r\n </li>\r\n <li class=\"common-item flex\">\r\n <span class=\"flex1 label\">月供金é¢ï¼š</span\r\n ><span class=\"price\">{{ monthAmountText }}</span>\r\n </li>\r\n <li class=\"common-item flex\" v-show=\"loanEndAmount > 0\">\r\n <span class=\"flex1 label\">尾款金é¢ï¼š</span\r\n ><span class=\"price\">{{ loanEndAmountText }}</span>\r\n </li>\r\n <li\r\n class=\"common-item flex discount\"\r\n v-if=\"product.discount > 0\"\r\n >\r\n <span class=\"flex1 label\">çº¿ä¸Šå•†åŸŽä¸Šå¸‚ä¼˜æƒ </span\r\n ><span class=\"price\">- Â¥ {{ product.discount }}</span>\r\n </li>\r\n <li\r\n class=\"common-item flex discount\"\r\n v-if=\"product.discount > 0\"\r\n >\r\n <span class=\"flex1 label text-danger\">{{\r\n product.discount_desc\r\n }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"loan-wrap\" v-if=\"paytype == 3\">\r\n <ul>\r\n <li class=\"line-item flex\">\r\n <span class=\"flex1 label\">官方指导价:</span>\r\n <span class=\"price\">{{ attr.price_text }}</span>\r\n </li>\r\n <li class=\"line-item flex\" v-if=\"optionalAmount != 0\">\r\n <span class=\"flex1 label\">选装é…置:</span>\r\n <span class=\"price\">{{ optionalAmountText }}</span>\r\n </li>\r\n <li class=\"line-item flex\">\r\n <span class=\"flex1 label\">预计车辆总价:</span>\r\n <span class=\"price\">{{ orginalPirceText }}</span>\r\n </li>\r\n </ul>\r\n <form>\r\n <div class=\"row\">\r\n <div class=\"form-group col-xl-6 col-lg-6 col-md-12\">\r\n <label>租èµäº§å“</label>\r\n <div class=\"select-box\">\r\n <b-form-select\r\n class=\"form-control\"\r\n v-model=\"defaultLoan.id\"\r\n :options=\"defaultLoans\"\r\n value-field=\"id\"\r\n text-field=\"name\"\r\n @change=\"defaultLoanChange\"\r\n >\r\n </b-form-select>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 100 100\"\r\n class=\"select-arrow\"\r\n >\r\n <path\r\n d=\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"\r\n ></path>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"form-group col-xl-6 col-lg-6 col-md-12\">\r\n <label>还款期é™</label>\r\n <div class=\"select-box\">\r\n <b-form-select\r\n class=\"form-control\"\r\n v-model=\"defaultLoan.period\"\r\n :options=\"defaultLoan.periods\"\r\n >\r\n </b-form-select>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 100 100\"\r\n class=\"select-arrow\"\r\n >\r\n <path\r\n d=\"M100 5.5c0 1.3-.5 2.6-1.5 3.5L50 57.5 1.5 9c-2-2-2-5.1 0-7.1s5.1-2 7.1 0L50 43.4 91.5 1.9c2-2 5.1-2 7.1 0 .9 1 1.4 2.3 1.4 3.6z\"\r\n ></path>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"form-group col-xl-6 col-lg-6 col-md-12\">\r\n <label>首付比例</label>\r\n <div class=\"slider-wrap flex\">\r\n <VueSlider\r\n v-model=\"payRateValue\"\r\n :min=\"payRateMinValue\"\r\n :max=\"payRateMaxValue\"\r\n :marks=\"payRateMarks\"\r\n :contained=\"true\"\r\n :hide-label=\"true\"\r\n @change=\"sliderDragging\"\r\n :ref=\"'slider' + paytype\"\r\n class=\"flex1\"\r\n :height=\"6\"\r\n :tooltip=\"'none'\"\r\n >\r\n <template v-slot:step=\"{ label, active }\">\r\n <div :class=\"['custom-step', { active }]\"></div>\r\n </template>\r\n </VueSlider>\r\n <span class=\"slider-value\">{{ payRateValue }}%</span>\r\n </div>\r\n </div>\r\n <div class=\"form-group col-xl-6 col-lg-6 col-md-12\">\r\n <label>年化利率</label>\r\n <div class=\"select-box readonly\">\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n readonly\r\n :value=\"defaultLoanRateText\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"form-group col-12 mb-0 flex tax-wrap\" v-if=\"product.is_ev == 0 && defaultLoan.tax == 1\">\r\n <b-form-checkbox switch v-model=\"defaultLoan.isTax\" class=\"flex1\">è´ç½®ç¨Ž</b-form-checkbox>\r\n <div class=\"price\" v-show=\"defaultLoan.isTax\"><span class=\"price\">{{ taxAmountText }}</span></div>\r\n </div>\r\n </div>\r\n </form>\r\n <ul class=\"common-item-wrap\">\r\n <li class=\"common-item flex\">\r\n <span class=\"flex1 label\">首付金é¢ï¼ˆå«ä¿è¯é‡‘<template v-if=\"gpsAmount > 0\">ã€GPS</template>):</span\r\n ><span class=\"price\">{{ firstPayAmountText }}</span>\r\n </li>\r\n <li class=\"common-item flex child\">\r\n <span class=\"flex1 label\">-ä¿è¯é‡‘({{ bailText }}):</span\r\n ><span class=\"price\">{{ bailAmountText }}</span>\r\n </li>\r\n <li class=\"common-item flex child\" v-if=\"gpsAmount > 0\">\r\n <span class=\"flex1 label\">-GPS费:</span\r\n ><span class=\"price\">{{ gpsAmountText }}</span>\r\n </li>\r\n <li class=\"common-item flex\">\r\n <span class=\"flex1 label\">贷款金é¢ï¼š</span\r\n ><span class=\"price\">{{ loanAmountText }}</span>\r\n </li>\r\n <li class=\"common-item flex\">\r\n <span class=\"flex1 label\">月供金é¢ï¼š</span\r\n ><span class=\"price\">{{ monthAmountText }}</span>\r\n </li>\r\n \r\n <li\r\n class=\"common-item flex discount\"\r\n v-if=\"product.discount > 0\"\r\n >\r\n <span class=\"flex1 label\">çº¿ä¸Šå•†åŸŽä¸Šå¸‚ä¼˜æƒ </span\r\n ><span class=\"price\">- Â¥ {{ product.discount }}</span>\r\n </li>\r\n <li\r\n class=\"common-item flex discount\"\r\n v-if=\"product.discount > 0\"\r\n >\r\n <span class=\"flex1 label text-danger\">{{\r\n product.discount_desc\r\n }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </b-modal>\r\n </div>\r\n</template>\r\n<script>\r\nimport { mapGetters } from \"vuex\";\r\nimport VueSlider from \"vue-slider-component\";\r\nimport \"vue-slider-component/theme/default.css\";\r\nimport { mul, format, sub, add, div, pmt } from \"@utils/bc\";\r\nexport default {\r\n name: \"LoanCalculator\",\r\n data() {\r\n return {\r\n paytype: 1,\r\n defaultLoans: {},\r\n defaultLoan: {\r\n id: 0,\r\n loan_type: 0,\r\n period: 0, //期数\r\n periods: [],\r\n rate: 0, //利率\r\n payRate: 0,\r\n payRateMin: 0,\r\n payRateMax: 100,\r\n isTax: false,\r\n addition:0,\r\n additions:[],\r\n gps:0\r\n }\r\n };\r\n },\r\n props: {\r\n show: {\r\n type: Boolean,\r\n default: false\r\n },\r\n product: {\r\n type: Object,\r\n default: () => {}\r\n },\r\n attr: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n color: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n size: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n material: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n wheel: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n config: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n number: {\r\n type: Number,\r\n default: 1\r\n }\r\n },\r\n components: {\r\n VueSlider\r\n },\r\n computed: {\r\n ...mapGetters({\r\n configs: \"configs\"\r\n }),\r\n orginalPirce() {\r\n let defaultAttr = this.attr || { price: 0, price_text: \"\" };\r\n let price = this.product.discount > 0 ? sub(defaultAttr.price, this.product.discount) : defaultAttr.price;\r\n // let refitPrice = this.refit ? this.refit.price : 0;\r\n let colorPrice = this.color ? this.color.price || 0 : 0;\r\n let sizePrice = this.size ? this.size.price || 0 : 0;\r\n let materialPrice = this.material ? this.material.price || 0 : 0;\r\n let wheelPrice = this.wheel ? this.wheel.price || 0 : 0;\r\n let configPrice = this.config ? this.config.price || 0 : 0;\r\n // price = add(price, refitPrice);\r\n price = add(price, colorPrice);\r\n price = add(price, sizePrice);\r\n price = add(price, materialPrice);\r\n price = add(price, wheelPrice);\r\n price = add(price, configPrice);\r\n return price;\r\n },\r\n orginalPirceText(){\r\n let amount = new Number(this.orginalPirce);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n totalPrice() {\r\n let number = this.number || 1,carPrice = this.orginalPirce,addition = this.defaultLoan.addition || 0;\r\n let additionPrice = mul(carPrice, addition);\r\n carPrice = add(carPrice,additionPrice);\r\n carPrice = add(carPrice, this.taxAmount); //è´ç½®ç¨Ž\r\n carPrice = mul(carPrice, number);\r\n return carPrice;\r\n },\r\n totalPriceText() {\r\n let amount = new Number(this.totalPrice);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n deposit() {\r\n let deposit_scale = this.configs.deposit_scale || 0.1,\r\n deposit = this.attr.deposit || 0;\r\n if (deposit > 0) {\r\n return \"Â¥ \" + format(deposit);\r\n } else {\r\n if (this.paytype == 2 || this.paytype == 3) {\r\n return \"Â¥ \" + format(Math.floor(mul(this.firstPayAmount, deposit_scale)));\r\n } else {\r\n return \"Â¥ \" + format(Math.floor(mul(this.totalPrice, deposit_scale)));\r\n }\r\n }\r\n },\r\n depositText() {\r\n let deposit_scale = this.configs.deposit_scale || 0.1,\r\n deposit = this.attr.deposit || 0;\r\n return deposit > 0 ? \"\" : mul(deposit_scale, 100) + \"%\";\r\n },\r\n depositScaleText() {\r\n let deposit_scale = this.configs.deposit_scale || 0.1,\r\n deposit = this.attr.deposit || 0;\r\n return deposit > 0 ? \"\" : sub(100, mul(deposit_scale, 100)) + \"%\";\r\n },\r\n defaultLoanRateText() {\r\n let rate = this.defaultLoan.rate || 0;\r\n return mul(rate, 100) + \"%\";\r\n },\r\n payRateMinValue() {\r\n let min = this.defaultLoan.payRateMin || 0;\r\n return sub(mul(min, 100), 10) < 0\r\n ? mul(min, 100)\r\n : sub(mul(min, 100), 10);\r\n },\r\n payRateMaxValue() {\r\n let max = this.defaultLoan.payRateMax || 0;\r\n return add(mul(max, 100), 10);\r\n },\r\n payRateValue() {\r\n let rate = this.defaultLoan.payRate || 0;\r\n return mul(rate, 100);\r\n },\r\n payRateMarks() {\r\n let min = this.defaultLoan.payRateMin || 0;\r\n let max = this.defaultLoan.payRateMax || 0;\r\n return [mul(min, 100), mul(max, 100)];\r\n },\r\n firstPayAmount() {\r\n //首付金é¢\r\n let rate = this.defaultLoan.payRate || 0;\r\n let amount = Math.round(sub(this.orginalPirce,mul(this.totalPrice, sub(1,rate))));\r\n return amount;\r\n },\r\n firstPayAmountText() {\r\n let amount = this.firstPayAmount;\r\n if (this.paytype == 3) {\r\n amount = add(this.gpsAmount,add(amount, this.bailAmount));\r\n }\r\n amount = new Number(amount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n loanAmount() {\r\n //贷款金é¢\r\n let amount = 0;\r\n let loan_type = this.defaultLoan.loan_type || 1;\r\n let pay_rate = this.defaultLoan.payRate || 0;\r\n let rate = this.defaultLoan.rate || 0;\r\n let period = this.defaultLoan.period || 0;\r\n if (loan_type == 2 || loan_type == 3) {\r\n amount = sub(this.orginalPirce,this.firstPayAmount);//mul(this.totalPrice, sub(1, pay_rate));\r\n let right = Math.pow(add(1, div(rate, 12)), period).toFixed(7);\r\n let rightamount = div(this.loanEndAmount, right);\r\n amount = sub(amount, rightamount);\r\n amount = new Number(amount);\r\n amount = amount.toFixed(2);\r\n } else if (loan_type == 4) {\r\n amount = sub(this.orginalPirce,this.firstPayAmount);//mul(this.totalPrice, sub(1, pay_rate));\r\n } else {\r\n amount = sub(this.orginalPirce,this.firstPayAmount);//mul(this.totalPrice, sub(1, pay_rate));\r\n }\r\n return amount;\r\n },\r\n loanAmountText() {\r\n //贷款金é¢æ ¼å¼åŒ–\r\n let amount = new Number(this.loanAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n monthAmount() {\r\n //月供金é¢\r\n let rate = this.defaultLoan.rate || 0;\r\n let loan_type = this.defaultLoan.loan_type || 1;\r\n let amount = 0;\r\n if (loan_type == 2 || loan_type == 3) {\r\n amount = pmt(\r\n div(rate, 12),\r\n sub(this.defaultLoan.period, 1),\r\n this.loanAmount\r\n );\r\n } else if (loan_type == 4) {\r\n let pv1 = add(this.loanAmount, div(mul(this.loanAmount, rate), 12));\r\n let pv2 = add(mul(pv1, div(rate, 12)), pv1);\r\n let pv3 = mul(pv2, div(rate, 12));\r\n let pv4 = add(pv3, pv2);\r\n amount = pmt(div(rate, 12), sub(this.defaultLoan.period, 3), pv4);\r\n } else {\r\n amount = pmt(div(rate, 12), this.defaultLoan.period, this.loanAmount);\r\n }\r\n\r\n amount = Math.floor(mul(amount, -1));\r\n return amount;\r\n },\r\n monthAmountText() {\r\n let amount = new Number(this.monthAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n endAmount() {\r\n //首付尾款\r\n let deposit_scale = this.configs.deposit_scale || 0.1,\r\n productDeposit = this.attr.deposit || 0;\r\n if (this.paytype == 2) {\r\n let deposit =\r\n productDeposit > 0\r\n ? productDeposit\r\n : mul(this.firstPayAmount, deposit_scale);\r\n let amount = new Number(sub(this.firstPayAmount, deposit));\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n } else if (this.paytype == 3) {\r\n let deposit =\r\n productDeposit > 0\r\n ? productDeposit\r\n : mul(this.firstPayAmount, deposit_scale);\r\n let endPrice = sub(this.firstPayAmount, deposit);\r\n let bailAmount = this.bailAmount || 0;\r\n let gpsAmount = this.gpsAmount || 0;\r\n let amount = new Number(add(gpsAmount,add(endPrice, bailAmount)));\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n } else {\r\n let deposit =\r\n productDeposit > 0\r\n ? productDeposit\r\n : mul(this.totalPrice, deposit_scale);\r\n let amount = new Number(sub(this.totalPrice, deposit));\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n }\r\n },\r\n bailText() {\r\n //ä¿è¯é‡‘æ ¼å¼åŒ–\r\n let bail_scale = this.configs.bail_scale || 0.05;\r\n return mul(bail_scale, 100) + \"%\";\r\n },\r\n bailAmount() {\r\n let bail_scale = this.configs.bail_scale || 0.05;\r\n return mul(this.totalPrice, bail_scale);\r\n },\r\n bailAmountText() {\r\n let amount = new Number(this.bailAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n paytypeText() {\r\n let name;\r\n this.configs.loan_types.forEach(loan => {\r\n if (loan.id == this.paytype) {\r\n name = loan.name;\r\n }\r\n });\r\n return name;\r\n },\r\n step() {\r\n let step = 1;\r\n if (this.$route.path.indexOf(\"design\") >= 0) {\r\n step = 2;\r\n } else if (this.$route.path.indexOf(\"order\") >= 0) {\r\n step = 3;\r\n }\r\n return step;\r\n },\r\n loanEndAmount() {\r\n //贷款尾款\r\n let amount = 0,\r\n loan_type = this.defaultLoan.loan_type || 1,\r\n rate = 0;\r\n if (loan_type == 2) {\r\n rate = 0.3;\r\n } else if (loan_type == 3) {\r\n rate = 0.2;\r\n }\r\n amount = mul(this.totalPrice, rate);\r\n return amount;\r\n },\r\n loanEndAmountText() {\r\n let amount = new Number(this.loanEndAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n taxAmount() {\r\n let amount = 0, isTax = this.defaultLoan.isTax || false;\r\n if (!isTax) {\r\n return amount;\r\n }\r\n amount = mul(this.orginalPirce, 0.1);\r\n amount = div(amount, 1.13);\r\n return parseFloat(amount);\r\n },\r\n taxAmountText() {\r\n let amount = new Number(this.taxAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n optionalAmount(){\r\n let price = 0;\r\n let colorPrice = this.color ? this.color.price || 0 : 0;\r\n let sizePrice = this.size ? this.size.price || 0 : 0;\r\n let materialPrice = this.material ? this.material.price || 0 : 0;\r\n let wheelPrice = this.wheel ? this.wheel.price || 0 : 0;\r\n let configPrice = this.config ? this.config.price || 0 : 0;\r\n price = add(price, colorPrice);\r\n price = add(price, sizePrice);\r\n price = add(price, materialPrice);\r\n price = add(price, wheelPrice);\r\n price = add(price, configPrice);\r\n return price;\r\n },\r\n optionalAmountText(){\r\n let amount = new Number(this.optionalAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n gpsAmount(){\r\n let amount = this.defaultLoan.gps || 0;\r\n return new Number(amount);\r\n },\r\n gpsAmountText(){\r\n let amount = typeof this.gpsAmount == 'string' ? new Number(this.gpsAmount) : this.gpsAmount;\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n }\r\n },\r\n watch: {\r\n product: function() {\r\n this.defaultLoans = this.product[\"loans\"][this.paytype] || [];\r\n let defaultloan = this.defaultLoans[0] || {};\r\n if (defaultloan.id) {\r\n this.$set(this.defaultLoan, \"id\", defaultloan.id);\r\n this.$set(this.defaultLoan, \"loan_type\", defaultloan.loan_type);\r\n this.$set(this.defaultLoan, \"tax\", defaultloan.tax || 0);\r\n this.$set(this.defaultLoan, \"gps\", defaultloan.gps || 0);\r\n }else{\r\n this.defaultloan = {\r\n id: 0,\r\n loan_type: 0,\r\n period: 0, //期数\r\n periods: [],\r\n rate: 0, //利率\r\n payRate: 0,\r\n payRateMin: 0,\r\n payRateMax: 100,\r\n // isTax: false,\r\n addition:0,\r\n additions:[],\r\n tax:0,\r\n gps:0\r\n }\r\n }\r\n \r\n },\r\n paytype: function() {\r\n this.defaultLoans = this.product[\"loans\"][this.paytype] || [];\r\n if (this.defaultLoans.length > 0) {\r\n const defaultitem = this.defaultLoans[0] || {};\r\n const curPeriodIndex = defaultitem[\"periods\"].indexOf(\"36\") > -1 ? defaultitem[\"periods\"].indexOf(\"36\") : 0;\r\n \r\n this.$set(this.defaultLoan, \"id\", defaultitem.id);\r\n this.$set(this.defaultLoan, \"period\", defaultitem[\"periods\"][curPeriodIndex]?defaultitem[\"periods\"][curPeriodIndex]:defaultitem[\"periods\"][0]);\r\n this.$set(this.defaultLoan, \"periods\", defaultitem[\"periods\"]);\r\n this.$set(this.defaultLoan, \"rate\", defaultitem.rate);\r\n this.$set(this.defaultLoan, \"payRateMin\", defaultitem[\"pay_rate\"][0] || 0);\r\n this.$set(this.defaultLoan, \"payRateMax\", defaultitem[\"pay_rate\"][1] || 0);\r\n this.$set(this.defaultLoan, \"payRate\", defaultitem[\"pay_rate\"][0] || 0);\r\n this.$set(this.defaultLoan, \"loan_type\", defaultitem.loan_type);\r\n this.$set(this.defaultLoan, \"tax\", defaultitem.tax);\r\n if (this.product.is_ev == 0) {\r\n this.$set(this.defaultLoan, \"isTax\", this.paytype == 1 ? false: (defaultitem.tax == 1 ? true:false));\r\n }\r\n this.$set(this.defaultLoan, \"additions\", defaultitem[\"additions\"]);\r\n let defaultAddition = defaultitem[\"additions\"].length > 0 ? 0.25 : 0;//defaultitem[\"additions\"][0].id || \r\n this.$set(this.defaultLoan, \"addition\", defaultAddition);\r\n this.$set(this.defaultLoan, \"gps\", defaultitem.gps);\r\n }else{\r\n this.$set(this.defaultLoan, \"addition\", 0);\r\n this.$set(this.defaultLoan, \"period\", 0);\r\n this.$set(this.defaultLoan, \"tax\", 0);\r\n if (this.product.is_ev == 0) {\r\n this.$set(this.defaultLoan, \"isTax\", this.paytype == 1 ? false: (this.defaultLoan.tax == 1 ? true:false));\r\n }\r\n this.$set(this.defaultLoan, \"gps\", 0);\r\n }\r\n }\r\n },\r\n mounted() {\r\n\r\n },\r\n methods: {\r\n sliderDragging(value) {\r\n let min = this.defaultLoan.payRateMin || 0;\r\n let max = this.defaultLoan.payRateMax || 0;\r\n min = mul(min, 100);\r\n max = mul(max, 100);\r\n if (value < min) {\r\n this.$set(this.defaultLoan, \"payRate\", this.defaultLoan.payRateMin);\r\n this.$refs[`slider${this.paytype}`].setValue(this.payRateValue);\r\n } else if (value > max) {\r\n this.$set(this.defaultLoan, \"payRate\", this.defaultLoan.payRateMax);\r\n this.$refs[`slider${this.paytype}`].setValue(this.payRateValue);\r\n } else {\r\n this.$set(this.defaultLoan, \"payRate\", div(value, 100));\r\n }\r\n },\r\n defaultLoanChange(){\r\n if (this.defaultLoans.length > 0) {\r\n this.defaultLoans.forEach(item => {\r\n if (item.id == this.defaultLoan.id) {\r\n const curPeriodIndex = item[\"periods\"].indexOf(\"36\") > -1 ? item[\"periods\"].indexOf(\"36\") : 0;\r\n this.$set(this.defaultLoan, \"period\", item[\"periods\"][curPeriodIndex]?item[\"periods\"][curPeriodIndex]:item[\"periods\"][0]);\r\n this.$set(this.defaultLoan, \"periods\", item[\"periods\"]);\r\n this.$set(this.defaultLoan, \"rate\", item.rate);\r\n this.$set(this.defaultLoan, \"payRateMin\", item[\"pay_rate\"][0] || 0);\r\n this.$set(this.defaultLoan, \"payRateMax\", item[\"pay_rate\"][1] || 0);\r\n this.$set(this.defaultLoan, \"payRate\", item[\"pay_rate\"][0] || 0);\r\n this.$set(this.defaultLoan, \"loan_type\", item.loan_type);\r\n this.$set(this.defaultLoan, \"additions\", item[\"additions\"]);\r\n let defaultAddition = item[\"additions\"].length > 0 ? 0.25 : 0;//item[\"additions\"][0].id || 0\r\n this.$set(this.defaultLoan, \"addition\", defaultAddition);\r\n this.$set(this.defaultLoan, \"gps\", item.gps);\r\n }\r\n });\r\n }else{\r\n this.$set(this.defaultLoan, \"addition\", 0);\r\n this.$set(this.defaultLoan, \"period\", 0);\r\n this.$set(this.defaultLoan, \"gps\", 0);\r\n }\r\n }\r\n }\r\n};\r\n</script>\r\n<style scoped>\r\n.custom-step {\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 50%;\r\n box-shadow: 0 0 0 3px #ccc;\r\n background-color: #fff;\r\n}\r\n.custom-step.active {\r\n box-shadow: 0 0 0 3px #35719d;\r\n background-color: #35719d;\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoanCalculator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoanCalculator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoanCalculator.vue?vue&type=template&id=93620ab2&scoped=true&\"\nimport script from \"./LoanCalculator.vue?vue&type=script&lang=js&\"\nexport * from \"./LoanCalculator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoanCalculator.vue?vue&type=style&index=0&id=93620ab2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"93620ab2\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"product-footer fixed-bottom\" :class=\"showFooter ? 'footer-mobile-show' : 'footer-mobile-hide'\" v-if=\"refit.id > 0\">\r\n <div class=\"nav nav-tabs d-sm-none d-md-flex d-none\">\r\n <template v-for=\"(ltype, index) in configs.loan_types\">\r\n <li\r\n class=\"nav-item\"\r\n :key=\"index\"\r\n :class=\"ltype.id == paytype ? 'active' : ''\"\r\n @click=\"paytype = ltype.id\"\r\n >\r\n <a class=\"nav-link\" href=\"#\">{{ ltype.name }}</a>\r\n </li>\r\n </template>\r\n </div>\r\n <div class=\"bottom row d-sm-none d-md-flex d-none\">\r\n <div\r\n class=\"price-box d-flex align-items-center col-sm-12\"\r\n :class=\"\r\n paytype == 1\r\n ? step == 1\r\n ? 'col-xl-9 col-lg-9'\r\n : 'col-xl-8 col-lg-8'\r\n : step == 1\r\n ? 'col-xl-9 col-lg-9'\r\n : 'col-xl-8 col-lg-8'\r\n \"\r\n >\r\n <div class=\"original-price\" v-show=\"paytype == 1\">\r\n <p class=\"price\">{{ totalPriceText || \"\" }}å…ƒ</p>\r\n <p class=\"title\">预计è´è½¦æ€»ä»·</p>\r\n </div>\r\n <div\r\n class=\"original-price loan-price\"\r\n v-show=\"paytype == 2 || paytype == 3\"\r\n >\r\n <p class=\"price\">\r\n {{ firstPayAmountText }}å…ƒ\r\n <em>(定金:{{ deposit || \"\" }} 首付尾款:{{ endAmount }})</em>\r\n </p>\r\n <p class=\"title\">\r\n 首付款<span v-show=\"bailAmount > 0 && paytype == 3\"\r\n >(å«ä¿è¯é‡‘{{ bailAmountText }} <template v-if=\"gpsAmount > 0\"> å«GPS{{gpsAmountText}}</template>)</span\r\n >\r\n </p>\r\n </div>\r\n <div class=\"deposit-price\" v-show=\"paytype == 1\">\r\n <p class=\"price\">{{ deposit || \"\" }}å…ƒ</p>\r\n <p class=\"title\">定金</p>\r\n </div>\r\n <div\r\n class=\"deposit-price loan-price month-price\"\r\n v-show=\"paytype == 2 || paytype == 3\"\r\n >\r\n <p class=\"price\">{{ loanAmountText }}å…ƒ</p>\r\n <p class=\"title\">贷款总é¢</p>\r\n </div>\r\n <div\r\n class=\"deposit-price loan-price\"\r\n v-show=\"paytype == 2 || paytype == 3\"\r\n :class=\"loanEndAmount > 0 ? 'month-price' : ''\"\r\n >\r\n <p class=\"price\">{{ monthAmountText }}å…ƒ/月</p>\r\n <p class=\"title\">月供</p>\r\n </div>\r\n <div\r\n class=\"deposit-price loan-price\"\r\n v-show=\"(paytype == 2 || paytype == 3) && loanEndAmount > 0\"\r\n >\r\n <p class=\"price\">{{ loanEndAmountText }}å…ƒ</p>\r\n <p class=\"title\">尾款</p>\r\n </div>\r\n <div class=\"calculator-box d-flex align-items-center\">\r\n <div class=\"calculator\">\r\n <a\r\n href=\"javascript:;\"\r\n @click=\"showCalculator = true\"\r\n class=\"d-flex align-items-center\"\r\n ><i></i>付款计算器</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"col-sm-12 d-flex align-items-center btn-box\"\r\n :class=\"step == 1 ? 'col-xl-3 col-lg-3' : 'col-xl-4 col-lg-4'\"\r\n >\r\n <button\r\n type=\"button\"\r\n v-if=\"step == 2\"\r\n class=\"btn btn-default btn-block col-4\"\r\n @click=\"prev\"\r\n >\r\n 上一æ¥\r\n </button>\r\n <button type=\"button\" class=\"btn btn-info btn-block\" @click=\"next\">\r\n 下一æ¥\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bottom-sm d-sm-block d-md-none\">\r\n <div class=\"row\">\r\n <div class=\"col-4\">\r\n <b-dropdown :text=\"paytypeText\" variant=\"white\" class=\"dropdown-white font-16\">\r\n <template v-for=\"(loantype, lo) in configs.loan_types\">\r\n <b-dropdown-item\r\n href=\"javascript:;\"\r\n :key=\"lo\"\r\n :class=\"loantype.id == paytype ? 'active' : ''\"\r\n @click=\"paytype = loantype.id\"\r\n :link-class=\"'font-16'\"\r\n >{{ loantype.name }}</b-dropdown-item\r\n >\r\n </template>\r\n </b-dropdown>\r\n </div>\r\n <div class=\"col-8 calculator-box acea-row row-middle row-right\">\r\n <div class=\"calculator\">\r\n <a\r\n href=\"javascript:;\"\r\n @click=\"showCalculator = true\"\r\n class=\"d-flex align-items-center font-16\"\r\n ><i></i>付款计算器</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row font-16\">\r\n <div class=\"col-12 original-price\" v-show=\"paytype == 1\">\r\n <span class=\"title\">预计è´è½¦æ€»ä»·</span\r\n ><span class=\"price\">{{ totalPriceText || \"\" }}å…ƒ</span>\r\n </div>\r\n <div\r\n class=\"col-12 original-price loan-price\"\r\n v-show=\"paytype == 2 || paytype == 3\"\r\n >\r\n <div class=\"item\">\r\n <span class=\"title\">首付款</span>\r\n <span class=\"price\">{{ firstPayAmountText }}å…ƒ<em v-if=\"paytype == 3\">(å«ä¿è¯é‡‘{{ bailAmountText }}<template v-if=\"gpsAmount > 0\"> å«GPS{{gpsAmountText}}</template>)</em></span>\r\n </div>\r\n <em>(定金:{{ deposit || \"\" }} 首付尾款:{{ endAmount }})</em>\r\n </div>\r\n <div class=\"col-12 deposit-price\" v-show=\"paytype == 1\">\r\n <span class=\"title\">定金</span>\r\n <span class=\"price\">{{ deposit || \"\" }}å…ƒ</span>\r\n </div>\r\n <div\r\n class=\"col-12 deposit-price loan-price month-price\"\r\n v-show=\"paytype == 2 || paytype == 3\"\r\n >\r\n <span class=\"title\">贷款总é¢</span>\r\n <span class=\"price\">{{ loanAmountText }}å…ƒ</span>\r\n </div>\r\n <div\r\n class=\"col-12 deposit-price loan-price\"\r\n v-show=\"paytype == 2 || paytype == 3\"\r\n :class=\"loanEndAmount > 0 ? 'month-price' : ''\"\r\n >\r\n <span class=\"title\">月供</span>\r\n <span class=\"price\">{{ monthAmountText }}å…ƒ/月</span>\r\n </div>\r\n <div\r\n class=\"col-12 deposit-price loan-price\"\r\n v-show=\"(paytype == 2 || paytype == 3) && loanEndAmount > 0\"\r\n >\r\n <span class=\"title\">尾款</span>\r\n <span class=\"price\">{{ loanEndAmountText }}å…ƒ</span>\r\n </div>\r\n <div class=\"col-12 d-flex align-items-center btn-box\">\r\n <button\r\n type=\"button\"\r\n v-if=\"step == 2\"\r\n class=\"btn btn-default btn-block btn-radius font-16\"\r\n @click=\"prev\"\r\n >\r\n 上一æ¥\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-info btn-block btn-radius font-16\"\r\n @click=\"next\"\r\n >\r\n 下一æ¥\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <LoanCalculator\r\n :show=\"showCalculator\"\r\n :product=\"product\"\r\n :attr=\"refit\"\r\n :color=\"color\"\r\n :size=\"size\"\r\n :material=\"material\"\r\n :wheel=\"wheel\"\r\n :config=\"config\"\r\n :number=\"number\"\r\n ></LoanCalculator>\r\n </div>\r\n</template>\r\n<script>\r\nimport { mapGetters } from \"vuex\";\r\nimport { mul, format, sub, add, div, pmt } from \"@utils/bc\";\r\nimport LoanCalculator from \"@components/LoanCalculator\";\r\nimport localStorage from \"@utils/store/localStorage\";\r\nexport default {\r\n name: \"ProductFooter\",\r\n props: {\r\n product: {\r\n type: Object,\r\n default: () => {}\r\n },\r\n attr: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n refit: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n color: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n size: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n material: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n wheel: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n config: {\r\n type: Object,\r\n default: function() {\r\n return { price: 0, price_text: \"\" };\r\n }\r\n },\r\n isNextStep: {\r\n type: Boolean,\r\n default: false\r\n },\r\n number: {\r\n type: Number,\r\n default: 1\r\n },\r\n showFooter: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n components: {\r\n LoanCalculator\r\n },\r\n data() {\r\n let code = this.$route.params.code || \"\";\r\n let localPaytype, localDefaultLoan;\r\n if (localStorage.has(\"hyundai-trucknbus-buycar-payconfig-\" + code)) {\r\n let config = localStorage.get(\"hyundai-trucknbus-buycar-payconfig-\" + code);\r\n localPaytype = config.paytype;\r\n localDefaultLoan = config.defaultLoan;\r\n }\r\n return {\r\n showCalculator: false,\r\n paytype: localPaytype || 1,\r\n defaultLoans: {},\r\n defaultLoan: localDefaultLoan || {\r\n id: 0,\r\n loan_type: 0,\r\n period: 0, //期数\r\n periods: [],\r\n rate: 0, //利率\r\n payRate: 0,\r\n payRateMin: 0,\r\n payRateMax: 100,\r\n isTax: true,\r\n addition:0,\r\n additions:[],\r\n gps:0\r\n },\r\n showFooterDisplay: false\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n configs: \"configs\"\r\n }),\r\n orginalPirce() {\r\n let defaultRefit = this.refit || { price: 0, price_text: \"\" };\r\n let carPrice = this.product.discount > 0 ? sub(defaultRefit.price, this.product.discount) : defaultRefit.price;\r\n // let refitPrice = this.refit ? this.refit.price : 0;\r\n let colorPrice = this.color ? this.color.price : 0;\r\n let sizePrice = this.size ? this.size.price || 0 : 0;\r\n let materialPrice = this.material ? this.material.price || 0 : 0;\r\n let wheelPrice = this.wheel ? this.wheel.price || 0 : 0;\r\n let configPrice = this.config ? this.config.price || 0 : 0;\r\n \r\n // carPrice = add(carPrice, refitPrice);\r\n carPrice = add(carPrice, colorPrice);\r\n carPrice = add(carPrice, sizePrice);\r\n carPrice = add(carPrice, materialPrice);\r\n carPrice = add(carPrice, wheelPrice);\r\n carPrice = add(carPrice, configPrice);\r\n return carPrice;\r\n },\r\n totalPrice() {\r\n let number = this.number || 1, carPrice = this.orginalPirce, addition = this.defaultLoan.addition || 0;\r\n let additionPrice = mul(carPrice, addition);\r\n carPrice = add(carPrice, additionPrice);\r\n carPrice = add(carPrice, this.taxAmount); //è´ç½®ç¨Ž\r\n carPrice = mul(carPrice, number);\r\n return carPrice;\r\n },\r\n totalPriceText() {\r\n let amount = new Number(this.totalPrice);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n deposit() {\r\n let deposit_scale = this.configs.deposit_scale || 0.1,\r\n deposit = this.refit.deposit || 0,\r\n number = this.number || 1;\r\n if (deposit > 0) {\r\n return \"Â¥ \" + format(Math.floor(mul(deposit, number)));\r\n } else {\r\n if (this.paytype == 2 || this.paytype == 3) {\r\n return \"Â¥ \" + format(Math.floor(mul(mul(this.firstPayAmount, deposit_scale), number)));\r\n } else {\r\n return \"Â¥ \" + format(Math.floor(mul(mul(this.totalPrice, deposit_scale), number)));\r\n }\r\n }\r\n },\r\n depositText() {\r\n let deposit_scale = this.configs.deposit_scale || 0.1,\r\n deposit = this.refit.deposit || 0;\r\n return deposit > 0 ? \"\" : mul(deposit_scale, 100) + \"%\";\r\n },\r\n depositScaleText() {\r\n let deposit_scale = this.configs.deposit_scale || 0.1,\r\n deposit = this.refit.deposit || 0;\r\n return deposit > 0 ? \"\" : sub(100, mul(deposit_scale, 100)) + \"%\";\r\n },\r\n defaultLoanRateText() {\r\n let rate = this.defaultLoan.rate || 0;\r\n return mul(rate, 100) + \"%\";\r\n },\r\n payRateMinValue() {\r\n let min = this.defaultLoan.payRateMin || 0;\r\n return sub(mul(min, 100), 10) < 0\r\n ? mul(min, 100)\r\n : sub(mul(min, 100), 10);\r\n },\r\n payRateMaxValue() {\r\n let max = this.defaultLoan.payRateMax || 0;\r\n return add(mul(max, 100), 10);\r\n },\r\n payRateValue() {\r\n let rate = this.defaultLoan.payRate || 0;\r\n return mul(rate, 100);\r\n },\r\n payRateMarks() {\r\n let min = this.defaultLoan.payRateMin || 0;\r\n let max = this.defaultLoan.payRateMax || 0;\r\n return [mul(min, 100), mul(max, 100)];\r\n },\r\n firstPayAmount() {\r\n //首付金é¢\r\n let rate = this.defaultLoan.payRate || 0;\r\n let amount = Math.round(sub(this.orginalPirce,mul(this.totalPrice, sub(1,rate))));\r\n return amount;\r\n },\r\n firstPayAmountText() {\r\n let amount = this.firstPayAmount;\r\n if (this.paytype == 3) {\r\n amount = add(this.gpsAmount,add(amount, this.bailAmount));\r\n }\r\n amount = new Number(amount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n loanAmount() {\r\n //贷款金é¢\r\n let amount = 0;\r\n let loan_type = this.defaultLoan.loan_type || 1;\r\n let pay_rate = this.defaultLoan.payRate || 0;\r\n let rate = this.defaultLoan.rate || 0;\r\n let period = this.defaultLoan.period || 0;\r\n if (loan_type == 2 || loan_type == 3) {\r\n amount = sub(this.orginalPirce,this.firstPayAmount);//mul(this.totalPrice, sub(1, pay_rate));\r\n let right = Math.pow(add(1, div(rate, 12)), period).toFixed(7);\r\n let rightamount = div(this.loanEndAmount, right);\r\n amount = sub(amount, rightamount);\r\n amount = new Number(amount);\r\n amount = amount.toFixed(2);\r\n } else if (loan_type == 4) {\r\n amount = sub(this.orginalPirce,this.firstPayAmount);//mul(this.totalPrice, sub(1, pay_rate));\r\n } else {\r\n amount = sub(this.orginalPirce,this.firstPayAmount);//sub(this.totalPrice, this.firstPayAmount);\r\n }\r\n return amount;\r\n },\r\n loanAmountText() {\r\n //贷款金é¢æ ¼å¼åŒ–\r\n let amount = new Number(this.loanAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n monthAmount() {\r\n //月供金é¢\r\n let rate = this.defaultLoan.rate || 0;\r\n let loan_type = this.defaultLoan.loan_type || 1;\r\n let amount = 0;\r\n if (loan_type == 2 || loan_type == 3) {\r\n amount = pmt(\r\n div(rate, 12),\r\n sub(this.defaultLoan.period, 1),\r\n this.loanAmount\r\n );\r\n } else if (loan_type == 4) {\r\n let pv1 = add(this.loanAmount, div(mul(this.loanAmount, rate), 12));\r\n let pv2 = add(mul(pv1, div(rate, 12)), pv1);\r\n let pv3 = mul(pv2, div(rate, 12));\r\n let pv4 = add(pv3, pv2);\r\n amount = pmt(div(rate, 12), sub(this.defaultLoan.period, 3), pv4);\r\n } else {\r\n amount = pmt(div(rate, 12), this.defaultLoan.period, this.loanAmount);\r\n }\r\n \r\n amount = Math.floor(mul(amount, -1));\r\n return amount;\r\n },\r\n monthAmountText() {\r\n let amount = new Number(this.monthAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n endAmount() {\r\n //首付尾款\r\n let deposit_scale = this.configs.deposit_scale || 0.1,\r\n productDeposit = this.refit.deposit || 0,\r\n number = this.number || 1;\r\n if (this.paytype == 2) {\r\n let deposit =\r\n productDeposit > 0\r\n ? productDeposit\r\n : mul(this.firstPayAmount, deposit_scale);\r\n deposit = mul(deposit, number);\r\n let amount = new Number(sub(this.firstPayAmount, deposit));\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n } else if (this.paytype == 3) {\r\n let deposit =\r\n productDeposit > 0\r\n ? productDeposit\r\n : mul(this.firstPayAmount, deposit_scale);\r\n deposit = mul(deposit, number);\r\n let endPrice = sub(this.firstPayAmount, deposit);\r\n let bailAmount = this.bailAmount || 0;\r\n let gpsAmount = this.gpsAmount || 0;\r\n let amount = new Number(add(gpsAmount,add(endPrice, bailAmount)));\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n } else {\r\n let deposit =\r\n productDeposit > 0\r\n ? productDeposit\r\n : mul(this.totalPrice, deposit_scale);\r\n deposit = mul(deposit, number);\r\n let amount = new Number(sub(this.totalPrice, deposit));\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n }\r\n },\r\n bailText() {\r\n //ä¿è¯é‡‘æ ¼å¼åŒ–\r\n let bail_scale = this.configs.bail_scale || 0.05;\r\n return mul(bail_scale, 100) + \"%\";\r\n },\r\n bailAmount() {\r\n let bail_scale = this.configs.bail_scale || 0.05;\r\n return mul(this.totalPrice, bail_scale);\r\n },\r\n bailAmountText() {\r\n let amount = new Number(this.bailAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n paytypeText() {\r\n let name;\r\n this.configs.loan_types.forEach(loan => {\r\n if (loan.id == this.paytype) {\r\n name = loan.name;\r\n }\r\n });\r\n return name;\r\n },\r\n step() {\r\n let step = 1;\r\n if (this.$route.path.indexOf(\"design\") >= 0) {\r\n step = 2;\r\n } else if (this.$route.path.indexOf(\"order\") >= 0) {\r\n step = 3;\r\n }\r\n return step;\r\n },\r\n loanEndAmount() {\r\n //贷款尾款\r\n let amount = 0,\r\n loan_type = this.defaultLoan.loan_type || 1,\r\n rate = 0;\r\n if (loan_type == 2) {\r\n rate = 0.3;\r\n } else if (loan_type == 3) {\r\n rate = 0.2;\r\n }\r\n amount = mul(this.totalPrice, rate);\r\n return amount;\r\n },\r\n loanEndAmountText() {\r\n let amount = new Number(this.loanEndAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n taxAmount() {\r\n let amount = 0, isTax = this.defaultLoan.isTax || false;\r\n if (!isTax) {\r\n return amount;\r\n }\r\n amount = mul(this.orginalPirce, 0.1);\r\n amount = div(amount, 1.13);\r\n return parseFloat(amount).toFixed(2);\r\n },\r\n taxAmountText() {\r\n let amount = new Number(this.taxAmount);\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n },\r\n gpsAmount(){\r\n let amount = this.defaultLoan.gps || 0;\r\n return new Number(amount);\r\n },\r\n gpsAmountText(){\r\n let amount = typeof this.gpsAmount == 'string' ? new Number(this.gpsAmount) : this.gpsAmount;\r\n return \"Â¥ \" + format(Math.floor(amount));\r\n }\r\n },\r\n watch: {\r\n showFooter: function() {\r\n // this.$nextTick(() => {s\r\n // if (s) {\r\n // // this.$set(this, \"showFooterDisplay\", true);\r\n // // this.$refs.bottomsmfooter.classList.remove(\r\n // // [\"fadeOutDown\"],\r\n // // [\"d-none\"]\r\n // // );\r\n // // this.$refs.bottomsmfooter.classList.add(\"fadeInUp\");\r\n // setTimeout(() => {\r\n // // if (this.$refs.bottomsmfooter.style.cssText == \"display: none;\") {\r\n // // this.$refs.bottomsmfooter.style = \"\";\r\n // // }\r\n // // this.$refs.bottomsmfooter.classList.remove(\"d-none\");\r\n // }, 600);\r\n // } else {\r\n // // this.$set(this, \"showFooterDisplay\", false);\r\n // // this.$refs.bottomsmfooter.classList.remove([\"fadeInUp\"], [\"d-none\"]);\r\n // // this.$refs.bottomsmfooter.classList.add(\"fadeOutDown\");\r\n // setTimeout(() => {\r\n // // if (this.$refs.bottomsmfooter.style.cssText != \"display: none;\") {\r\n // // this.$refs.bottomsmfooter.style = \"display: none;\";\r\n // // }\r\n // // this.$refs.bottomsmfooter.classList.add(\"d-none\");\r\n // }, 500);\r\n // }\r\n // });\r\n },\r\n product: function() {\r\n this.defaultLoans = this.product[\"loans\"][this.paytype] || [];\r\n\r\n for (let i = this.configs.loan_types.length - 1; i >= 0; i--) {\r\n let loan_type = this.configs.loan_types[i], productLoans = this.product[\"loans\"][loan_type.id] || [];\r\n if (loan_type.id > 1 && productLoans.length == 0) {\r\n this.configs.loan_types.splice(i, 1);\r\n }\r\n }\r\n let defaultloan = this.defaultLoans[0] || {};console.log(defaultloan);\r\n if (defaultloan.id || !localStorage.has( \"hyundai-trucknbus-buycar-payconfig-\" + this.product.code)) {\r\n this.$set(this.defaultLoan, \"id\", defaultloan.id);\r\n this.$set(this.defaultLoan, \"loan_type\", defaultloan.loan_type);\r\n this.$set(this.defaultLoan, \"tax\", defaultloan.tax);\r\n if (this.product.is_ev > 0 || defaultloan.tax == 0) {\r\n this.$set(this.defaultLoan, 'isTax', false);\r\n }\r\n if (this.paytype == 1 && this.defaultLoan.isTax) {\r\n this.$set(this.defaultLoan, 'isTax', false);\r\n }\r\n this.$set(this.defaultLoan, 'gps', defaultloan.gps || 0);\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-payconfig-\" + this.product.code,\r\n {\r\n paytype: this.paytype,\r\n defaultLoan: this.defaultLoan\r\n },\r\n 10080\r\n );\r\n this.$emit(\"changeFun\", {\r\n action: \"updatePayType\",\r\n value: { paytype: this.paytype, defaultLoan: this.defaultLoan }\r\n });\r\n }\r\n },\r\n paytype: function() {\r\n this.defaultLoans = this.product[\"loans\"][this.paytype] || [];\r\n if (this.defaultLoans.length > 0) {\r\n const defaultitem = this.defaultLoans[0] || {};\r\n const curPeriodIndex = defaultitem[\"periods\"].indexOf(\"36\") > -1 ? defaultitem[\"periods\"].indexOf(\"36\") : 0;\r\n this.$set(this.defaultLoan, \"id\", defaultitem.id);\r\n this.$set(this.defaultLoan, \"period\", defaultitem[\"periods\"][curPeriodIndex]?defaultitem[\"periods\"][curPeriodIndex]:defaultitem[\"periods\"][0]);\r\n this.$set(this.defaultLoan, \"periods\", defaultitem[\"periods\"]);\r\n this.$set(this.defaultLoan, \"rate\", defaultitem.rate);\r\n this.$set(this.defaultLoan, \"payRateMin\", defaultitem[\"pay_rate\"][0] || 0);\r\n this.$set(this.defaultLoan, \"payRateMax\",defaultitem[\"pay_rate\"][1] || 0);\r\n this.$set(this.defaultLoan, \"payRate\", defaultitem[\"pay_rate\"][0] || 0);\r\n this.$set(this.defaultLoan, \"loan_type\", defaultitem.loan_type);\r\n this.$set(this.defaultLoan, \"tax\", defaultitem.tax);\r\n if (this.product.is_ev == 0) {\r\n this.$set(this.defaultLoan, \"isTax\", this.paytype == 1 ? false : (defaultitem.tax == 1 ? true:false));\r\n }\r\n this.$set(this.defaultLoan, \"additions\", defaultitem[\"additions\"]);\r\n let defaultAddition = defaultitem[\"additions\"].length > 0 ? 0.25 : 0;//defaultitem[\"additions\"][0].id || \r\n this.$set(this.defaultLoan, \"addition\", defaultAddition);\r\n this.$set(this.defaultLoan, \"gps\", defaultitem.gps);\r\n }else{\r\n this.$set(this.defaultLoan, \"addition\", 0);\r\n this.$set(this.defaultLoan, \"period\", 0);\r\n this.$set(this.defaultLoan, \"tax\", 0);\r\n if (this.product.is_ev == 0) {\r\n this.$set(this.defaultLoan, \"isTax\", this.paytype == 1 ? false : (this.defaultLoan.tax == 1 ? true:false));\r\n }\r\n this.$set(this.defaultLoan, \"gps\", 0);\r\n }\r\n\r\n localStorage.set(\"hyundai-trucknbus-buycar-payconfig-\" + this.product.code,\r\n {\r\n paytype: this.paytype,\r\n defaultLoan: this.defaultLoan\r\n },\r\n 10080\r\n );\r\n this.$emit(\"changeFun\", {\r\n action: \"updatePayType\",\r\n value: { paytype: this.paytype, defaultLoan: this.defaultLoan }\r\n });\r\n },\r\n \"defaultLoan.id\": function() {\r\n if (this.defaultLoans.length > 0) {\r\n this.defaultLoans.forEach(item => {\r\n if (item.id == this.defaultLoan.id) {\r\n let curPeriodIndex = item[\"periods\"].indexOf(\"36\") > -1 ? item[\"periods\"].indexOf(\"36\") : 0,\r\n curPeriod = item['periods'][curPeriodIndex]?item['periods'][curPeriodIndex]:item[\"periods\"][0];\r\n this.$set(this.defaultLoan, \"period\", curPeriod);\r\n this.$set(this.defaultLoan, \"periods\", item[\"periods\"]);\r\n this.$set(this.defaultLoan, \"rate\", item.rate);\r\n this.$set(this.defaultLoan, \"payRateMin\", item[\"pay_rate\"][0] || 0);\r\n this.$set(this.defaultLoan, \"payRateMax\", item[\"pay_rate\"][1] || 0);\r\n this.$set(this.defaultLoan, \"payRate\", item[\"pay_rate\"][0] || 0);\r\n this.$set(this.defaultLoan, \"loan_type\", item.loan_type);\r\n this.$set(this.defaultLoan, \"additions\", item[\"additions\"]);\r\n let defaultAddition = item[\"additions\"].length > 0 ? 0.25 : 0;\r\n this.$set(this.defaultLoan, \"addition\", defaultAddition);\r\n this.$set(this.defaultLoan, \"gps\", item.gps);\r\n }\r\n });\r\n\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-payconfig-\" + this.product.code,\r\n {\r\n paytype: this.paytype,\r\n defaultLoan: this.defaultLoan\r\n },\r\n 10080\r\n );\r\n this.$emit(\"changeFun\", {\r\n action: \"updatePayType\",\r\n value: { paytype: this.paytype, defaultLoan: this.defaultLoan }\r\n });\r\n }\r\n },\r\n \"defaultLoan.period\": function() {\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-payconfig-\" + this.product.code,\r\n {\r\n paytype: this.paytype,\r\n defaultLoan: this.defaultLoan\r\n },\r\n 10080\r\n );\r\n this.$emit(\"changeFun\", {\r\n action: \"updatePayType\",\r\n value: { paytype: this.paytype, defaultLoan: this.defaultLoan }\r\n });\r\n },\r\n payRateValue: function() {\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-payconfig-\" + this.product.code,\r\n {\r\n paytype: this.paytype,\r\n defaultLoan: this.defaultLoan\r\n },\r\n 10080\r\n );\r\n this.$emit(\"changeFun\", {\r\n action: \"updatePayType\",\r\n value: { paytype: this.paytype, defaultLoan: this.defaultLoan }\r\n });\r\n }\r\n },\r\n mounted() {\r\n let that = this;\r\n this.$root.$on(\"bv::modal::hide\", (bvEvent, modalId) => {\r\n if (modalId == \"loanCalculator\") {\r\n that.showCalculator = false;\r\n }\r\n });\r\n },\r\n methods: {\r\n sliderDragging(value) {\r\n let min = this.defaultLoan.payRateMin || 0;\r\n let max = this.defaultLoan.payRateMax || 0;\r\n min = mul(min, 100);\r\n max = mul(max, 100);\r\n if (value < min) {\r\n this.$set(this.defaultLoan, \"payRate\", this.defaultLoan.payRateMin);\r\n this.$refs[`slider${this.paytype}`].setValue(this.payRateValue);\r\n } else if (value > max) {\r\n this.$set(this.defaultLoan, \"payRate\", this.defaultLoan.payRateMax);\r\n this.$refs[`slider${this.paytype}`].setValue(this.payRateValue);\r\n } else {\r\n this.$set(this.defaultLoan, \"payRate\", div(value, 100));\r\n }\r\n },\r\n next() {\r\n if (this.step == 1) {\r\n if (this.attr.id == 0) {\r\n return this.$dialog.error(\"请选择一个é…ç½®\");\r\n }\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-attr-\" + this.product.code,\r\n {\r\n attr: this.attr\r\n },\r\n 10080\r\n );\r\n this.$router.push({\r\n path: \"/product/\" + this.product.code + \"/design\"\r\n });\r\n } else if (this.step == 2) {\r\n if (this.color.id == 0 || this.refit.id == 0) {\r\n return this.$dialog.error(\"请选择改装与颜色\");\r\n }\r\n this.$emit(\"changeFun\", {\r\n action: \"nextDesignSize\",\r\n value: { paytype: this.paytype, defaultLoan: this.defaultLoan }\r\n });\r\n }\r\n },\r\n prev() {\r\n if (this.step == 2) {\r\n if (this.isNextStep) {\r\n this.$emit(\"changeFun\", {\r\n action: \"prevDesignSize\",\r\n value: { paytype: this.paytype, defaultLoan: this.defaultLoan }\r\n });\r\n } else {\r\n this.$router.replace({ path: \"/product/\" + this.product.code });\r\n }\r\n }\r\n }\r\n }\r\n};\r\n</script>\r\n<style scoped>\r\n.custom-step {\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 50%;\r\n box-shadow: 0 0 0 3px #ccc;\r\n background-color: #fff;\r\n}\r\n.custom-step.active {\r\n box-shadow: 0 0 0 3px #35719d;\r\n background-color: #35719d;\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductFooter.vue?vue&type=template&id=7374220e&scoped=true&\"\nimport script from \"./ProductFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductFooter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProductFooter.vue?vue&type=style&index=0&id=7374220e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7374220e\",\n null\n \n)\n\nexport default component.exports","<template>\r\n<div class=\"product-detail product-design\" ref=\"container\" :class=\"'paytype-' + paytype + ' loantype-' + loan_type+' refit-'+refit.id\">\r\n <ProductHeader :product=\"info\" :isNextStep=\"isNextStep\"></ProductHeader>\r\n <div class=\"container-fluid h-100\">\r\n <div class=\"row justify-content-center h-100\">\r\n <div class=\"col-xl-9 col-lg-8 col-sm-12 h-100 padding left-wrap\">\r\n <div class=\"image-box d-flex justify-content-center align-items-center\">\r\n <img v-lazy=\"color.image\" :alt=\"info.name\" class=\"img-fluid\" />\r\n </div>\r\n </div>\r\n <div class=\"col-xl-3 col-lg-4 col-sm-12 right-info h-100\">\r\n <h1 class=\"font-20\">{{ info.name }}</h1>\r\n <div class=\"line w-100 name\"></div>\r\n <div class=\"introduction-wrap\" v-show=\"isNextStep\">\r\n <div class=\"title font-14\">{{ refit.introduction_title }}</div>\r\n <div class=\"content font-14\" v-html=\"refit.introduction\"></div>\r\n </div>\r\n <div class=\"refits-box\" v-show=\"(isNextStep && sizes.length > 0) || (!isNextStep && info.refits.length > 0)\">\r\n <h3 class=\"font-17\" v-text=\"isNextStep ? '选择'+info.size_name[refit.id]||'' : '选择'+info.refit_name\"></h3>\r\n <ul class=\"row\" :class=\"!isNextStep ? 'refits' : 'sizes'\">\r\n <template v-if=\"!isNextStep\">\r\n <li class=\"item font-15 w-100 col-6\" v-for=\"(refitItem, p) in info.refits\" :key=\"p\" :class=\"refit.id == refitItem.id ? 'active' : ''\" @click=\"selectRefit(refitItem)\">\r\n <div class=\"image acea-row row-center-wrapper d-flex\">\r\n <img v-lazy=\"refitItem.thumb\" />\r\n </div>\r\n <p class=\"font-15\">{{ refitItem.name }}</p>\r\n <p class=\"price font-12\" v-if=\"refitItem.tip == 2\"><b>该车型已售罄</b></p>\r\n <p class=\"price font-12\" v-else-if=\"refitItem.tip == 3\"><b>该车型未上线</b></p>\r\n <p class=\"price font-12\" v-else-if=\"refitItem.is_buy == 0\"><b>é…ç½®å‡çº§ä¸</b></p>\r\n <p class=\"price\" v-else>\r\n <b>{{refitItem.price_text}}</b>\r\n </p>\r\n <div class=\"tip\" :class=\"'tip-' + refitItem.tip\" v-if=\"refitItem.tip == 1\">\r\n <p>活动</p>\r\n </div>\r\n <div class=\"tip\" :class=\"'tip-' + refitItem.tip\" v-else-if=\"refitItem.tip == 2\">\r\n <p>售罄</p>\r\n </div>\r\n <div class=\"tip\" :class=\"'tip-' + refitItem.tip\" v-else-if=\"refitItem.tip == 3\">\r\n <p>未上线</p>\r\n </div>\r\n </li>\r\n </template>\r\n <template v-if=\"isNextStep\">\r\n <li class=\"item font-15 w-100 col-12\" v-for=\"(sizeItem, s) in sizes\" :key=\"s\" :class=\"size.id == sizeItem.id ? 'active' : ''\" @click=\"selectSize(sizeItem)\">\r\n <div class=\"btn font-15 btn-block btn-radius\">\r\n {{ sizeItem.name }}\r\n </div>\r\n </li>\r\n </template>\r\n </ul>\r\n <div class=\"refit-price font-14 d-none\" v-if=\"!isNextStep\" v-show=\"refit.price > 0\">\r\n {{ refit.name }} <b>{{ refit.price_text }}</b>\r\n </div>\r\n <div class=\"refit-price font-14 text-center\" v-if=\"isNextStep\" v-show=\"size.price > 0\">\r\n <b>{{ size.price_text }} </b>\r\n </div>\r\n </div>\r\n <div class=\"line w-100 center\" v-show=\"(isNextStep && sizes.length > 0) || (!isNextStep && info.refits.length > 0)\"></div>\r\n <div class=\"discount font-15 text-danger\" v-if=\"info.discount > 0 && !isNextStep\">è´è½¦ä¼˜æƒ :{{info.discount}}元({{info.discount_desc1}})</div>\r\n <div class=\"refits-box price-box\" v-show=\"(isNextStep && materials.length > 0) || (!isNextStep && colors.length > 0)\">\r\n <h3 class=\"font-17\" v-text=\"isNextStep ? '选择'+info.material_name : '选择'+info.color_name\"></h3>\r\n <ul class=\"row\" :class=\"!isNextStep ? 'refits' : 'sizes'\">\r\n <template v-if=\"!isNextStep\">\r\n <li class=\"item font-15 w-100 col-xl-4 col-lg-6 col-sm-4 col-4\" v-for=\"(colorItem, c) in colors\" :key=\"c\" :class=\"color.id == colorItem.id ? 'active' : ''\" @click=\"selectColor(colorItem)\">\r\n <div class=\"image\">\r\n <img v-lazy=\"colorItem.thumb\" />\r\n </div>\r\n <p class=\"font-15\">{{ colorItem.name }}</p>\r\n <p class=\"price\" v-show=\"color.id == colorItem.id && color.price > 0\">\r\n <b>{{colorItem.price_text}}</b>\r\n </p>\r\n </li>\r\n <li class=\"item font-15 w-100 col-xl-4 col-lg-6 col-sm-4 col-4 d-none\" @click=\"getArticle(10)\">\r\n <div class=\"image\">\r\n <img src=\"@assets/images/custom-color.png\" />\r\n </div>\r\n <p class=\"font-15\">定制颜色</p>\r\n </li>\r\n </template>\r\n <template v-if=\"isNextStep\">\r\n <li class=\"item font-15 w-100 col-12\" v-for=\"(materialItem, s) in materials\" :key=\"s\" :class=\"material.id == materialItem.id ? 'active' : ''\" @click=\"selectMaterial(materialItem)\">\r\n <div class=\"btn font-15 btn-block btn-radius\">\r\n {{ materialItem.name }}\r\n </div>\r\n </li>\r\n </template>\r\n </ul>\r\n <div class=\"refit-price font-14 d-none\" v-if=\"!isNextStep\" v-show=\"color.price > 0\">\r\n {{ color.name }} <b>{{ color.price_text }}</b>\r\n </div>\r\n <div class=\"refit-price font-14 text-center\" v-if=\"isNextStep\" v-show=\"material.price > 0\">\r\n <b>{{ material.price_text }} </b>\r\n </div>\r\n </div>\r\n <div class=\"line w-100 center\" v-show=\"(!isNextStep && info.wheels.length > 0)\"></div>\r\n <div class=\"refits-box price-box\" v-show=\"(!isNextStep && info.wheels.length > 0)\">\r\n <h3 class=\"font-17\">选择{{info.wheel_name}}</h3>\r\n <ul class=\"row sizes\">\r\n <li class=\"item font-15 w-100 col-12\" v-for=\"(wheelItem, w) in info.wheels\" :key=\"w\" :class=\"wheel.id == wheelItem.id ? 'active' : ''\" @click=\"selectWheel(wheelItem)\">\r\n <div class=\"btn font-15 btn-block btn-radius\">\r\n {{ wheelItem.name }}\r\n </div>\r\n </li>\r\n </ul>\r\n <div class=\"refit-price font-14 text-center\" v-show=\"wheel.price > 0\">\r\n <b>{{ wheel.price_text }}</b>\r\n </div>\r\n </div>\r\n <div class=\"line w-100 center\" v-show=\"(!isNextStep && info.configs.length > 0)\"></div>\r\n <div class=\"refits-box price-box\" v-show=\"(!isNextStep && info.configs.length > 0)\">\r\n <h3 class=\"font-17\">选择{{info.config_name}}</h3>\r\n <ul class=\"row sizes\">\r\n <li class=\"item font-15 w-100 col-12\" v-for=\"(configItem, c) in info.configs\" :key=\"c\" :class=\"config.id == configItem.id ? 'active' : ''\" @click=\"selectConfig(configItem)\">\r\n <div class=\"btn font-15 btn-block btn-radius\">\r\n {{ configItem.name }}\r\n </div>\r\n </li>\r\n </ul>\r\n <div class=\"refit-price font-14 text-center\" v-show=\"config.price != 0\">\r\n <b>{{ config.price_text }}</b>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line w-100 center\" v-show=\"(isNextStep && materials.length > 0) || (!isNextStep && colors.length > 0)\"></div>\r\n <div class=\"spinbutton-box\" v-if=\"isNextStep\">\r\n <h3 class=\"font-17\">选择数é‡</h3>\r\n <div class=\"row\">\r\n <Stepper v-model.number=\"number\" :integer=\"true\" min=\"1\" max=\"100\" button-size=\"36px\" theme=\"hyundai\" class=\"col-xl-6 col-lg-6 col-12\"></Stepper>\r\n </div>\r\n </div>\r\n <div class=\"line design w-100 d-none\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <ProductFooter :product=\"info\" :attr=\"attr\" :refit=\"refit\" :color=\"color\" :size=\"size\" :material=\"material\" :number=\"number\" :isNextStep=\"isNextStep\" :showFooter=\"showFooter\" v-on:changeFun=\"changeFun\" :wheel=\"wheel\" :config=\"config\"></ProductFooter>\r\n <b-modal v-model=\"showArticle\" :title=\"article.title\" hide-footer :header-bg-variant=\"'info'\" :header-text-variant=\"'light'\" centered :modal-class=\"'common-modal reserve'\">\r\n <div class=\"d-block\">\r\n <div class=\"content\" v-html=\"article.content\"></div>\r\n </div>\r\n </b-modal>\r\n</div>\r\n</template>\r\n\r\n<script>\r\nimport {getProductDetail} from \"@api/product\";\r\nimport ProductHeader from \"@components/ProductHeader\";\r\nimport ProductFooter from \"@components/ProductFooter\";\r\nimport localStorage from \"@utils/store/localStorage\";\r\nimport cookie from \"@utils/store/cookie\";\r\nimport {getArticleSingle} from \"@api/public\";\r\nimport {Stepper} from \"vant\";\r\nexport default {\r\n name: \"ProductDesign\",\r\n data() {\r\n let localattr,localrefit,localcolor,localsize,localmaterial,localpaytype,localDefaultLoan,code,localwheel,localconfig;\r\n code = this.$route.params.code || \"\";\r\n if (localStorage.has(\"hyundai-trucknbus-buycar-attr-\" + code)) {\r\n let config = localStorage.get(\"hyundai-trucknbus-buycar-attr-\" + code);\r\n if (config) {\r\n localattr = config.attr || {\r\n id: 0\r\n }; //é…ç½®\r\n }\r\n }\r\n if (localStorage.has(\"hyundai-trucknbus-buycar-refit-color-\" + code)) {\r\n let config = localStorage.get(\"hyundai-trucknbus-buycar-refit-color-\" + code);\r\n if (config) {\r\n localrefit = config.refit || {id: 0}; //改装和颜色\r\n localcolor = config.color || {id: 0};\r\n localmaterial = config.material || {id: 0};\r\n localsize = config.size || {id: 0};\r\n }\r\n }\r\n if (localStorage.has(\"hyundai-trucknbus-buycar-payconfig-\" + code)) {\r\n let config = localStorage.get(\"hyundai-trucknbus-buycar-payconfig-\" + code);\r\n if (config) {\r\n localpaytype = config.paytype || {\r\n id: 0\r\n };\r\n localDefaultLoan = config.defaultLoan || {\r\n id: 0\r\n };\r\n if (!localDefaultLoan.additions) {\r\n localDefaultLoan.additions = [];\r\n localDefaultLoan.addition = 0;\r\n }\r\n }\r\n }\r\n if (localStorage.has(\"hyundai-trucknbus-buycar-wheel-config-\"+code)) {\r\n let config = localStorage.get(\"hyundai-trucknbus-buycar-wheel-config-\" + code);\r\n if (config) {\r\n localwheel = config.wheel || { id: 0};\r\n localconfig = config.config || { id : 0}\r\n }\r\n }\r\n return {\r\n info: {\r\n id: 0,\r\n refits: [],\r\n wheels:[],\r\n configs:[]\r\n },\r\n attr: localattr || {\r\n id: 0,\r\n deploy: \"\",\r\n parameter: \"\",\r\n default: 0,\r\n thumb: \"\",\r\n price: 0\r\n },\r\n paytype: localpaytype || 1,\r\n loan_type: localDefaultLoan ? localDefaultLoan.loan_type : 1,\r\n refit: localrefit || {\r\n id: 0,\r\n default: 1,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\",\r\n introduction: \"\",\r\n introduction_title: \"\",\r\n is_buy:0\r\n },\r\n color: localcolor || {\r\n id: 0,\r\n rid: 0,\r\n default: 1,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n },\r\n size: localsize || {\r\n id: 0,\r\n rid: 0,\r\n default: 1,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n },\r\n material: localmaterial || {\r\n id: 0,\r\n sid: 0,\r\n default: 1,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n },\r\n wheel: localwheel || {\r\n id: 0,\r\n default: 1,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\",\r\n },\r\n config: localconfig || {\r\n id: 0,\r\n default: 1,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\",\r\n },\r\n colors: [],\r\n sizes: [],\r\n materials: [],\r\n isShowVr: false,\r\n showInsideVr: false,\r\n isNextStep: false,\r\n number: 1,\r\n code: \"\",\r\n showFooter: false,\r\n showArticle: false,\r\n article: {\r\n title: \"\",\r\n content: \"\"\r\n }\r\n };\r\n },\r\n components: {\r\n ProductHeader,\r\n ProductFooter,\r\n Stepper\r\n },\r\n watch: {\r\n $route(n) {\r\n if (n.name === \"ProductDesign\") {\r\n this.getProduct();\r\n this.isNextStep = false;\r\n }\r\n },\r\n number: function () {\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-refit-color-\" + this.info.code, {\r\n refit: this.refit,\r\n color: this.color,\r\n material: this.material,\r\n size: this.size,\r\n number: this.number\r\n },\r\n 10080\r\n );\r\n }\r\n },\r\n mounted() {\r\n let that = this;\r\n that.code = that.$route.params.code || \"\";\r\n this.getProduct();\r\n this.$scroll(\r\n this.$refs.container,\r\n () => {\r\n this.showFooter = true;\r\n },\r\n () => {\r\n this.showFooter = false;\r\n }\r\n );\r\n if (!cookie.has(\"hyundai_version\")) {\r\n localStorage.remove(\"hyundai-trucknbus-buycar-attr-\" + this.code);\r\n localStorage.remove(\"hyundai-trucknbus-buycar-refit-color-\" + this.code);\r\n localStorage.remove(\"hyundai-trucknbus-buycar-payconfig-\" + this.code);\r\n localStorage.remove(\"hyundai-trucknbus-buycar-wheel-config-\" + this.code);\r\n cookie.set(\"hyundai_version\", this.$config.version);\r\n }\r\n if (cookie.get(\"hyundai_version\") != this.$config.version) {\r\n localStorage.remove(\"hyundai-trucknbus-buycar-attr-\" + this.code);\r\n localStorage.remove(\"hyundai-trucknbus-buycar-refit-color-\" + this.code);\r\n localStorage.remove(\"hyundai-trucknbus-buycar-payconfig-\" + this.code);\r\n localStorage.remove(\"hyundai-trucknbus-buycar-wheel-config-\" + this.code);\r\n cookie.set(\"hyundai_version\", this.$config.version);\r\n }\r\n },\r\n methods: {\r\n getProduct() {\r\n let that = this;\r\n getProductDetail(that.code, {\r\n step: 2\r\n }).then(\r\n res => {\r\n that.info = res.data;\r\n that.getAttr();\r\n that.getWheel();\r\n that.getConfig();\r\n that.$store.commit(\"UPDATE_TITLE\", \"选择é…ç½® - \" + res.data.name);\r\n },\r\n error => {\r\n that.$dialog.message(error.msg);\r\n that.$route.go(-1);\r\n }\r\n );\r\n },\r\n getAttr() {\r\n if (this.info.refits) {\r\n for (let i = 0; i < this.info.refits.length; i++) {\r\n const thisattr = this.info.refits[i];\r\n if (thisattr.default == 1 && this.refit.id == 0 && thisattr.is_buy == 1) {\r\n this.refit = thisattr;\r\n } else if (this.refit.id == thisattr.id && thisattr.is_buy == 1) {\r\n this.refit = thisattr;\r\n }else if(thisattr.is_buy == 0 && this.refit.is_buy == 0 || (this.refit.id == thisattr.id && thisattr.is_buy == 0)){\r\n this.refit = {\r\n id: 0,\r\n default: 1,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\",\r\n introduction: \"\",\r\n introduction_title: \"\",\r\n is_buy:0\r\n }\r\n this.color.image = this.info.image || '';\r\n }\r\n }\r\n }\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-refit-color-\" + this.info.code, {\r\n refit: this.refit\r\n },\r\n 10080\r\n );\r\n this.getColors();\r\n this.getColor();\r\n },\r\n getColors() {\r\n this.colors = [];\r\n if (this.info.colors) {\r\n for (let i = 0; i < this.info.colors.length; i++) {\r\n const thiscolor = this.info.colors[i];\r\n if (thiscolor.rid == this.refit.id) {\r\n this.colors.push(thiscolor);\r\n }\r\n }\r\n }\r\n },\r\n getColor() {\r\n if (this.colors) {\r\n for (let i = 0; i < this.colors.length; i++) {\r\n const thiscolor = this.colors[i];\r\n if (thiscolor.default == 1 && this.color.id == 0) {\r\n this.color = thiscolor;\r\n } else if (this.color.id == thiscolor.id) {\r\n this.color = thiscolor;\r\n }\r\n }\r\n }\r\n },\r\n getSizes() {\r\n //æ ¹æ®æ”¹è£…选择尺寸\r\n this.sizes = [];\r\n if (this.info.sizes) {\r\n for (let i = 0; i < this.info.sizes.length; i++) {\r\n const thissize = this.info.sizes[i];\r\n if (thissize.rid == this.refit.id) {\r\n this.sizes.push(thissize);\r\n }\r\n }\r\n }\r\n },\r\n getSize() {\r\n if (this.sizes) {\r\n for (let i = 0; i < this.sizes.length; i++) {\r\n const thissize = this.sizes[i];\r\n if (thissize.default == 1 && this.size.id == 0) {\r\n this.size = thissize;\r\n } else if (this.size.id == thissize.id) {\r\n this.size = thissize;\r\n }\r\n }\r\n }\r\n this.getMaterials();\r\n this.getMaterial();\r\n },\r\n getMaterials() {\r\n //æ ¹æ®å°ºå¯¸é€‰æ‹©æè´¨\r\n this.materials = [];\r\n if (this.info.materials) {\r\n for (let i = 0; i < this.info.materials.length; i++) {\r\n const thismaterial = this.info.materials[i];\r\n if (thismaterial.sid == this.refit.id) {\r\n this.materials.push(thismaterial);\r\n }\r\n }\r\n }\r\n },\r\n getMaterial() {\r\n if (this.materials) {\r\n for (let i = 0; i < this.materials.length; i++) {\r\n const thismaterial = this.materials[i];\r\n if (thismaterial.default == 1 && this.material.id == 0) {\r\n this.material = thismaterial;\r\n } else if (this.material.id == thismaterial.id) {\r\n this.material = thismaterial;\r\n }\r\n }\r\n }\r\n },\r\n selectRefit(param) {\r\n if (param.is_buy == 0) {\r\n // this.$bvModal.msgBoxOk(\"该改装车型暂未上线,尽请期待\", {\r\n // centered: true,\r\n // okVariant: \"info\"\r\n // });\r\n } else {\r\n this.refit = param;\r\n this.getColors();\r\n this.color = {\r\n id: 0,\r\n rid: 0,\r\n default: 0,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n };\r\n this.getColor();\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-refit-color-\" + this.info.code, {\r\n refit: this.refit,\r\n color: this.color\r\n },\r\n 10080\r\n );\r\n }\r\n },\r\n selectColor(param) {\r\n this.color = param;\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-refit-color-\" + this.info.code, {\r\n refit: this.refit,\r\n color: this.color,\r\n material: this.material,\r\n size: this.size,\r\n number: this.number\r\n },\r\n 10080\r\n );\r\n window.scrollTo(0, 0);\r\n },\r\n selectSize(param) {\r\n this.size = param;\r\n // this.getMaterials();\r\n // this.material = {\r\n // id: 0,\r\n // sid: 0,\r\n // default: 0,\r\n // thumb: \"\",\r\n // price: 0,\r\n // price_text: \"\"\r\n // };\r\n // this.getMaterial();\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-refit-color-\" + this.info.code, {\r\n refit: this.refit,\r\n color: this.color,\r\n material: this.material,\r\n size: this.size,\r\n number: this.number\r\n },\r\n 10080\r\n );\r\n },\r\n selectMaterial(param) {\r\n this.material = param;\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-refit-color-\" + this.info.code, {\r\n refit: this.refit,\r\n color: this.color,\r\n material: this.material,\r\n size: this.size,\r\n number: this.number\r\n },\r\n 10080\r\n );\r\n },\r\n changeFun: function (opt) {\r\n if (typeof opt !== \"object\") opt = {};\r\n let action = opt.action || \"\";\r\n let value = opt.value === undefined ? \"\" : opt.value;\r\n this[action] && this[action](value);\r\n },\r\n updatePayType: function (value) {\r\n if (value.paytype) {\r\n this.paytype = value.paytype;\r\n }\r\n if (value.defaultLoan) {\r\n this.loan_type = value.defaultLoan.loan_type || 1;\r\n }\r\n },\r\n nextDesignSize: function () {\r\n if (this.isNextStep) {\r\n if (this.refit.id == 0 || this.color.id == 0) {\r\n return this.$dialog.error(\"请选择完整改装ã€é¢œè‰²\"); //ã€å°ºå¯¸ã€æè´¨||this.size.id == 0 ||this.material.id == 0\r\n }\r\n if (this.size.id == 0) {\r\n this.size = {\r\n id: 0,\r\n rid: 0,\r\n default: 1,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n };\r\n }\r\n if (this.material.id == 0) {\r\n this.material = {\r\n id: 0,\r\n sid: 0,\r\n default: 1,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n };\r\n }\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-refit-color-\" + this.info.code, {\r\n refit: this.refit,\r\n color: this.color,\r\n material: this.material,\r\n size: this.size,\r\n number: this.number\r\n },\r\n 10080\r\n );\r\n this.$router.push({\r\n path: \"/product/\" + this.info.code + \"/order\"\r\n });\r\n } else {\r\n this.isNextStep = true;\r\n this.getSizes();\r\n this.size = {\r\n id: 0,\r\n rid: 0,\r\n default: 0,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n };\r\n this.material = {\r\n id: 0,\r\n sid: 0,\r\n default: 0,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n };\r\n this.getSize();\r\n window.scrollTo(0, 0);\r\n }\r\n },\r\n prevDesignSize: function () {\r\n this.isNextStep = false;\r\n this.size = {\r\n id: 0,\r\n rid: 0,\r\n default: 0,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n };\r\n this.material = {\r\n id: 0,\r\n sid: 0,\r\n default: 0,\r\n thumb: \"\",\r\n price: 0,\r\n price_text: \"\"\r\n };\r\n localStorage.set(\r\n \"hyundai-trucknbus-buycar-refit-color-\" + this.info.code, {\r\n refit: this.refit,\r\n color: this.color,\r\n material: this.material,\r\n size: this.size,\r\n number: this.number\r\n },\r\n 10080\r\n );\r\n },\r\n getArticle(id) {\r\n let that = this;\r\n getArticleSingle(id)\r\n .then(res => {\r\n that.article = res.data || {};\r\n that.showArticle = true;\r\n })\r\n .catch(res => {\r\n that.$dialog.error(res.msg);\r\n });\r\n },\r\n getWheel() {\r\n if (this.info.wheels) {\r\n for (let i = 0; i < this.info.wheels.length; i++) {\r\n const thisattr = this.info.wheels[i];\r\n if (thisattr.default == 1 && this.wheel.id == 0) {\r\n this.wheel = thisattr;\r\n } else if (this.wheel.id == thisattr.id) {\r\n this.wheel = thisattr;\r\n }\r\n }\r\n }\r\n },\r\n getConfig() {\r\n if (this.info.configs) {\r\n for (let i = 0; i < this.info.configs.length; i++) {\r\n const thisattr = this.info.configs[i];\r\n if (thisattr.default == 1 && this.config.id == 0) {\r\n this.config = thisattr;\r\n } else if (this.config.id == thisattr.id) {\r\n this.config = thisattr;\r\n }\r\n }\r\n }\r\n },\r\n selectWheel(param) {\r\n this.wheel = param;\r\n localStorage.set(\"hyundai-trucknbus-buycar-wheel-config-\" + this.info.code, {\r\n wheel: this.wheel,\r\n config: this.config\r\n }, 10080);\r\n },\r\n selectConfig(param) {\r\n this.config = param;\r\n localStorage.set(\"hyundai-trucknbus-buycar-wheel-config-\" + this.info.code, {\r\n wheel: this.wheel,\r\n config: this.config\r\n }, 10080);\r\n }\r\n }\r\n};\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Design.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Design.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Design.vue?vue&type=template&id=5accc4f8&\"\nimport script from \"./Design.vue?vue&type=script&lang=js&\"\nexport * from \"./Design.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"h5/img/custom-color.bfccaeab.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoanCalculator.vue?vue&type=style&index=0&id=93620ab2&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoanCalculator.vue?vue&type=style&index=0&id=93620ab2&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductFooter.vue?vue&type=style&index=0&id=7374220e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductFooter.vue?vue&type=style&index=0&id=7374220e&scoped=true&lang=css&\""],"sourceRoot":""}