1import{P as e}from"./CfT17D4V.js";import{e4 as t,c2 as s,dm as l,cN as a,dY as o,ca as i,e5 as r,c_ as n,cK as d,ck as p,a_ as c,aM as u,v as b,t as m,u as y,w as h,av as B,bK as f,b0 as C,F as v,aY as g,I as $,bc as k,J as D,i as P,e6 as E,cl as I}from"./rPzCxgu2.js";import T from"./BdDx9hpI.js";import{_ as x,T as w}from"./BQj39_4F.js";import{u as R}from"./3Pj12Ctb.js";import{O as _}from"./DLjLzfAy.js";import{c as K}from"./DiaHg6OO.js";import{m as j}from"./U-eF5xDC.js";import{m as S}from"./DRJczjAW.js";/* empty css *//* empty css */import{_ as H}from"./BCo6x5W8.js";const M=(e,t={})=>{const{keys:s,values:l}=Object,a=e=>parseInt(e,10),o=s(t),i=Math.max(...l(t));return 0!==o.length&&Number.isFinite(i)?"number"!=typeof e||isNaN(e)||e<=0?i:t[((e,t)=>{for(const s of t){const[t,l=null]=s.split("-").map(a);if(null===l){if(e>=t)return s}else if(e>=t&&e<=l)return s}})(e,o)]||i:null};let L=class extends _{constructor(e=[],i){const r={code:"id",text:"label",name:"label"},n=K(e=>({...t(r,e),params:{...e}}));super(e.map(e=>({...s(n,l(a`id label params`))(e)})).filter(({label:e})=>o(e)),i)}setEmptyOption(e){return this.__emptyOption=e,this}__hasType(e){return this.some(({params:t})=>t.type===e&&void 0!==t.quantity&&t.quantity>0)}filterProducts(e){return e(this.labels)}get weight(){return this.params.reduce((e,t)=>0!==e&&0!==t?(100*e+100*t)/100:e+t,0)}get hasType1(){return this.__hasType(1)}get hasType2(){return this.__hasType(2)}get hasType3(){return this.__hasType(3)}get hasType4(){return this.__hasType(4)}};const N=w,V={name:"ShoprequestsAppProducts",props:{discs:p([Array],[],!1),products:p([L],null,!0),chosenProducts:p([Array],null,!1),selectedProducts:p([Object],null,!1),consumerID:p([String,Number],null,!0),isEditable:p([Boolean],!0,!1)},emits:["edit","remove"],mixins:[j,S],setup(){const{breakpoints:e}=R();return{breakpoints:e}},data(){const[e,t]=["ÐÑбеÑиÑе пÑодÑкÑâ¦","empty"];return{TH:N,emptyKey:t,emptyLabel:e,emptyOption:{label:e,id:"empty"},informationMessage:"",table:null,titleInfo:"",updKey:0,updKeyTable:0,isPending:!1,colsAndColumns:[7,2,3]}},created(){const{colsAndColumns:e}=this;this.init(),this.setBemBlock(this.currentBEMBlock),this.breakpoints.checkRes(e=>this.updKeyTable++),this.breakpoints.watchBreakpoints(t=>{this.updKeyTable++;const s=this.breakpoints.is(a`@media-sm-md @media-nano-sm @media-nano`);s&&this.table&&N.hasBody(this.table)?e.forEach((e,t)=>{this.table.setHeaderCellProp(t,"col",null).setBodyCellPropsAlt(t,"col",null).setFooterCellProp(t,"col",null)}):!s&&this.table&&N.hasBody(this.table)&&e.forEach((e,t)=>{this.table.setHeaderCellProp(t,"col",e).setBodyCellPropsAlt(t,"col",e).setFooterCellProp(t,"col",e)})}),this.edit()},methods:{filterRows(e){const{props:t}=e,{isMakedForDelete:s}=t;return!s},getMax(e,t){const{products:s}=this;if(!1===this.isEditable)return null;const{value:l}=this.table.getBodyCellByIndex(t,0);return 1===s.getParamsByLabel(l,["type"])?1:null},tagByRule(e,t){return this.breakpoints.is(["@media-nano","@media-nano-sm","@media-sm-md"])?e:t},toInt:e=>d(e),aggrigatePayload(){const{products:e,chosenProducts:t}=this,s=[];let l=null;return this.table.forEach(({cell:o,indexCell:r})=>{const{value:n}=o,d=i(!1,a`row props isDisc`,o),p=i(!1,a`row props hasDisc`,o),c=i(null,a`props contentdataID`,o),[u,b]=[0,1];let m=!1;if(r===u){if(e.size>0){if(l=e.getIdByLabel(n),!l&&!d){const e=" (ÐÑодÑÐºÑ ÑнÑÑ Ñ Ð¿Ñодажи)",s=t.find(({name:t})=>t===n.replace(e,""));s.isUnavailable=!0,l=s?.code,m=!0}}else l=t.find(({name:e})=>e===n)?.code;if(m&&p){const e=this.table.search("props.contentdataID",c),[t]=e.filter(e=>i(!1,a`props isDisc`,e));t.props.isUnavailable=!0,t.props.isDiscontinued=!0,t[t.keyItems][2].value=""}s.push({code:l,label:n,quantity:-1,type:-1,cost:-1,...m?{isUnavailable:m}:{}})}r===b&&l&&(s.at(-1).quantity=n,s.at(-1).type=e.size>0?e.getParamsById(l,["type"]):t.find(e=>e.code===l)?.type,s.at(-1).cost=e.size>0?e.getParamsById(l,["price"]):t.find(e=>e.code===l)?.cost,l=null)}),s},remove(e,t,s,l){const{consumerID:a}=this;this.$emit("remove",{consumerID:a,product:{id:e.id||t.id,label:e.label||t.label,params:e||t},isChosenProduct:s,isSelectedProduct:l})},edit(){const{consumerID:e,emptyOption:t}=this,s=this.aggrigatePayload();this.$emit("edit",{consumerID:e,selectedProducts:s,emptyOption:t})},init(){const{colsAndColumns:e,isEditable:t,products:l}=this;if(l.setEmptyOption(this.emptyOption),this.table=new N({header:N.makeRow(N.makeCell.bind(N,"ÐÑодÑкÑ",{isTitle:!0,col:e[0],useSlot:!0,isRequired:!!this.isEditable}),N.makeCell.bind(N,"ÐолиÑеÑÑво",{isTitle:!0,col:e[1],useSlot:!0,isRequired:!!this.isEditable}),N.makeCell.bind(N,"СÑоимоÑÑÑ",{isTitle:!0,col:e[2],useSlot:!0,align:"right"}))({})}),this.joinedChosenProducts&&this.joinedChosenProducts.length>0){const e="ÐÑодÑÐºÑ ÑнÑÑ Ñ Ð¿Ñодажи";
1this.joinedChosenProducts.forEach(({code:a,name:o,quantity:i,price:r=0,isChosenProduct:d,cost:p=0,contentdataID:c,isDisc:u=!1,hasDisc:b=!1})=>{const m=0===l.size,y=l.getLabelById(a),h=null===y&&t&&!u;let B=0;B=m||u||d?p||r:l.getParamsById(a,["price"])||0;const f=s(n,e=>m||d||u?e:n(i)*e,e=>this.formatCurrency(e,{isHtml:!1,type:"RUB"}))(B),C=e=>t&&!1===u?e:"text";this.table.addBodyRow(s=>N.makeRow(N.makeCell.bind(N,`${u?"ð¿ ":""}${y||o}${h?" ("+e+")":""}`,{typeControl:C("text"),label:"ÐÑодÑкÑ",selectedKey:a,contentdataID:c,isDisabled:!0,isDisc:u,hasDisc:b}),N.makeCell.bind(N,i,{typeControl:C("text"),label:"ÐолиÑеÑÑво",isDisabled:!0,isDisc:u}),N.makeCell.bind(N,h?"":f,{typeControl:"text",label:"СÑоимоÑÑÑ",isShowDeleteButton:t||h,isDisabled:!0}))({isDiscontinued:h,isDisc:u,hasDisc:b,isExisted:!0})),this.table.setupBody()})}},filterProducts(e){const{products:t}=this,l={},a=e=>null,o=s(r(E,a),s(e=>{const s=this.cmpSelectedProducts.includes(e),a=t.getParamsByLabel(e,["type"]);return void 0===l[a]&&(l[a]=0),s&&l[a]++,1===a&&l[a]>=1||s},e=>!e)),i=s(r(E,a),r(o,a));return e.filter(i)},removeBodyRow(e){const t=(()=>{const{value:t}=this.table.getBodyCellByIndex(e,0),s=this.joinedChosenProducts.find(e=>e.name===t)||!1;return s&&{...s,id:s.code,label:s.name}})(),s=Boolean(t),l=!s&&(()=>{const{value:t,props:s}=this.table.getBodyCellByIndex(e,0),l=this.selectedProducts.find(e=>e.label===t);return!!l&&{...l,params:{...l.params,...s}}}
1)(),o=Boolean(l),{hasDisc:r=!1}=t||l?.params||{};if(this.remove(t,l,s,o),this.table.removeBodyRowByIndex(e),r){const{contentdataID:e}=t,s=this.table.findAllByProp("props.contentdataID",e).find(e=>i(!1,a`row props isDisc`,e));if(s){const{indexRow:e}=s;this.table.removeBodyRowByIndex(e)}}this.updKey++},addBodyRow(){this.table.addBodyRow(e=>N.makeRow(N.makeCell.bind(N,this.productLabelsDefault,{typeControl:"select",label:"ÐÑодÑкÑ",selectedKey:"empty"}),N.makeCell.bind(N,0,{typeControl:"stepper",label:"ÐолиÑеÑÑво",isDisabled:!0}),N.makeCell.bind(N,this.formatCurrency(0,{isHtml:!1,type:"RUB"}),{typeControl:"text",label:"СÑоимоÑÑÑ",isShowDeleteButton:!0,isDisabled:!0}))({})),this.table.setupBody()},blurEvent({model:e},t,s){if(void 0===e)return null;this.table.setBodyCellValue(e,t,s),this.table.setupBody(),this.updKey++},selectEvent(){},deselectedEvent({model:e,isExtra:t=!1},s,l){if(void 0===e)return null;t?this.table.setBodyCellProps({extraValue:e},s,l):(this.table.setBodyCellValue(e,s,l),this.table.setBodyCellProps({extraValue:null},s,l)),this.table.setupBody(),this.updKey++},selectedEvent({model:e},t,s){if(void 0===e)return null;const{products:l}=this,a=l.getIdByLabel(e);this.table.setBodyCellValue(e,t,s),this.table.setBodyCellProps({selectedKey:a},t,s),this.table.setBodyCellValue(1,t,s+1),this.updateCellPrice(t),this.table.setupBody(),this.updKey++},changeEvent({model:e},t,s){if(void 0===e)return null;this.table.setBodyCellValue(e,t,s),this.updateCellPrice(t),1===s&&!1===Boolean(e)?this.removeBodyRow(t):this.table.setupBody(),this.updKey++},inputEvent({model:e},t,s){if(void 0===e)return null;this.table.setBodyCellValue(e,t,s),this.table.setupBody(),this.updKey++},clearEvent(e,t,s){if(void 0===e)return null;this.table.setBodyCellValue(this.emptyLabel,t,s),this.updateCellPrice(t),this.table.setupBody(),this.updKey++,this.edit()},updateCellPrice(e){const{products:t}=this,[s,l,a]=[0,1,2],{value:o,props:i={}}=this.table.getBodyCellByIndex(e,s),{value:r}=this.table.getBodyCellByIndex(e,l),{selectedKey:n}=i;this.table.setBodyCellProps(n===this.emptyKey||null===o?{isDisabled:!0}:{isDisabled:!1},e,l);const{params:d={}}=t.getOptionByLabel(o),{price:p=0,discount:c={}}=d,u=(M(r,c)||p)*r||0;(!o||o===this.emptyLabel)&&this.table.setBodyCellValue(0,e,l),this.table.setBodyCellValue(this.formatCurrency(u,{isHtml:!1,type:"RUB"}),e,a),this.table.setupBody(),this.updKey++,this.edit()}},computed:{productLabelsDefault(){return this.emptyLabel},joinedChosenProducts(){const{chosenProducts:e,discs:t}=this.$props,s=[];for(let l=0;l<e.length;l++){const a=e[l],{contentdataID:o}=a,i=t.find(e=>e.contentdataID===o);s.push({...a,isDisc:!1,hasDisc:Boolean(i),isChosenProduct:!0}),i&&s.push({...i,isDisc:!0,productCode:a.code})}return s},computedSum(){if(!N.hasBody(this.table))return this.formatCurrency(0,{isHtml:!1,type:"RUB"});const e=(e,{value:t})=>e+s(I,e=>e.replace(/[^\d.]/gim,""),n)(t);return s(t=>this.table.getBodyColumn(t).reduce(e,0),e=>this.formatCurrency(e,{isHtml:!1,type:"RUB"}))(2)},isValid(){const{table:e}=this;if(!N.hasBody(e))return!0;const[t,s]=[0,1];let l=!0;return this.table.forEach(({cell:e,indexCell:a})=>{if(a===s){const{value:t}=e;null==t&&(l=!1),n(t)<=0&&(l=!1)}if(a===t){const{value:t}=e;null==t&&(l=!1),t===this.emptyKey&&(l=!1)}}),l},cmpSelectedProducts(){return this.table.getBodyColumn(0).map(({value:e})=>e)}},components:{ComponentStatus:T,TableCell:x,VueJsonPretty:e}},q=["title","onClick"],O=H(V,[["render",function(e,t,s,l,a,o){const i=c("vue-json-pretty"),r=c("TableCell"),n=c("Stepper"),d=c("ListSearchable"),p=c("StdButton");return u(),b(v,null,[e.isTraceMode?(u(),m(i,{key:0,data:s.products,deep:0},null,8,["data"])):y("",!0),e.isTraceMode?(u(),m(i,{key:1,data:s.chosenProducts,deep:0},null,8,["data"])):y("",!0),e.isTraceMode?(u(),m(i,{key:2,data:a.table,deep:0},null,8,["data"])):y("",!0),e.isTraceMode?(u(),m(i,{key:3,data:o.joinedChosenProducts,deep:0},null,8,["data"])):y("",!0),h("div",{ref:"elRoot",class:B(e.$bem(e=>e.e("products-table")))},[a.TH.hasBody(a.table)?(u(),b("div",{key:0,class:B(e.bemNormalize([e.$bem(e=>e.b("b-table")),e.$bem(e=>e.b("b-table").m("with:header")),e.$bem(e=>e.b("b-table").m("without:footer")),e.$bem(e=>e.e("products-table"))]))},[h("div",{class:B(e.$bem(e=>e.b("b-table").e("wrapper")))},[(u(),m(C(o.tagByRule("div","table")),{key:a.updKeyTable,class:B(e.$bem(e=>e.b("b-table").e("table")))},{default:f(()=>[a.TH.hasHeader(a.table)?(u(),m(C(o.tagByRule("div","thead")),{key:0,class:B(e.$bem(e=>e.b("b-table").e("header")))},{default:f(()=>[(u(),m(C(o.tagByRule("div","tr")),{class:B(e.$bem(e=>e.b("b-table").e("tr")))},{default:f(()=>[(u(!0),b(v,null,g(a.TH.getItems(a.table.header),(t,s)=>(u(),m(r,{key:s,tagName:o.tagByRule("div","th"),class:B(e.$bem([e.$bem(e=>e.e("products-table-cell")),e.$bem(e=>e.e("products-table-cell").m("title"))])),props:t.props},{default:f(()=>[$(k(t.value)+" ",1),t.props.isRequired?(u(),b("span",{key:0,class:B(e.$bem(e=>e.e("col-req")))},"*",2)):y("",!0)]),_:2},1032,["tagName","class","props"]))),128))]),_:1},8,["class"]))]),_:1},8,["class"])):y("",!0),a.TH.hasBody(a.table)?(u(),m(C(o.tagByRule("div","tbody")),{key:1,class:B(e.$bem(e=>e.b("b-table").e("body")))},{default:f(()=>[(u(!0),b(v,null,g(a.TH.getItems(a.table.body,o.filterRows),(t,i)=>(u(),m(C(o.tagByRule("div","tr")),{class:B(e.bemNormalize({[e.$bem(e=>e.b("b-table").e("tr"))]:!0,[e.$bem(t=>t.b(e.currentBEMBlock).e("table-tr").m("discontinued"))]:t.props.isDiscontinued,[e.$bem(t=>t.b(e.currentBEMBlock).e("table-tr").m("disc"))]:t.props.isDisc})),key:i},{default:f(()=>[(u(!0),b(v,null,g(a.TH.getItems(t),(p,c)=>(u(),m(r,{key:c,tagName:o.tagByRule("div","td"),class:B(e.$bem([e.$bem(e=>e.e("products-table-cell")),e.$bem(t=>t.b(e.currentBEMBlock).e("table-td")),p?.props?.isDisc?e.$bem(t=>t.b(e.currentBEMBlock).e("table-td").m("disk")):""],{type:"string"})),props:p.props},{default:f(()=>
1["text"===p.props.typeControl?(u(),b("div",{key:0,class:B(e.bemNormalize({[e.$bem(e=>e.e("input-control-wrapper"))]:!0,[e.$bem(e=>e.e("input-control-wrapper").m("with-delete-button"))]:p.props.isShowDeleteButton,[e.$bem(e=>e.e("quantity"))]:1===c,[e.$bem(e=>e.e("quantity").m("disc"))]:p.props.isDisc&&1===c,[e.$bem(e=>e.e("element"))]:!0,[e.$bem(e=>e.e("element").m("existed"))]:t.props.isExisted}))},[h("p",{class:B(e.$bem(e=>e.e("table-label").m("mobile",2===c?"product-price":"")))},k(p?.props?.label),3),h("p",{class:B(e.$bem({[e.$bem(e=>e.e("product-price"))]:2===c},{type:"string"}))},k(p.value),3),!t.props.isDiscontinued&&!s.isEditable||t.props.isDisc?y("",!0):(u(),b("div",{key:0,class:B(e.$bem(e=>e.e("remove-button-wrapper")))},[p.props.isShowDeleteButton?(u(),b("button",{key:0,class:B(e.$bem({[e.$bem(e=>e.e("remove-button"))]:!0,[e.$bem(e=>e.b("b-button").m("danger-outline"))]:l.breakpoints.is(["@media-nano","@media-nano-sm","@media-sm-md"])})),title:t.props.hasDisc?"УдалиÑÑ Ð¿ÑодÑÐºÑ Ð¸ комплекÑаÑиÑ":"УдалиÑÑ Ð¿ÑодÑкÑ",onClick:e=>o.removeBodyRow(i)},null,10,q)):y("",!0)],2))],2)):y("",!0),"stepper"===p.props.typeControl?(u(),b("div",{key:1,class:B(e.$bem(e=>e.e("stepper-control-wrapper")))},[h("p",{class:B(e.$bem(e=>e.e("table-label").m("mobile")))},k(p?.props?.label),3),D(n,{params:{model:p.value,min:1,max:o.getMax(p,i),attributes:{disabled:p.props.isDisabled},classes:{decrease:e.$bem(e=>e.e("stepper-button").m("decrease")),increase:e.$bem(e=>e.e("stepper-button").m("increase")),input:e.$bem(e=>e.e("stepper-input")),root:e.$bem(e=>e.e("stepper"))},texts:{label:p.props.label}},onUpdate:e=>o.changeEvent(e,i,c,!0)},null,8,["params","onUpdate"])],2)):"select"===p.props.typeControl?(u(),b("div",{key:2,class:B(e.$bem(e=>e.e("select-control-wrapper")))},[(u(),m(d,{params:{attributes:{disabled:p.props.isDisabled},isRequired:!0,labelText:p.props.label,model:p.value,validateInput:null,options:this.products.filterProducts(this.filterProducts),emptyValue:a.emptyLabel,classString:e.bemNormalize([e.$bem(e=>e.e("control")),p.value===a.emptyLabel?" "+e.$bem(e=>e.e("control").m("notvalid")):""]).join(" ").trim()},key:a.updKey,onClear:e=>o.clearEvent(e,i,c),onDeselected:e=>o.deselectedEvent(e,i,c),onSelected:e=>o.selectedEvent(e,i,c),onBlur:e=>o.blurEvent(e,i,c),onChange:e=>o.changeEvent(e,i,c),onInput:e=>o.inputEvent(e,i,c)},null,8,["params","onClear","onDeselected","onSelected","onBlur","onChange","onInput"]))],2)):y("",!0)]),_:2},1032,["tagName","class","props"]))),128))]),_:2},1032,["class"]))),128))]),_:1},8,["class"])):y("",!0)]),_:1},8,["class"]))],2)],2)):y("",!0),s.isEditable?(u(),b("div",{key:1,class:B(e.bemNormalize({[e.$bem(e=>e.e("undertable"))]:!0,[e.$bem(e=>e.e("undertable").m("empty"))]:!a.TH.hasBody(a.table)}))},[D(p,{BEMBlockProp:"b-button",params:{fieldParams:{hasIcon:!0},attributes:{disabled:!o.isValid||a.isPending},classes:{button:e.$bem([e.$bem(e=>e.b("b-button").m("secondary")),e.$bem(e=>e.b("b-button").m("icon-plus-left"))],{type:"string"}),icon:e.$bem([e.$bem(e=>e.e("button-icon"))],{type:"string"})},texts:{text:"ÐобавиÑÑ Ð¿ÑодÑкÑ"}},onAction:o.addBodyRow},null,8,["params","onAction"]),D(P,{name:"fade",appear:""},{default:f(()=>[a.TH.hasBody(a.table)?(u(),b("strong",{key:0,class:B(e.$bem(e=>e.e("undertable-text")))},[t[0]||(t[0]=$("ÐÑого: ",-1)),(u(),b("span",{key:a.updKey},k(o.computedSum),1))],2)):y("",!0)]),_:1})],2)):(u(),b("div",{key:2,class:B(e.bemNormalize({[e.$bem(e=>e.e("undertable"))]:!0,[e.$bem(e=>e.e("undertable").m("empty"))]:!a.TH.hasBody(a.table)}))},[a.TH.hasBody(a.table)?(u(),b("strong",{key:0,class:B(e.$bem(e=>e.e("undertable-text")))},[t[1]||(t[1]=$("ÐÑого: ",-1)),(u(),b("span",{key:a.updKey},k(o.computedSum),1))],2)):y("",!0)],2))],2)],64)}]]),A=Object.freeze(Object.defineProperty({__proto__:null,default:O},Symbol.toStringTag,{value:"Module"}));export{L as P,O as a,A as b,M as g};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.