{"version":3,"sources":["webpack:///./src/pages/partes/tecnicosAsignados/parteTrabajoTecnicoAdd/components/ParteTrabajoTecnicoForm.vue?d27a","webpack:///./src/pages/partes/tecnicosAsignados/parteTrabajoTecnicoAdd/components/ParteTrabajoTecnicoFormData.js","webpack:///src/pages/partes/tecnicosAsignados/parteTrabajoTecnicoAdd/components/ParteTrabajoTecnicoForm.vue","webpack:///./src/pages/partes/tecnicosAsignados/parteTrabajoTecnicoAdd/components/ParteTrabajoTecnicoForm.vue?2573","webpack:///./src/pages/partes/tecnicosAsignados/parteTrabajoTecnicoAdd/components/ParteTrabajoTecnicoForm.vue","webpack:///./src/mixins/formMixin.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","tecnicos","formRules","idtecnico","model","value","form","callback","$$v","$set","expression","staticRenderFns","selectTecnicoAnnadirParte","Vue","idparteTrabajo","apiFilter","APIFilter","addExact","$api","call","filter","datasetTecnicosEnElParte","idtecnicosEnElParte","_","map","data","result","dataset","apiFilterExclude","addIn","addGT","datasetTecnicosDisponibles","metadata","mixins","props","type","required","watch","handler","deep","created","Data","methods","component","id","Number","String","computed","isInsert","isEdit","newValue","loadFormData","setFormRule","fieldname","rule","createMaxOracleNumberFormRules","precision","createMaxFormRules","size","createRequiredFormRules","emitChangeValues","$emit","loadForm","$watch","addFormRulesAPI","columns","column","API_RESULT_DATATYPES","string","name","push","v","length","addFormRulesVeeValidateAPI","max"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACA,EAAG,mBAAmB,CAACE,MAAM,CAAC,MAAQN,EAAIO,SAAS,aAAa,YAAY,YAAY,oBAAoB,MAAQ,UAAU,UAAY,GAAG,MAAQP,EAAIQ,UAAUC,WAAWC,MAAM,CAACC,MAAOX,EAAIY,KAAc,UAAEC,SAAS,SAAUC,GAAMd,EAAIe,KAAKf,EAAIY,KAAM,YAAaE,IAAME,WAAW,qBAAqB,IAC1ZC,EAAkB,G,8FCEP,GACPC,0BADO,SACmBC,EAAKC,GAAgB,kKAC7CC,EAAY,IAAIC,OACtBD,EAAUE,SAAS,kBAAmBH,GAFa,SAGZD,EAAIK,KAAKC,KAAK,6BAA8B,CAAEC,OAAQL,IAH1C,cAG7CM,EAH6C,OAI7CC,EAAsBC,OAAEC,IAAIH,EAAyBI,KAAKC,OAAOC,QAAS,aAC1EC,EAAmB,IAAIZ,OAC7BY,EACGC,MAAM,YAAaP,GAAqB,GACxCQ,MAAM,SAAU,GARgC,UASVjB,EAAIK,KAAKC,KAAK,iBAAkB,CAAEC,OAAQQ,IAThC,eAS7CG,EAT6C,yBAU5C,CAACA,EAA2BN,KAAKC,OAAOC,QAASI,EAA2BN,KAAKC,OAAOM,WAV5C,gDCcxC,GACfC,gBACAC,OACApB,gBACAqB,qBACAC,cAGAX,KARA,WASA,OACAnB,MACAH,gBAEAD,WACAC,WACA,4CAGAF,cAGAoC,OACA/B,MACAgC,oBACA,+BAEAC,UAGAC,QA7BA,WA6BA,kLACAC,gDADA,sCACAV,EADA,KAEA,aAFA,8CAIAW,YCnD6Z,I,YCOzZC,EAAY,eACd,EACAlD,EACAkB,GACA,EACA,KACA,KACA,MAIa,aAAAgC,E,+HChBA,QACbT,MAAO,CACLU,GAAI,CACFT,KAAM,CAACU,OAAQC,QACfV,UAAU,IAGdW,SAAU,CACRC,SADQ,WAEN,OAAIrD,KAAKiD,IAMXK,OARQ,WASN,QAAItD,KAAKiD,KAObP,MAAO,CACCO,GADD,SACKM,GAAU,wKAGZ,EAAKC,aAAaD,GAHN,+CAMtBR,QAAS,CACPU,YADO,SACKC,EAAWC,EAAMjD,GACrBgD,KAAa1D,KAAKO,UAGtBP,KAAKc,KAAKd,KAAKO,UAAUmD,GAAYC,EAAMjD,GAF3CV,KAAKc,KAAKd,KAAKO,UAAWmD,EAA1B,kBAAwCC,EAAOjD,KAKnDkD,+BARO,SAQwBF,EAAWG,GACxC7D,KAAKyD,YAAYC,EAAW,eAAgBG,IAE9CC,mBAXO,SAWYJ,EAAWK,GAC5B/D,KAAKyD,YAAYC,EAAW,MAAOK,IAErCC,wBAdO,SAciBN,GACtB1D,KAAKyD,YAAYC,EAAW,YAAY,IAE1CO,iBAjBO,WAkBLjE,KAAKkE,MAAM,gBAAiBlE,KAAKW,OAE7BwD,SApBC,WAoBW,2JACX,EAAKd,SADM,gCAGR,EAAKG,aAAa,EAAKP,IAHf,OAKhB,EAAKgB,mBACL,EAAKG,OAAO,OAAQ,EAAKH,iBAAkB,CAAErB,MAAM,IANnC,8CAQlByB,gBA5BO,SA4BUC,GAAS,8BACHA,GADG,yBACbC,EADa,QAGlBA,EAAO/B,OAASgC,OAAqBC,QAAUF,EAAOG,QAAQ,EAAK/D,OAC/D4D,EAAOG,QAAQ,EAAKnE,WACxB,EAAKO,KAAK,EAAKP,UAAWgE,EAAOG,KAAM,IAEzC,EAAKnE,UAAUgE,EAAOG,MAAMC,MAC1B,SAAAC,GAAC,OAAKA,GAAK,IAAIC,QAAUN,EAAOR,MAA3B,mCAA+DQ,EAAOR,KAAtE,oBAPX,IAAK,EAAL,qBAA8B,IADN,gCAapBe,2BAzCC,SAyC2BR,GAAS,mLAEpBA,GAFoB,IAEzC,IAAK,EAAL,qBAAWC,EAAmB,QAExBA,EAAO/B,OAASgC,OAAqBC,QAAUF,EAAOG,QAAQ,EAAK/D,OAC/D4D,EAAOG,QAAQ,EAAKnE,UAGxB,EAAKO,KAAK,EAAKP,UAAUgE,EAAOG,MAAO,MAAQH,EAAOR,MAFtD,EAAKjD,KAAK,EAAKP,UAAWgE,EAAOG,KAAM,CAAEK,IAAKR,EAAOR,QANlB","file":"js/chunk-0f8a891d.7d797e4d.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b10-base',[_c('b10-autocomplete',{attrs:{\"items\":_vm.tecnicos,\"item-value\":\"idtecnico\",\"item-text\":\"nombre_y_apellido\",\"label\":\"Técnico\",\"clearable\":\"\",\"rules\":_vm.formRules.idtecnico},model:{value:(_vm.form.idtecnico),callback:function ($$v) {_vm.$set(_vm.form, \"idtecnico\", $$v)},expression:\"form.idtecnico\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { APIFilter } from '@/utils/api'\r\nimport _ from '@/utils/lodash'\r\n\r\nexport default {\r\n async selectTecnicoAnnadirParte(Vue, idparteTrabajo) {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idparte_trabajo', idparteTrabajo)\r\n const datasetTecnicosEnElParte = await Vue.$api.call('parteTrabajoTecnico.select', { filter: apiFilter })\r\n const idtecnicosEnElParte = _.map(datasetTecnicosEnElParte.data.result.dataset, 'idtecnico')\r\n const apiFilterExclude = new APIFilter()\r\n apiFilterExclude\r\n .addIn('idtecnico', idtecnicosEnElParte, true)\r\n .addGT('estado', 0)\r\n const datasetTecnicosDisponibles = await Vue.$api.call('tecnico.select', { filter: apiFilterExclude })\r\n return [datasetTecnicosDisponibles.data.result.dataset, datasetTecnicosDisponibles.data.result.metadata]\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!./ParteTrabajoTecnicoForm.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!./ParteTrabajoTecnicoForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ParteTrabajoTecnicoForm.vue?vue&type=template&id=4e6487ce&\"\nimport script from \"./ParteTrabajoTecnicoForm.vue?vue&type=script&lang=js&\"\nexport * from \"./ParteTrabajoTecnicoForm.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","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":""}