1 |
- webpackJsonp([39],{"0Er2":function(a,e,t){var n=t("MSPi");"string"==typeof n&&(n=[[a.i,n,""]]),n.locals&&(a.exports=n.locals);t("rjj0")("0c0af7fe",n,!0)},"3P41":function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=t("Dd8w"),r=t.n(n),o=t("s8Ph"),i=t("vLgD");var s={name:"categoryParams",data:function(){return{category_id:this.$route.params.id,paramsGroup:[],dialogParamsVisible:!1,paramForm:{},paramsRules:{param_name:[this.MixinRequired("请输入参数名称!")],options:[this.MixinRequired("请输入可选值!")]},addGroupForm:{show:!1,group_name:""}}},created:function(){this.GET_CategoryParamsGroup()},watch:{"paramForm.param_type":function(a){this.paramsRules.options[0].required=2===a}},filters:{paramTypeFilter:function(a){return 1===a?"输入项":"选择项"}},methods:{handleSaveAddParamsGroup:function(){var a,e=this,t=this.addGroupForm.group_name;t?(a={group_name:t,category_id:this.category_id},Object(i.a)({url:"admin/goods/parameter-groups",method:"post",data:a})).then(function(a){e.addGroupForm.group_name="",e.addGroupForm.show=!1,e.$message.success("保存成功!"),e.GET_CategoryParamsGroup()}):this.$message.error("请输入参数组名!")},handleGroupCommand:function(a){switch(a.type){case"edit":this.handleEditGroup(a.group);break;case"delete":this.handleDeleteGroup(a.group);break;case"sort_up":this.handleSortGroup("up",a.group);break;case"sort_down":this.handleSortGroup("down",a.group)}},handleEditGroup:function(a){var e=this;this.$prompt("编辑参数组名","提示",{confirmButtonText:"确定",cancelButtonText:"取消",inputValue:a.group_name,inputPattern:/.+/,inputErrorMessage:"名称不能为空!"}).then(function(t){var n,r;t.value.length>50?e.$message.error("参数组名称不能超过50个字"):(n=a.group_id,r={group_name:t.value,category_id:e.category_id},Object(i.a)({url:"admin/goods/parameter-groups/"+n,method:"put",data:r})).then(function(t){a.group_name=t.group_name,e.$message.success("修改成功!")})}).catch(function(){})},handleDeleteGroup:function(a){var e=this;this.$confirm("确定要删除这个参数组吗?","提示",{type:"warning"}).then(function(){var t,n=a.group_id;(t=n,Object(i.a)({url:"admin/goods/parameter-groups/"+t,method:"delete"})).then(function(){e.$message.success("删除成功!"),e.GET_CategoryParamsGroup()})}).catch(function(){})},handleSortGroup:function(a,e){var t,n,r=this;(t=e.group_id,n=a,Object(i.a)({url:"admin/goods/parameter-groups/"+t+"/sort",method:"put",data:{sort_type:n}})).then(function(){r.paramsGroup=r.swapaPlaces(r.paramsGroup,a,e),r.$message.success("修改成功!")})},handleAddParams:function(a){this.paramForm={param_name:"",param_type:1,options:"",required:0,is_index:0,group_id:a.group_id,category_id:this.category_id},this.dialogParamsVisible=!0},handleEditParam:function(a,e){this.paramForm=r()({},e,{group_id:a.group_id,category_id:this.category_id}),this.dialogParamsVisible=!0},handleDeleteParam:function(a,e){var t=this;this.$confirm("确定要删除这个参数吗?","提示",{type:"warning"}).then(function(){var n;(n=e.param_id,Object(i.a)({url:"admin/goods/parameters/"+n,method:"delete"})).then(function(){t.$message.success("删除成功!"),a.params.splice(a.params.findIndex(function(a){return a===e}),1)})}).catch(function(){})},handleSortParam:function(a,e,t){var n,r,o=this;(n=t.param_id,r=a,Object(i.a)({url:"admin/goods/parameters/"+n+"/sort",method:"put",data:{sort_type:r}})).then(function(){e.params=o.swapaPlaces(e.params,a,t),o.$message.success("修改成功!")})},submitParamForm:function(a){var e=this;this.$refs[a].validate(function(t){var n,r,o=e.paramForm,s=(o.param_type,o.options,o.group_id),p=o.param_id;if(!t)return e.$message.error("表单填写有误,请检查!"),!1;p?(n=p,r=e.paramForm,Object(i.a)({url:"admin/goods/parameters/"+n,method:"put",data:r})).then(function(t){e.dialogParamsVisible=!1;var n=e.paramsGroup.filter(function(a){return a.group_id===s})[0],r=n.params.findIndex(function(a){return a.param_id===p});n.params[r]=t,e.$refs[a].resetFields(),e.$message.success("保存成功!")}):function(a){return Object(i.a)({url:"admin/goods/parameters",method:"post",data:a})}(e.paramForm).then(function(t){e.dialogParamsVisible=!1;var n=e.paramsGroup.findIndex(function(a){return a.group_id===s});e.paramsGroup[n].params.push(t),e.$refs[a].resetFields(),e.$message.success("保存成功!")})})},swapaPlaces:function(a,e,t){var n=a.findIndex(function(a){return a===t});if("up"===e){if(0===n)return a;a[n]=a.splice(n-1,1,a[n])[0]}else{if(n===a.length-1)return a;a[n]=a.splice(n+1,1,a[n])[0]}return a},GET_CategoryParamsGroup:function(){var a=this;o.e(this.category_id).then(function(e){a.paramsGroup=e})}}},p=t("XyMi");var d=function(a){t("0Er2")},l=Object(p.a)(s,function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("div",{attrs:{id:"params-container"}},[t("div",{attrs:{id:"add-new-group"}},[t("i",{staticClass:"add-btn",on:{click:function(e){a.addGroupForm.show=!0}}},[a._v("+")]),a._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:a.addGroupForm.show,expression:"addGroupForm.show"}],staticClass:"add-div"},[t("span",{staticClass:"add-div-title"},[a._v("参数组名")]),a._v(" "),t("input",{directives:[{name:"model",rawName:"v-model",value:a.addGroupForm.group_name,expression:"addGroupForm.group_name"}],domProps:{value:a.addGroupForm.group_name},on:{input:function(e){e.target.composing||a.$set(a.addGroupForm,"group_name",e.target.value)}}}),a._v(" "),t("el-button",{attrs:{type:"text",size:"mini"},on:{click:a.handleSaveAddParamsGroup}},[a._v("保存")]),a._v(" "),t("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(e){a.addGroupForm.show=!1}}},[a._v("取消")])],1)]),a._v(" "),a._l(a.paramsGroup,function(e,n){return t("el-card",{key:e.group_id},[t("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[t("span",[a._v("参数组名:"+a._s(e.group_name))]),a._v(" "),t("el-dropdown",{staticStyle:{float:"right"},attrs:{trigger:"click"},on:{command:a.handleGroupCommand}},[t("span",{staticClass:"el-dropdown-link"},[a._v("操作"),t("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),a._v(" "),t("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t("el-dropdown-item",{attrs:{command:{type:"edit",group:e}}},[a._v("编辑")]),a._v(" "),t("el-dropdown-item",{attrs:{command:{type:"delete",group:e}}},[a._v("删除")]),a._v(" "),0!==n?t("el-dropdown-item",{attrs:{command:{type:"sort_up",group:e}}},[a._v("上移")]):a._e(),a._v(" "),n!==a.paramsGroup.length-1?t("el-dropdown-item",{attrs:{command:{type:"sort_down",group:e}}},[a._v("下移")]):a._e()],1)],1)],1),a._v(" "),e.params&&e.params.length>0?a._l(e.params,function(n,r){return t("div",{key:n.param_id,staticClass:"param-item"},[t("span",[a._v(a._s(n.param_name)+" 【"+a._s(a._f("paramTypeFilter")(n.param_type))+"】")]),a._v(" "),t("span",[t("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(t){return a.handleEditParam(e,n)}}},[a._v("编辑")]),a._v(" "),t("el-button",{staticStyle:{color:"#F56C6C"},attrs:{type:"text",size:"mini"},on:{click:function(t){return a.handleDeleteParam(e,n)}}},[a._v("删除")]),a._v(" "),t("el-button",{attrs:{disabled:0===r,type:"text",size:"mini"},on:{click:function(t){return a.handleSortParam("up",e,n)}}},[a._v("上移")]),a._v(" "),t("el-button",{attrs:{disabled:r===e.params.length-1,type:"text",size:"mini"},on:{click:function(t){return a.handleSortParam("down",e,n)}}},[a._v("下移")])],1)])}):t("div",{staticClass:"param-item empty"},[a._v("暂无数据...")]),a._v(" "),t("el-button",{staticClass:"add-params-btn",attrs:{type:"text"},on:{click:function(t){return a.handleAddParams(e)}}},[a._v("添加")])],2)}),a._v(" "),t("el-dialog",{attrs:{title:a.paramForm.param_id?"编辑参数":"添加参数",visible:a.dialogParamsVisible,"close-on-click-modal":!1,"close-on-press-escape":!1,width:"500px"},on:{"update:visible":function(e){a.dialogParamsVisible=e}}},[t("el-form",{ref:"paramForm",attrs:{model:a.paramForm,rules:a.paramsRules,"label-width":"100px"}},[t("el-form-item",{attrs:{label:"参数名称",prop:"param_name"}},[t("el-input",{model:{value:a.paramForm.param_name,callback:function(e){a.$set(a.paramForm,"param_name",e)},expression:"paramForm.param_name"}})],1),a._v(" "),t("el-form-item",{attrs:{label:"参数类型",prop:"param_type"}},[t("el-select",{attrs:{placeholder:"请选择"},model:{value:a.paramForm.param_type,callback:function(e){a.$set(a.paramForm,"param_type",e)},expression:"paramForm.param_type"}},[t("el-option",{attrs:{label:"输入项",value:1}}),a._v(" "),t("el-option",{attrs:{label:"选择项",value:2}})],1)],1),a._v(" "),t("el-form-item",{attrs:{label:"可选择值",prop:"options"}},[t("el-input",{ref:"paramOptionsInput",attrs:{type:"textarea",autosize:{minRows:2,maxRows:4},placeholder:"请输入可选择值,多个值用英文逗号隔开。(选择'选择项'时,必填!)"},model:{value:a.paramForm.options,callback:function(e){a.$set(a.paramForm,"options",e)},expression:"paramForm.options"}})],1),a._v(" "),t("el-form-item",{attrs:{label:"选项"}},[t("el-checkbox",{attrs:{"true-label":1,"false-label":0},model:{value:a.paramForm.required,callback:function(e){a.$set(a.paramForm,"required",e)},expression:"paramForm.required"}},[a._v("必填")]),a._v(" "),t("el-checkbox",{attrs:{"true-label":1,"false-label":0},model:{value:a.paramForm.is_index,callback:function(e){a.$set(a.paramForm,"is_index",e)},expression:"paramForm.is_index"}},[a._v("可索引")])],1)],1),a._v(" "),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{on:{click:function(e){a.dialogParamsVisible=!1}}},[a._v("取 消")]),a._v(" "),t("el-button",{attrs:{type:"primary"},on:{click:function(e){return a.submitParamForm("paramForm")}}},[a._v("确 定")])],1)],1)],2)},[],!1,d,"data-v-7664ca2e",null);e.default=l.exports},MSPi:function(a,e,t){(a.exports=t("FZ+f")(!1)).push([a.i,"\n#params-container[data-v-7664ca2e] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n position: relative;\n background-color: #fff;\n padding: 10px;\n min-height: 150px;\n}\n#params-container[data-v-7664ca2e] .el-card {\n min-width: 300px;\n max-width: 500px;\n min-height: 100px;\n margin: 10px;\n overflow: hidden;\n}\n#params-container[data-v-7664ca2e] .el-card__header {\n padding: 10px 15px;\n background-color: #f5f7fa;\n}\n#params-container[data-v-7664ca2e] .el-card__body {\n padding: 10px 15px 0;\n}\n#params-container[data-v-7664ca2e] .el-dropdown-link {\n cursor: pointer;\n color: #409eff;\n}\n#params-container[data-v-7664ca2e] .el-icon-arrow-down {\n font-size: 12px;\n}\n#add-new-group[data-v-7664ca2e] {\n position: absolute;\n left: 10px;\n top: 10px;\n z-index: 10;\n min-width: 30px;\n height: 30px;\n background: #475669;\n border-radius: 50%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-transition: background-color .3s ease;\n transition: background-color .3s ease;\n}\n#add-new-group[data-v-7664ca2e]:hover {\n background-color: #c0ccda;\n cursor: pointer;\n}\n#add-new-group:hover .add-btn[data-v-7664ca2e] {\n color: #475669;\n}\n#add-new-group .add-btn[data-v-7664ca2e] {\n display: block;\n width: 30px;\n text-align: center;\n font-size: 30px;\n font-weight: bold;\n color: white;\n margin-top: -7px;\n}\n#add-new-group .add-div[data-v-7664ca2e] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n background: #324057;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: distribute;\n justify-content: space-around;\n min-width: 330px;\n height: 40px;\n position: absolute;\n top: -5px;\n left: 50px;\n padding: 2px 5px;\n color: #F9FAFC;\n -webkit-box-shadow: 0 0 10px 0 #303133;\n box-shadow: 0 0 10px 0 #303133;\n}\n#add-new-group .add-div .add-div-title[data-v-7664ca2e] {\n font-size: 12px;\n}\n.add-params-btn[data-v-7664ca2e] {\n width: 100%;\n}\n.el-tag + .el-tag[data-v-7664ca2e] {\n margin-left: 10px;\n}\n.button-new-tag[data-v-7664ca2e] {\n margin-left: 10px;\n height: 32px;\n line-height: 30px;\n padding-top: 0;\n padding-bottom: 0;\n}\n.input-new-tag[data-v-7664ca2e] {\n width: 90px;\n margin-left: 10px;\n vertical-align: bottom;\n}\n[data-v-7664ca2e] .el-checkbox + .el-checkbox {\n margin-left: 20px;\n}\n[data-v-7664ca2e] .el-button + .el-button {\n margin-left: 0;\n}\n.param-item[data-v-7664ca2e] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 7px;\n background-color: #f5f7fa;\n font-size: 14px;\n}\n.param-item.empty[data-v-7664ca2e] {\n background-color: #fff;\n}\n",""])}});
|