{"version":3,"sources":["webpack:///./src/pages/contratos/serviciosContratados/servicioContratadoEdit/components/ServicioContratadoEditForm.vue?f3a6","webpack:///./src/pages/contratos/serviciosContratados/servicioContratadoEdit/components/ServicioContratadoEditFormData.js","webpack:///src/pages/contratos/serviciosContratados/servicioContratadoEdit/components/ServicioContratadoEditForm.vue","webpack:///./src/pages/contratos/serviciosContratados/servicioContratadoEdit/components/ServicioContratadoEditForm.vue?7c9e","webpack:///./src/pages/contratos/serviciosContratados/servicioContratadoEdit/components/ServicioContratadoEditForm.vue","webpack:///./src/mixins/formMixin.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","_l","groupoServicio","key","idmtservicioContratado","groupName","servicio","idservicio_contratado","title","model","value","form","fieldnameContratado","callback","$$v","$set","expression","staticRenderFns","selectFormData","Vue","id","apiFilter","APIFilter","addExact","addGT","sorter","field","asc","$api","call","filter","resp","data","result","dataset","mixins","serviciosContratados","created","methods","loadFormData","Data","formData","lastLinea","idservicioContratado","lastGrupo","servicioContratado","servicios","contratado","component","VCheckbox","VList","props","type","Number","String","required","computed","isInsert","isEdit","watch","newValue","setFormRule","fieldname","rule","formRules","createMaxOracleNumberFormRules","precision","createMaxFormRules","size","createRequiredFormRules","emitChangeValues","$emit","loadForm","$watch","deep","addFormRulesAPI","columns","column","API_RESULT_DATATYPES","string","name","push","v","length","addFormRulesVeeValidateAPI","max"],"mappings":"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","file":"js/chunk-0f8a6ee3.18f4e9f7.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b10-base',[_c('v-list',{attrs:{\"dense\":\"\"}},[_vm._l((_vm.serviciosContratados),function(groupoServicio){return [_c('b10-subheader',{key:groupoServicio.idmtservicioContratado,attrs:{\"label\":groupoServicio.groupName}}),_vm._l((groupoServicio.servicios),function(servicio){return [_c('v-checkbox',{key:servicio.idservicio_contratado,attrs:{\"label\":servicio.title},model:{value:(_vm.form[servicio.fieldnameContratado]),callback:function ($$v) {_vm.$set(_vm.form, servicio.fieldnameContratado, $$v)},expression:\"form[servicio.fieldnameContratado]\"}})]})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { APIFilter } from '@/utils/api'\r\n\r\nexport default {\r\n async selectFormData (Vue, id) {\r\n const apiFilter = new APIFilter()\r\n .addExact('idcontrato', id)\r\n .addGT('estado', 0)\r\n const sorter = [\r\n { field: 'mtservicio_contratado_desc', asc: true },\r\n { field: 'mtservicio_contratado_orden', asc: true },\r\n ]\r\n const resp = await Vue.$api.call('servicioContratado.select', { filter: apiFilter, sorter: sorter})\r\n return resp.data.result.dataset\r\n },\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicioContratadoEditForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicioContratadoEditForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServicioContratadoEditForm.vue?vue&type=template&id=577130bf&\"\nimport script from \"./ServicioContratadoEditForm.vue?vue&type=script&lang=js&\"\nexport * from \"./ServicioContratadoEditForm.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VList } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VCheckbox,VList})\n","import { API_RESULT_DATATYPES } from '@/utils/api'\r\n\r\nexport default {\r\n props: {\r\n id: {\r\n type: [Number, String],\r\n required: false\r\n },\r\n },\r\n computed: {\r\n isInsert () {\r\n if (this.id) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n },\r\n isEdit () {\r\n if (this.id) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n }\r\n },\r\n watch: {\r\n async id (newValue) {\r\n // loadFormData del form donde se aplica el mixin\r\n // cambia el ID del objeto que se esta editando\r\n await this.loadFormData(newValue)\r\n }\r\n },\r\n methods: {\r\n setFormRule(fieldname, rule, value) {\r\n if (!(fieldname in this.formRules)) {\r\n this.$set(this.formRules, fieldname, { [rule]: value });\r\n } else {\r\n this.$set(this.formRules[fieldname], rule, value);\r\n }\r\n },\r\n createMaxOracleNumberFormRules(fieldname, precision) {\r\n this.setFormRule(fieldname, 'oracleNumber', precision)\r\n },\r\n createMaxFormRules(fieldname, size) {\r\n this.setFormRule(fieldname, 'max', size);\r\n },\r\n createRequiredFormRules(fieldname) {\r\n this.setFormRule(fieldname, 'required', true)\r\n },\r\n emitChangeValues () {\r\n this.$emit('change-values', this.form)\r\n },\r\n async loadForm () {\r\n if (!this.isInsert) {\r\n // loadFormData del form donde se aplica el mixin\r\n await this.loadFormData(this.id)\r\n }\r\n this.emitChangeValues()\r\n this.$watch('form', this.emitChangeValues, { deep: true })\r\n },\r\n addFormRulesAPI (columns) {\r\n for (const column of columns) {\r\n // controlar longitud máxima para campos string\r\n if (column.type === API_RESULT_DATATYPES.string && column.name in this.form) {\r\n if (!(column.name in this.formRules)) {\r\n this.$set(this.formRules, column.name, [])\r\n }\r\n this.formRules[column.name].push(\r\n v => (v || '').length <= column.size || `La longitud máxima es de ${column.size} caracteres`,\r\n )\r\n }\r\n }\r\n },\r\n async addFormRulesVeeValidateAPI (columns) {\r\n // La variable columns es lo que devuelve la api como metadatos result.metadata.columns\r\n for (const column of columns) {\r\n // controlar longitud máxima para campos string\r\n if (column.type === API_RESULT_DATATYPES.string && column.name in this.form) {\r\n if (!(column.name in this.formRules)) {\r\n this.$set(this.formRules, column.name, { max: column.size})\r\n } else {\r\n this.$set(this.formRules[column.name], \"max\" , column.size)\r\n }\r\n }\r\n }\r\n },\r\n },\r\n}\r\n"],"sourceRoot":""}