chunk-6b601b6a.5681e68f.js 13 KB

1
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-6b601b6a"],{"066b":function(t,e,i){"use strict";var o=i("04c2"),a=i("f5ed").trim,n=i("d6c5");o({target:"String",proto:!0,forced:n("trim")},{trim:function(){return a(this)}})},5882:function(t,e,i){"use strict";i("9698")},"8b39":function(t,e,i){"use strict";i.r(e);i("7212");var o=function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],staticClass:"category-ad-panel"},[t._m(0),t._l(t.adList,(function(i,o){return e("div",{key:o,staticClass:"ad-card"},[e("div",{staticClass:"card-title"},[t._v("轮播图"+t._s(o+1))]),e("div",{staticClass:"upload-row"},[i.img?e("div",{staticClass:"banner-preview"},[e("img",{attrs:{src:t.imgFullUrl(i.img),alt:"广告图"}}),e("i",{staticClass:"el-icon-close remove-btn",on:{click:function(e){return t.removeImage(o)}}})]):e("el-upload",{staticClass:"banner-uploader",attrs:{action:t.uploadAction,headers:t.uploadHeaders,"show-file-list":!1,"before-upload":t.beforeUpload,"on-success":function(e,i){return t.onUploadSuccess(e,i,o)},accept:"image/*"}},[e("div",{staticClass:"upload-placeholder"},[e("i",{staticClass:"el-icon-upload"}),e("div",[t._v("点击上传图片")]),e("div",{staticClass:"tip"},[t._v("建议尺寸:750*300,支持 jpg/png")])])])],1),e("div",{staticClass:"field-row"},[e("span",{staticClass:"field-label"},[t._v("关联类型")]),e("el-radio-group",{attrs:{size:"small"},model:{value:i.type,callback:function(e){t.$set(i,"type",e)},expression:"item.type"}},[e("el-radio-button",{attrs:{label:1}},[t._v("图文")]),e("el-radio-button",{attrs:{label:2}},[t._v("商品")]),e("el-radio-button",{attrs:{label:3}},[t._v("分类")])],1)],1),e("div",{staticClass:"field-row"},[e("span",{staticClass:"field-label"},[t._v("关联内容")]),e("el-button",{attrs:{type:"text"},on:{click:function(e){return t.openLinkSelect(o)}}},[t._v(" "+t._s(t.getActiveLink(i).valueLabel||"选择关联内容")+" ")])],1)])})),e("div",{staticClass:"ad-footer"},[e("el-button",{attrs:{size:"small"},on:{click:t.previewAd}},[t._v("预览")]),e("el-button",{attrs:{type:"primary",size:"small",loading:t.saving},on:{click:t.saveAd}},[t._v("保存")])],1),e("el-dialog",{attrs:{title:"选择分类",visible:t.categoryPickerShow,width:"480px","append-to-body":""},on:{"update:visible":function(e){t.categoryPickerShow=e}}},[e("el-input",{staticStyle:{"margin-bottom":"12px"},attrs:{size:"small",clearable:"",placeholder:"搜索分类名称"},model:{value:t.categorySearchText,callback:function(e){t.categorySearchText=e},expression:"categorySearchText"}}),e("div",{staticClass:"pick-list"},[e("el-checkbox-group",{model:{value:t.categoryPickIds,callback:function(e){t.categoryPickIds=e},expression:"categoryPickIds"}},t._l(t.filteredBouquetCategories,(function(i){return e("el-checkbox",{key:i.id,staticClass:"pick-item",attrs:{label:String(i.id)}},[t._v(t._s(i.categoryName))])})),1)],1),e("span",{attrs:{slot:"footer"},slot:"footer"},[e("el-button",{attrs:{size:"small"},on:{click:function(e){t.categoryPickerShow=!1}}},[t._v("取消")]),e("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirmCategoryPick}},[t._v("确定")])],1)],1),e("el-dialog",{attrs:{title:"选择商品",visible:t.goodsPickerShow,width:"640px","append-to-body":""},on:{"update:visible":function(e){t.goodsPickerShow=e}}},[e("el-input",{staticStyle:{width:"240px","margin-bottom":"12px"},attrs:{size:"small",clearable:"",placeholder:"搜索商品名称"},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.loadGoodsOptions.apply(null,arguments)}},model:{value:t.goodsSearchText,callback:function(e){t.goodsSearchText=e},expression:"goodsSearchText"}}),e("el-button",{staticStyle:{"margin-left":"8px"},attrs:{size:"small",type:"primary"},on:{click:t.loadGoodsOptions}},[t._v("查询")]),e("el-table",{ref:"goodsTable",attrs:{data:t.goodsOptions,border:"",size:"small","max-height":"360"},on:{"selection-change":t.onGoodsSelectionChange}},[e("el-table-column",{attrs:{type:"selection",width:"48"}}),e("el-table-column",{attrs:{prop:"goodsName",label:"商品名称","min-width":"180"},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.row;return[t._v(t._s(i.goodsName||i.name))]}}])}),e("el-table-column",{attrs:{prop:"id",label:"ID",width:"90"}})],1),e("span",{attrs:{slot:"footer"},slot:"footer"},[e("el-button",{attrs:{size:"small"},on:{click:function(e){t.goodsPickerShow=!1}}},[t._v("取消")]),e("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirmGoodsPick}},[t._v("确定")])],1)],1),e("el-dialog",{attrs:{title:"选择图文",visible:t.picTextPickerShow,width:"560px","append-to-body":""},on:{"update:visible":function(e){t.picTextPickerShow=e}}},[e("el-table",{attrs:{data:t.picTextOptions,border:"",size:"small","max-height":"360"},on:{"row-click":function(e){return t.selectPicTextRow(e)}}},[e("el-table-column",{attrs:{label:"",width:"52",align:"center"},scopedSlots:t._u([{key:"default",fn:function(i){var o=i.row;return[e("el-radio",{attrs:{label:o.id},on:{change:function(e){return t.selectPicTextRow(o)}},model:{value:t.picTextPickId,callback:function(e){t.picTextPickId=e},expression:"picTextPickId"}},[t._v(" ")])]}}])}),e("el-table-column",{attrs:{prop:"id",label:"ID",width:"80"}}),e("el-table-column",{attrs:{prop:"title",label:"标题","min-width":"200"},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.row;return[t._v(t._s(i.title||i.name||"图文"+i.id))]}}])})],1),e("span",{attrs:{slot:"footer"},slot:"footer"},[e("el-button",{attrs:{size:"small"},on:{click:function(e){t.picTextPickerShow=!1}}},[t._v("取消")]),e("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirmPicTextPick}},[t._v("确定")])],1)],1),e("el-dialog",{attrs:{title:"广告预览",visible:t.previewShow,width:"520px","append-to-body":""},on:{"update:visible":function(e){t.previewShow=e}}},[t.previewSlides.length?e("el-carousel",{attrs:{height:"220px"}},t._l(t.previewSlides,(function(t,i){return e("el-carousel-item",{key:i},[e("img",{staticClass:"preview-img",attrs:{src:t,alt:"预览"}})])})),1):t._e()],1)],2)},a=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"ad-head"},[e("div",{staticClass:"ad-title"},[t._v("分类广告图片")]),e("div",{staticClass:"ad-sub"},[t._v("最多支持上传 3 张轮播图")])])}],n=i("35e1"),s=i("ecc5"),r=(i("b15b"),i("e491"),i("637a"),i("e292"),i("17ee"),i("0da6"),i("b138"),i("71e2"),i("8f26"),i("d9d9"),i("3739"),i("666b"),i("963e"),i("209c"),i("f803"),i("4786"),i("6d35"),i("0401"),i("d27c"),i("5889"),i("2d28"),i("86d6"),i("066b"),i("fddf"),i("51be")),l=i("4360"),c=function(){return{value:"",valueLabel:""}},u=function(){return{type:1,img:"",links:{1:c(),2:c(),3:c()}}},d={name:"category-ad-panel",data:function(){return{loading:!1,saving:!1,adList:[u(),u(),u()],bouquetCategories:[],categoryPickerShow:!1,categoryPickIndex:0,categoryPickIds:[],categorySearchText:"",goodsPickerShow:!1,goodsPickIndex:0,goodsOptions:[],goodsSearchText:"",goodsSelected:[],picTextPickerShow:!1,picTextPickIndex:0,picTextOptions:[],picTextPickId:null,picTextPickRow:null,previewShow:!1,uploadAction:"",uploadHeaders:{}}},computed:{previewSlides:function(){var t=this;return this.adList.filter((function(t){return t.img})).map((function(e){return t.imgFullUrl(e.img)}))},filteredBouquetCategories:function(){var t=(this.categorySearchText||"").trim().toLowerCase();return t?this.bouquetCategories.filter((function(e){return String(e.categoryName||"").toLowerCase().includes(t)})):this.bouquetCategories}},created:function(){var t=this.$service.common.upload();this.uploadAction=t.url,this.uploadHeaders={token:l["default"].state.user.token||""},this.init()},methods:{init:function(){this.loadSetting(),this.loadBouquetCategories()},imgFullUrl:function(t){if(!t)return"";if(/^https?:\/\//.test(t))return t;var e=String(r["imgHostUrl"]||"").replace(/\/$/,"");return"".concat(e,"/").concat(String(t).replace(/^\//,""))},loadSetting:function(){var t=this;this.loading=!0,this.$service.categorySetting.detail().then((function(e){var i=e||{};t.adList=t.parseAdvertisement(i.advertisement)})).finally((function(){t.loading=!1}))},loadBouquetCategories:function(){var t=this;this.$service.category.getList().then((function(e){t.bouquetCategories=e||[],t.adList=t.adList.map((function(e){return t.refreshSlotLinkLabels(e)}))}))},getActiveLink:function(t){var e=t.type||1;return t.links&&t.links[e]||c()},setSlotLink:function(t,e,i,o){t.links||this.$set(t,"links",{1:c(),2:c(),3:c()}),this.$set(t.links,e,{value:i||"",valueLabel:o||""})},refreshSlotLinkLabels:function(t){var e=this,i=t.links||{1:c(),2:c(),3:c()};return[1,2,3].forEach((function(t){var o=i[t]||c();o.value&&(i[t]={value:o.value,valueLabel:e.buildValueLabel(t,o.value,o.valueLabel)})})),Object(s["a"])(Object(s["a"])({},t),{},{links:i})},parseAdvertisement:function(t){var e=this,i=[u(),u(),u()];if(!t)return i;var o=[];try{o="string"===typeof t?JSON.parse(t):t}catch(a){return i}return Array.isArray(o)?(o.slice(0,3).forEach((function(t,o){var a=parseInt(t.type,10)||1,n=t.value?String(t.value):"",s={1:c(),2:c(),3:c()};s[a]={value:n,valueLabel:e.buildValueLabel(a,n)},i[o]={type:a,img:t.img||"",links:s}})),i):i},buildValueLabel:function(t,e,i){var o=this;if(!e)return"";var a=e.split(",").filter(Boolean);if(1===t)return i&&0!==i.indexOf("图文ID:")?i:a.length?"图文ID:".concat(a.join(",")):"";if(2===t)return"已选".concat(a.length,"个商品");if(3===t){var n=a.map((function(t){var e=o.bouquetCategories.find((function(e){return String(e.id)===String(t)}));return e?e.categoryName:t}));return n.join("、")||"已选".concat(a.length,"个分类")}return""},beforeUpload:function(t){var e=0===t.type.indexOf("image/");return e||this.$message.error("请上传图片文件"),e},onUploadSuccess:function(t,e,i){var o=t&&t.data&&"object"===Object(n["a"])(t.data)?t.data:t||{},a=o.shortUrl||o.smallShortUrl||o.url||"";a?this.adList[i].img=String(a).replace(/^\//,""):this.$message.error("上传失败")},removeImage:function(t){this.adList[t].img=""},openLinkSelect:function(t){var e=this,i=this.adList[t],o=this.getActiveLink(i);if(1===i.type){this.picTextPickIndex=t;var a=o.value?Number(String(o.value).split(",")[0]):null;return this.picTextPickId=a||null,this.picTextPickRow=null,void this.loadPicTextOptions().then((function(){e.syncPicTextPickRow(),e.picTextPickerShow=!0}))}if(2===i.type)return this.goodsPickIndex=t,this.goodsSearchText="",this.goodsSelected=[],void this.loadGoodsOptions().then((function(){e.goodsPickerShow=!0,e.$nextTick((function(){var t=(o.value||"").split(",").filter(Boolean);(e.goodsOptions||[]).forEach((function(i){t.includes(String(i.id))&&e.$refs.goodsTable&&e.$refs.goodsTable.toggleRowSelection(i,!0)}))}))}));3===i.type&&(this.categoryPickIndex=t,this.categorySearchText="",this.categoryPickIds=o.value?o.value.split(",").filter(Boolean):[],this.categoryPickerShow=!0)},loadPicTextOptions:function(){var t=this;return this.$service.picText.list().then((function(e){var i=Array.isArray(e)?e:e&&e.list||[];t.picTextOptions=i}))},selectPicTextRow:function(t){t&&(this.picTextPickId=t.id,this.picTextPickRow=t)},syncPicTextPickRow:function(){var t=this;null!=this.picTextPickId?this.picTextPickRow=(this.picTextOptions||[]).find((function(e){return String(e.id)===String(t.picTextPickId)}))||null:this.picTextPickRow=null},confirmPicTextPick:function(){if(this.syncPicTextPickRow(),this.picTextPickRow){var t=this.picTextPickRow,e=t.title||t.name||"图文ID:".concat(t.id);this.setSlotLink(this.adList[this.picTextPickIndex],1,String(t.id),e),this.picTextPickerShow=!1}else this.$message.warning("请选择图文")},loadGoodsOptions:function(){var t=this,e={page:1,pageSize:50,search:(this.goodsSearchText||"").trim()};return this.$service.category.goodsList(e).then((function(e){t.goodsOptions=e&&e.list||[]}))},onGoodsSelectionChange:function(t){this.goodsSelected=t||[]},confirmGoodsPick:function(){var t=this.goodsSelected.map((function(t){return String(t.id)})),e=t.join(",");this.setSlotLink(this.adList[this.goodsPickIndex],2,e,t.length?"已选".concat(t.length,"个商品"):""),this.goodsPickerShow=!1},confirmCategoryPick:function(){var t=(this.categoryPickIds||[]).join(",");this.setSlotLink(this.adList[this.categoryPickIndex],3,t,this.buildValueLabel(3,t)),this.categoryPickerShow=!1},previewAd:function(){this.previewSlides.length?this.previewShow=!0:this.$message.warning("请先上传广告图")},saveAd:function(){for(var t=this,e=[],i=0;i<this.adList.length;i++){var o=this.adList[i],a=this.getActiveLink(o);if(o.img||a.value){if(o.img&&!a.value)return void this.$message.warning("请完善轮播图".concat(i+1,"的关联内容"));if(a.value&&!o.img)return void this.$message.warning("请上传轮播图".concat(i+1,"的图片"));e.push({type:o.type,img:o.img,value:a.value})}}this.saving||(this.saving=!0,this.$service.categorySetting.saveAdvertisement({advertisement:JSON.stringify(e)}).then((function(){t.$message.success("保存成功"),t.loadSetting()})).finally((function(){t.saving=!1})))}}},p=d,h=(i("5882"),i("1805")),g=Object(h["a"])(p,o,a,!1,null,"279aa41f",null);e["default"]=g.exports},9698:function(t,e,i){},d6c5:function(t,e,i){"use strict";var o=i("d240").PROPER,a=i("56ce"),n=i("2e27"),s="​…᠎";t.exports=function(t){return a((function(){return!!n[t]()||s[t]()!==s||o&&n[t].name!==t}))}}}]);