{"version":3,"sources":["webpack:///./src/views/modules/product/ComplementForm.vue?4ef4","webpack:///src/views/modules/product/ComplementForm.vue","webpack:///./src/views/modules/product/ComplementForm.vue?13ca","webpack:///./src/views/modules/product/ComplementForm.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","currentPage","singularTitle","t","pageTitle","command","status","generalErrors","checkErrorsComponent","name","pageFormIsLoaded","on","onSubmit","scopedSlots","_u","key","fn","ref","model","value","form","callback","$$v","$set","expression","error","userAuth","entityFieldCustomized","complementId","pageId","fieldKey","staticClass","_v","directives","rawName","availableAllGroups","_l","family","groupId","_s","groupLabel","$event","selectGroup","options","item","groupsProduct","find","a","groupProductId","addGroupSelected","text","staticRenderFns","mixins","pageDefaultMixin","data","path","genKey","enableGeneralFields","note","noOptionAdd","groupProductOptions","methods","mountedPrepare","checked","el","indexRemove","component"],"mappings":"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","file":"js/chunk-2d22dd67.2a0ad730.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('t-page',[_c('t-page-form',{attrs:{\"multi-cards\":\"\",\"submit-text\":_vm.currentPage.singularTitle,\"title\":_vm.t('form-of')+_vm.currentPage.pageTitle,\"command\":_vm.command,\"status\":_vm.status,\"generalErrors\":_vm.generalErrors,\"check-errors-again\":_vm.checkErrorsComponent,\"go-back-title\":_vm.t('go-back-list'),\"go-back-to\":_vm.currentPage.name,\"busy\":!_vm.pageFormIsLoaded},on:{\"onSubmit\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar status = ref.status;\nreturn [_c('t-input',{attrs:{\"hidden\":\"\"},model:{value:(_vm.form.complementId),callback:function ($$v) {_vm.$set(_vm.form, \"complementId\", $$v)},expression:\"form.complementId\"}}),_c('t-form-card',{attrs:{\"title\":\"Dados Básicos\"}},[_c('t-input',{attrs:{\"add-error\":_vm.error.name,\"label\":\"Nome\",\"required\":\"\"},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}}),_c('t-page-form-field-customized',{attrs:{\"command\":_vm.command,\"status\":status,\"user-auth\":_vm.userAuth,\"fields-customizable\":_vm.entityFieldCustomized('page'),\"primary-key\":_vm.form.complementId,\"foreign-key\":_vm.currentPage.pageId,\"busy\":!_vm.pageFormIsLoaded,\"primary-key-column\":_vm.fieldKey,\"foreign-key-column\":\"pageId\"}}),_c('t-input',{attrs:{\"label\":\"Observações\",\"max-length\":\"500\",\"textarea\":\"\"},model:{value:(_vm.form.note),callback:function ($$v) {_vm.$set(_vm.form, \"note\", $$v)},expression:\"form.note\"}}),_c('t-input-status',{model:{value:(_vm.form.status),callback:function ($$v) {_vm.$set(_vm.form, \"status\", $$v)},expression:\"form.status\"}})],1),_c('t-form-card',{attrs:{\"title\":\"Grupos de produtos\",\"icon-folder\":\"\"}},[_c('b-form-checkbox',{staticClass:\"col-sm-12 ml-2\",attrs:{\"switch\":\"\"},model:{value:(_vm.form.availableAllGroups),callback:function ($$v) {_vm.$set(_vm.form, \"availableAllGroups\", $$v)},expression:\"form.availableAllGroups\"}},[_vm._v(\" Disponibilizar este acabamento a todos os grupos de produtos? \"),_c('t-help',{attrs:{\"title\":\"Você poderá especificar quais os produtos podem utilizar este acabamento, basta desmarcar esta opção e selecionar os grupos de produtos desejados.\"}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.form.availableAllGroups),expression:\"!form.availableAllGroups\"}],staticClass:\"mt-2\"},_vm._l((_vm.groupProductOptions),function(family){return _c('div',{key:family.groupId,staticClass:\"pb-2 mb-2 border-bottom\"},[_c('h6',{staticClass:\"mb-0\"},[_c('b',[_vm._v(_vm._s(family.groupLabel))])]),_c('div',{staticClass:\"mb-2\"},[_c('small',[_c('b-link',{on:{\"click\":function($event){return _vm.selectGroup(true,family.options)}}},[_vm._v(\"Todos\")]),_vm._v(\" | \"),_c('b-link',{on:{\"click\":function($event){return _vm.selectGroup(false,family.options)}}},[_vm._v(\"Nenhum\")])],1)]),_vm._l((family.options),function(item){return _c('b-form-checkbox',{key:item.value,staticClass:\"ml-3\",attrs:{\"checked\":_vm.form.groupsProduct.find(function (a) { return a.groupProductId === item.value; }) != null},on:{\"change\":function($event){return _vm.addGroupSelected($event,item.value)}}},[_vm._v(\" \"+_vm._s(item.text)+\" \")])})],2)}),0)],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <t-page>\n\n\n    <t-page-form multi-cards :submit-text=\"currentPage.singularTitle\"\n                 :title=\"t('form-of')+currentPage.pageTitle\"\n                 :command=\"command\" :status=\"status\" :generalErrors=\"generalErrors\" @onSubmit=\"onSubmit\"\n                 :check-errors-again=\"checkErrorsComponent\"\n                 :go-back-title=\"t('go-back-list')\" :go-back-to=\"currentPage.name\" :busy=\"!pageFormIsLoaded\">\n\n\n      <template #default=\"{status}\">\n\n        <t-input v-model=\"form.complementId\" hidden/>\n\n        <t-form-card title=\"Dados Básicos\">\n\n          <t-input v-model=\"form.name\"  :add-error=\"error.name\" label=\"Nome\" required/>\n\n          <t-page-form-field-customized\n              :command=\"command\" :status=\"status\" :user-auth=\"userAuth\"\n              :fields-customizable=\"entityFieldCustomized('page')\"\n              :primary-key=\"form.complementId\" :foreign-key=\"currentPage.pageId\" :busy=\"!pageFormIsLoaded\"\n              :primary-key-column=\"fieldKey\" foreign-key-column=\"pageId\"\n          />\n\n          <t-input v-model=\"form.note\" label=\"Observações\" max-length=\"500\" textarea/>\n\n          <t-input-status v-model=\"form.status\"/>\n\n        </t-form-card>\n\n        <t-form-card title=\"Grupos de produtos\" icon-folder>\n\n          <b-form-checkbox class=\"col-sm-12 ml-2\" v-model=\"form.availableAllGroups\" switch>\n            Disponibilizar este acabamento a todos os grupos de produtos?\n            <t-help\n                title=\"Você poderá especificar quais os produtos podem utilizar este acabamento, basta desmarcar esta opção e selecionar os grupos de produtos desejados.\"/>\n          </b-form-checkbox>\n\n          <div v-show=\"!form.availableAllGroups\" class=\"mt-2\">\n\n            <div v-for=\"family in groupProductOptions\" :key=\"family.groupId\" class=\"pb-2 mb-2 border-bottom\">\n\n              <h6 class=\"mb-0\"><b>{{ family.groupLabel }}</b></h6>\n\n              <div class=\"mb-2\">\n                <small>\n                  <b-link @click=\"selectGroup(true,family.options)\">Todos</b-link>\n                  |\n                  <b-link @click=\"selectGroup(false,family.options)\">Nenhum</b-link>\n                </small>\n              </div>\n\n              <b-form-checkbox class=\"ml-3\" v-for=\"item in family.options\" :key=\"item.value\"\n                               :checked=\"form.groupsProduct.find(a => a.groupProductId === item.value) != null\"\n                               @change=\"addGroupSelected($event,item.value)\">\n                {{ item.text }}\n              </b-form-checkbox>\n\n            </div>\n\n          </div>\n\n        </t-form-card>\n\n      </template>\n\n\n    </t-page-form>\n\n  </t-page>\n\n</template>\n\n<script>\n\nimport pageDefaultMixin from \"@/mixins/page/pageDefaultMixin\"\nimport pageFormMixin from \"@/mixins/page/pageFormMixin\"\nimport groupProductService from \"@/services/modules/product/GroupProduct.service\";\n\n\nimport ui from \"@/assets/scripts/ui\";\n\n\nexport default {\n  mixins: [pageDefaultMixin, pageFormMixin],\n  name: 'FeatureForm',\n  data() {\n    return {\n      path: \"\", //Utilizar somente quando fora do padrão\n      genKey: false, //Utilizar quando desejar gerar chave temporária\n      enableGeneralFields:true,\n      fieldKey: \"complementId\",\n      form: {\n        complementId: 0,\n        name: \"\",\n        note: \"\",\n        availableAllGroups: true,\n        groupsProduct: [],\n        status: 1\n      },\n      error: {//Campos que podem receber retorno de erro do backend\n        name: \"\"\n      },\n      //--------------------------------------------------------------------------------------\n      //Início de campos personalizados desta tela\n      noOptionAdd: \"\", //Usado para armazenar o começo do nome digitado para inserção rápida em dialogos na página.\n      groupProductOptions: [],\n      //--------------------------------------------------------------------------------------\n    }\n  },\n  methods: {\n\n    mountedPrepare() {\n\n    },\n    async mountedContinued() {\n\n      await groupProductService.selectList(\"grouped\").then((list) => {\n        this.groupProductOptions = list\n\n        for (let group of this.groupProductOptions) {\n          for (let item of group.options) {\n            item.checked = false\n          }\n        }\n\n      }).catch(error => this.responseError(error))\n\n\n      this.pageFormIsLoaded = true\n\n    },\n    async onSubmit() {\n\n\n      if (!this.form.availableAllGroups && this.form.groupsProduct.length === 0) {\n        ui.msgError(this, \"Você marcou a opção de especificar grupos para este Complemento, porém não selecionou nenhum grupo. Desmarque a opção ou selecione pelo menos 1(um) grupo antes de continuar.\")\n      } else {\n        await this.setSendingDefault()\n      }\n\n\n    },\n    //--------------------------------------------------------------------------------------\n    //Início de métodos personalizados desta tela\n    addGroupSelected(checked, id) {\n\n      if (checked) {\n        //Adicionar\n        const el = this.form.groupsProduct.find(a => a.groupProductId === id)\n        if (el == null)\n          this.form.groupsProduct.push({groupProductId: id})\n      } else {\n        //Remover\n        const indexRemove = this.form.groupsProduct.findIndex(a => a.groupProductId === id)\n\n        if (indexRemove >= 0)\n          this.form.groupsProduct.splice(indexRemove, 1)\n\n      }\n\n    },\n\n    selectGroup(checked, array) {\n\n      for (const el of array) {\n        this.addGroupSelected(checked, el.value)\n      }\n\n    },\n\n\n    //--------------------------------------------------------------------------------------\n\n  },\n  async mounted() {\n\n    this.mountedPrepare()\n\n    await this.mountedForm(true, false)\n\n    await this.mountedContinued()\n\n  },\n\n}\n</script>\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!./ComplementForm.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!./ComplementForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ComplementForm.vue?vue&type=template&id=0ad21188&\"\nimport script from \"./ComplementForm.vue?vue&type=script&lang=js&\"\nexport * from \"./ComplementForm.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"],"sourceRoot":""}