| 1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-c1c0ebb6"],{"810e":function(t,e,s){"use strict";s.r(e);s("74b3"),s("7212");var a=function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],staticClass:"app-list-content ps-method-page"},[e("el-tabs",{staticClass:"ps-tabs",on:{"tab-click":t.onTabClick},model:{value:t.tabIndex,callback:function(e){t.tabIndex=e},expression:"tabIndex"}},t._l(t.tabs,(function(t,s){return e("el-tab-pane",{key:t.value,attrs:{label:t.name,name:String(s)}})})),1),e("div",{staticClass:"ps-body"},[e("div",{staticClass:"base-panel"},[e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v("别名")]),e("div",{staticClass:"base-val"},[e("el-input",{staticStyle:{width:"200px"},attrs:{maxlength:"4",size:"small",placeholder:"最多4个字"},model:{value:t.form.name,callback:function(e){t.$set(t.form,"name",e)},expression:"form.name"}})],1)]),2===t.form.style?[e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v("算运费方式")]),e("div",{staticClass:"base-val"},[e("button",{staticClass:"seg-btn",class:{active:0==t.form.calcType},attrs:{type:"button"},on:{click:function(e){t.form.calcType=0}}},[t._v("用跑腿")]),e("button",{staticClass:"seg-btn",class:{active:1==t.form.calcType},attrs:{type:"button"},on:{click:function(e){t.form.calcType=1}}},[t._v("用自定义")])])]),e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v("跑腿提供方")]),e("div",{staticClass:"base-val"},[e("span",{staticClass:"provider-text"},[t._v(t._s(t.deliveryBindText))]),e("el-button",{attrs:{type:"primary",size:"mini",plain:""},on:{click:t.onManageProvider}},[t._v("管理")])],1)])]:t._e(),e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v("状态")]),e("div",{staticClass:"base-val"},[e("el-radio-group",{on:{change:t.onStatusRadio},model:{value:t.form.status,callback:function(e){t.$set(t.form,"status",e)},expression:"form.status"}},[e("el-radio",{attrs:{label:1}},[t._v("启用")]),e("el-radio",{attrs:{label:0}},[t._v("禁用")])],1)],1)]),e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v("顺序")]),e("div",{staticClass:"base-val"},[e("el-input",{staticStyle:{width:"100px"},attrs:{type:"number",size:"small"},model:{value:t.form.sort,callback:function(e){t.$set(t.form,"sort",e)},expression:"form.sort"}})],1)]),0===t.form.style||4===t.form.style?[e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v("最低消费金额")]),e("div",{staticClass:"base-val"},[e("el-input",{staticStyle:{width:"140px"},attrs:{size:"small",placeholder:"不限制填0"},model:{value:t.form.minAmount,callback:function(e){t.$set(t.form,"minAmount",e)},expression:"form.minAmount"}})],1)]),e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v("最低消费数量")]),e("div",{staticClass:"base-val"},[e("el-input",{staticStyle:{width:"140px"},attrs:{type:"number",size:"small",placeholder:"不限制填0"},model:{value:t.form.minNum,callback:function(e){t.$set(t.form,"minNum",e)},expression:"form.minNum"}})],1)]),e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v("不满条件")]),e("div",{staticClass:"base-val"},[e("button",{staticClass:"seg-btn",class:{active:0==t.form.unMeet},attrs:{type:"button"},on:{click:function(e){t.form.unMeet=0}}},[t._v("收运费")]),e("button",{staticClass:"seg-btn",class:{active:2==t.form.unMeet},attrs:{type:"button"},on:{click:function(e){t.form.unMeet=2}}},[t._v("收包装费")]),e("button",{staticClass:"seg-btn",class:{active:1==t.form.unMeet},attrs:{type:"button"},on:{click:function(e){t.form.unMeet=1}}},[t._v("不能买")])])]),1!=t.form.unMeet?e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v(t._s(2==t.form.unMeet?"包装费":"运费"))]),e("div",{staticClass:"base-val"},[e("el-input",{staticStyle:{width:"140px"},attrs:{size:"small"},model:{value:t.form.unMeetFee,callback:function(e){t.$set(t.form,"unMeetFee",e)},expression:"form.unMeetFee"}})],1)]):t._e()]:t._e(),3===t.form.style?e("div",{staticClass:"base-row"},[e("div",{staticClass:"base-lab"},[t._v("配送物流")]),e("div",{staticClass:"base-val"},[e("span",{staticClass:"provider-text"},[t._v("请在小程序维护")]),e("el-button",{attrs:{type:"primary",size:"mini",plain:""},on:{click:t.onManageWl}},[t._v("管理")])],1)]):t._e(),e("div",{staticClass:"base-row last"},[e("div",{staticClass:"base-lab"},[t._v("显示顺序")]),e("div",{staticClass:"base-val order-preview"},[t._v(t._s(t.sortedMethodsText))])])],2),2===t.form.style?e("div",{staticClass:"rule-grid"},[e("div",{staticClass:"rule-card"},[e("div",{staticClass:"rule-title"},[t._v("花束运费")]),e("div",{staticClass:"rule-line"},[e("span",[t._v("花束包配送的")]),e("el-input",{staticClass:"num-input",attrs:{size:"mini"},model:{value:t.form.hsFreeKm,callback:function(e){t.$set(t.form,"hsFreeKm",e)},expression:"form.hsFreeKm"}}),e("span",[t._v("公里内免费配送")])],1),e("div",{staticClass:"rule-line"},[e("span",[t._v(t._s(t.form.hsFreeKm||0)+"公里以上 每公里加收")]),e("el-input",{staticClass:"num-input",attrs:{size:"mini"},model:{value:t.form.hsPerKmPrice,callback:function(e){t.$set(t.form,"hsPerKmPrice",e)},expression:"form.hsPerKmPrice"}}),e("span",[t._v("元")])],1),e("div",{staticClass:"rule-tip"},[t._v("没有包配送的,按实际跑腿费或自定义计费规则")])]),e("div",{staticClass:"rule-card"},[e("div",{staticClass:"rule-head"},[e("div",{staticClass:"rule-title"},[t._v("花材满减规则")]),e("el-button",{attrs:{type:"primary",size:"mini"},on:{click:t.addReduceRule}},[t._v("添加项")])],1),t.form.reduceRules&&t.form.reduceRules.length?e("div",t._l(t.form.reduceRules,(function(s,a){return e("div",{key:"r-"+a,staticClass:"rule-line"},[e("span",[t._v("满")]),e("el-input",{staticClass:"num-input-sm",attrs:{size:"mini"},on:{focus:function(e){return t.clearReduceRuleInputOnFocus(s,"meetNum")},blur:function(e){return t.normalizeReduceRuleInput(s,"meetNum")}},model:{value:s.meetNum,callback:function(e){t.$set(s,"meetNum",e)},expression:"rule.meetNum"}}),e("span",[t._v("扎,")]),e("el-input",{staticClass:"num-input",attrs:{size:"mini"},on:{focus:function(e){return t.clearReduceRuleInputOnFocus(s,"meetAmount")},blur:function(e){return t.normalizeReduceRuleInput(s,"meetAmount")}},model:{value:s.meetAmount,callback:function(e){t.$set(s,"meetAmount",e)},expression:"rule.meetAmount"}}),e("span",[t._v("元,")]),e("el-input",{staticClass:"num-input-sm",attrs:{size:"mini"},on:{focus:function(e){return t.clearReduceRuleInputOnFocus(s,"freeKm")},blur:function(e){return t.normalizeReduceRuleInput(s,"freeKm")}},model:{value:s.freeKm,callback:function(e){t.$set(s,"freeKm",e)},expression:"rule.freeKm"}}),e("span",[t._v("公里内免费配送")]),e("a",{staticClass:"link-del",on:{click:function(e){return t.removeReduceRule(a)}}},[t._v("删除")])],1)})),0):e("div",{staticClass:"empty-tip"},[t._v("暂无满减规则,点击添加项")]),e("div",{staticClass:"rule-tip"},[t._v("花材不符合满减规则时,将通过跑腿计算运费;跑腿无法使用时,将使用自定义计费")])]),e("div",{staticClass:"rule-card"},[e("div",{staticClass:"rule-title"},[t._v(" 自定义计费 "),1==t.form.calcType?e("span",{staticClass:"badge"},[t._v("当前生效")]):e("span",{staticClass:"badge gray"},[t._v("异常兜底")])]),e("div",{staticClass:"rule-line"},[e("span",{staticClass:"fixed-lab"},[t._v("起步价")]),e("el-input",{staticClass:"num-input-sm",attrs:{size:"mini"},model:{value:t.form.startKm,callback:function(e){t.$set(t.form,"startKm",e)},expression:"form.startKm"}}),e("span",[t._v("km内")]),e("el-input",{staticClass:"num-input",attrs:{size:"mini"},model:{value:t.form.startPrice,callback:function(e){t.$set(t.form,"startPrice",e)},expression:"form.startPrice"}}),e("span",[t._v("元")])],1),e("div",{staticClass:"rule-line"},[e("span",{staticClass:"fixed-lab"},[t._v("超出起步")]),e("span",[t._v("每公里加")]),e("el-input",{staticClass:"num-input",attrs:{size:"mini"},model:{value:t.form.perKmPrice,callback:function(e){t.$set(t.form,"perKmPrice",e)},expression:"form.perKmPrice"}}),e("span",[t._v("元")])],1),e("div",{staticClass:"rule-line"},[e("span",{staticClass:"fixed-lab"},[t._v("临时涨价")]),e("el-input",{staticClass:"num-input",attrs:{size:"mini"},model:{value:t.form.changeRate,callback:function(e){t.$set(t.form,"changeRate",e)},expression:"form.changeRate"}}),e("span",[t._v("% (降价请填负数)")])],1)]),e("div",{staticClass:"rule-card"},[e("div",{staticClass:"rule-head"},[e("div",{staticClass:"rule-title"},[t._v("说明")]),e("el-button",{attrs:{type:"primary",size:"mini"},on:{click:t.addExplain}},[t._v("添加")])],1),t.form.explains&&t.form.explains.length?e("div",{staticClass:"explain-list"},t._l(t.form.explains,(function(s,a){return e("div",{key:"e-"+a,staticClass:"explain-item"},[e("el-input",{staticClass:"explain-textarea",class:{"text-red":2==s.color,"text-blue":3==s.color,"text-bold":2==s.fontWeight},attrs:{type:"textarea",maxlength:50,rows:2,placeholder:"最多50字"},model:{value:s.explain,callback:function(e){t.$set(s,"explain",e)},expression:"exp.explain"}}),e("div",{staticClass:"explain-actions"},[e("button",{staticClass:"seg-btn mini",class:{active:1==s.color},attrs:{type:"button"},on:{click:function(e){return t.setExplainColor(a,1)}}},[t._v("黑色")]),e("button",{staticClass:"seg-btn mini",class:{active:2==s.color},attrs:{type:"button"},on:{click:function(e){return t.setExplainColor(a,2)}}},[t._v("红色")]),e("button",{staticClass:"seg-btn mini",class:{active:3==s.color},attrs:{type:"button"},on:{click:function(e){return t.setExplainColor(a,3)}}},[t._v("蓝色")]),e("button",{staticClass:"seg-btn mini",class:{active:1==s.fontWeight},attrs:{type:"button"},on:{click:function(e){return t.setExplainWeight(a,1)}}},[t._v("常规")]),e("button",{staticClass:"seg-btn mini",class:{active:2==s.fontWeight},attrs:{type:"button"},on:{click:function(e){return t.setExplainWeight(a,2)}}},[t._v("加粗")]),e("a",{staticClass:"link-del",on:{click:function(e){return t.removeExplain(a)}}},[t._v("删除")])])],1)})),0):e("div",{staticClass:"empty-tip"},[t._v("暂无说明,点击添加")])])]):e("div",{staticClass:"rule-grid single"},[e("div",{staticClass:"rule-card explain-card-half"},[e("div",{staticClass:"rule-head"},[e("div",{staticClass:"rule-title"},[t._v("说明")]),e("el-button",{attrs:{type:"primary",size:"mini"},on:{click:t.addExplain}},[t._v("添加")])],1),t.form.explains&&t.form.explains.length?e("div",{staticClass:"explain-list"},t._l(t.form.explains,(function(s,a){return e("div",{key:"e-"+a,staticClass:"explain-item"},[e("el-input",{staticClass:"explain-textarea",class:{"text-red":2==s.color,"text-blue":3==s.color,"text-bold":2==s.fontWeight},attrs:{type:"textarea",maxlength:50,rows:2,placeholder:"最多50字"},model:{value:s.explain,callback:function(e){t.$set(s,"explain",e)},expression:"exp.explain"}}),e("div",{staticClass:"explain-actions"},[e("button",{staticClass:"seg-btn mini",class:{active:1==s.color},attrs:{type:"button"},on:{click:function(e){return t.setExplainColor(a,1)}}},[t._v("黑色")]),e("button",{staticClass:"seg-btn mini",class:{active:2==s.color},attrs:{type:"button"},on:{click:function(e){return t.setExplainColor(a,2)}}},[t._v("红色")]),e("button",{staticClass:"seg-btn mini",class:{active:3==s.color},attrs:{type:"button"},on:{click:function(e){return t.setExplainColor(a,3)}}},[t._v("蓝色")]),e("button",{staticClass:"seg-btn mini",class:{active:1==s.fontWeight},attrs:{type:"button"},on:{click:function(e){return t.setExplainWeight(a,1)}}},[t._v("常规")]),e("button",{staticClass:"seg-btn mini",class:{active:2==s.fontWeight},attrs:{type:"button"},on:{click:function(e){return t.setExplainWeight(a,2)}}},[t._v("加粗")]),e("a",{staticClass:"link-del",on:{click:function(e){return t.removeExplain(a)}}},[t._v("删除")])])],1)})),0):e("div",{staticClass:"empty-tip"},[t._v("暂无说明,点击添加")])])])]),e("div",{staticClass:"ps-footer"},[e("el-button",{attrs:{size:"small"},on:{click:t.onCancel}},[t._v("取消")]),e("el-button",{staticClass:"btn-save",attrs:{type:"primary",loading:t.saving},on:{click:t.submitSave}},[t._v("保存设置")])],1)],1)},i=[],n=s("ecc5"),l=s("e14e"),r=(s("e491"),s("17ee"),s("0da6"),s("b138"),s("2153"),s("8f26"),s("d9d9"),s("963e"),s("356e"),s("4786"),s("8197"),s("0401"),{name:"ps-method",data:function(){return{loading:!1,saving:!1,tabs:[{name:"送货",value:0},{name:"自取",value:1},{name:"跑腿",value:2},{name:"快递",value:4},{name:"物流",value:3}],tabIndex:"0",sortsList:[],deliveryMerchantBound:!1,form:this.createEmptyForm(0)}},computed:{sortedMethodsText:function(){var t=this.sortsList.filter((function(t){return 0!==t.status}));if(!t.length)return"暂无启用的配送方式";var e=Object(l["a"])(t).sort((function(t,e){return t.sort!==e.sort?t.sort-e.sort:t.style-e.style}));return e.map((function(t){return t.name})).join(" - ")},deliveryBindText:function(){return this.deliveryMerchantBound?"已绑定":"-"}},created:function(){this.loadConfig(0),this.loadSorts()},methods:{createEmptyForm:function(t){return{id:0,style:t,name:"",status:1,sort:0,minAmount:0,minNum:0,unMeet:0,unMeetFee:0,calcType:0,hsFreeKm:0,hsPerKmPrice:0,startKm:0,startPrice:0,perKmPrice:0,changeRate:0,explains:[],reduceRules:[]}},onTabClick:function(){var t=Number(this.tabIndex),e=this.tabs[t].value;this.loadConfig(e),2===e&&this.loadDeliveryBindStatus()},loadSorts:function(){var t=this;this.$service.psMethod.getSorts().then((function(e){t.sortsList=Array.isArray(e)?e:e&&e.list||[]})).catch((function(){}))},loadDeliveryBindStatus:function(){var t=this;return this.$service.delivery.platformList().then((function(e){var s=e&&e.platformList||[];t.deliveryMerchantBound=s.some((function(t){return!!t.is_authorized}))})).catch((function(){t.deliveryMerchantBound=!1}))},onManageProvider:function(){this.$message.info("请前往小程序「跑腿管理」完成授权绑定")},onManageWl:function(){this.$message.info("请前往小程序「管理物流」维护承运商")},onCancel:function(){this.loadConfig(this.form.style),this.$message.success("已重新加载当前配置")},onStatusRadio:function(t){var e=this,s=Number(t),a=1===s?0:1;if(1===s&&2===Number(this.form.style)){if(!this.hasValidCustomConfig())return this.$message.warning("请先完整填写自定义计费规则后再启用"),void this.$nextTick((function(){e.form.status=a}));this.canEnableRunner()||(this.$message.warning("请先绑定跑腿商户或配置完整的自定义计费后再启用"),this.$nextTick((function(){e.form.status=a})))}},hasValidCustomConfig:function(){return(Number(this.form.startKm)||0)>0&&(Number(this.form.startPrice)||0)>0&&(Number(this.form.perKmPrice)||0)>0},canEnableRunner:function(){return this.deliveryMerchantBound||this.hasValidCustomConfig()},validateRunnerBeforeSave:function(){return 2!==Number(this.form.style)?"":this.hasValidCustomConfig()?1!==Number(this.form.status)||this.canEnableRunner()?"":"请先绑定跑腿商户或配置完整的自定义计费后再启用":"请完整填写自定义计费规则(起步公里、起步价、超出每公里价)"},loadConfig:function(t){var e=this;this.loading=!0,this.$service.psMethod.getConfig({style:t}).then((function(s){var a=s||{};e.form={id:a.id||0,style:t,name:a.name||"",status:null!=a.status?Number(a.status):1,sort:null!=a.sort?Number(a.sort):0,minAmount:null!=a.minAmount?parseFloat(a.minAmount):0,minNum:null!=a.minNum?Number(a.minNum):0,unMeet:null!=a.unMeet?Number(a.unMeet):0,unMeetFee:null!=a.unMeetFee?parseFloat(a.unMeetFee):0,calcType:null!=a.calcType?Number(a.calcType):0,hsFreeKm:null!=a.hsFreeKm?parseFloat(a.hsFreeKm):0,hsPerKmPrice:null!=a.hsPerKmPrice?parseFloat(a.hsPerKmPrice):0,startKm:null!=a.startKm?parseFloat(a.startKm):0,startPrice:null!=a.startPrice?parseFloat(a.startPrice):0,perKmPrice:null!=a.perKmPrice?parseFloat(a.perKmPrice):0,changeRate:null!=a.changeRate?parseFloat(a.changeRate):0,explains:(a.explains||[]).map((function(t){return Object(n["a"])(Object(n["a"])({},t),{},{color:null!=t.color?Number(t.color):1,fontWeight:null!=t.fontWeight?Number(t.fontWeight):1})})),reduceRules:(a.reduceRules||[]).map((function(t){return Object(n["a"])(Object(n["a"])({},t),{},{meetNum:null!=t.meetNum?Number(t.meetNum):0,meetAmount:null!=t.meetAmount&&""!==t.meetAmount?parseFloat(Number(t.meetAmount)):0,freeKm:null!=t.freeKm&&""!==t.freeKm?parseFloat(Number(t.freeKm)):0,sort:null!=t.sort?Number(t.sort):0})}))},2===t&&e.loadDeliveryBindStatus()})).catch((function(){e.$message.error("加载失败,请重试")})).finally((function(){e.loading=!1}))},addReduceRule:function(){this.form.reduceRules.push({meetNum:0,meetAmount:0,freeKm:0,sort:this.form.reduceRules.length})},clearReduceRuleInputOnFocus:function(t,e){this.$set(t,e,"")},normalizeReduceRuleInput:function(t,e){var s=t[e];if(""!==s&&null!=s){var a=Number(s);Number.isNaN(a)?this.$set(t,e,0):this.$set(t,e,"meetNum"===e?parseInt(a,10):parseFloat(String(a)))}else this.$set(t,e,0)},removeReduceRule:function(t){var e=this;this.$confirm("确认删除该满减规则吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){return e.form.reduceRules.splice(t,1)})).catch((function(){}))},addExplain:function(){this.form.explains.length>=5?this.$message.warning("最多只能添加5条说明"):this.form.explains.push({explain:"",color:1,fontWeight:1,sort:this.form.explains.length})},removeExplain:function(t){var e=this;this.$confirm("确认删除该说明吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){return e.form.explains.splice(t,1)})).catch((function(){}))},setExplainColor:function(t,e){var s=this.form.explains[t];s&&this.$set(this.form.explains,t,Object(n["a"])(Object(n["a"])({},s),{},{color:e}))},setExplainWeight:function(t,e){var s=this.form.explains[t];s&&this.$set(this.form.explains,t,Object(n["a"])(Object(n["a"])({},s),{},{fontWeight:e}))},submitSave:function(){var t=this;if(this.form.name)if(this.form.name.length>4)this.$message.warning("名称最多4个字");else{for(var e=0;e<this.form.explains.length;e++)if(!this.form.explains[e].explain)return void this.$message.warning("请填写第 ".concat(e+1," 条说明内容"));var s=this.validateRunnerBeforeSave();s?this.$message.warning(s):(this.saving=!0,this.$service.psMethod.saveConfig(this.form).then((function(){t.$message.success("保存成功"),t.loadConfig(t.form.style),t.loadSorts()})).finally((function(){t.saving=!1})))}else this.$message.warning("请填写别名")}}}),o=r,c=(s("e759"),s("1805")),u=Object(c["a"])(o,a,i,!1,null,"0451602c",null);e["default"]=u.exports},8197:function(t,e,s){"use strict";var a=s("04c2");a({target:"Number",stat:!0},{isNaN:function(t){return t!==t}})},"887e":function(t,e,s){},e759:function(t,e,s){"use strict";s("887e")}}]);
|