{"version":3,"sources":["webpack:///./src/views/Helexium/HojaDeVidaVehiculo/secciones/SoatView.vue","webpack:///src/views/Helexium/HojaDeVidaVehiculo/secciones/SoatView.vue","webpack:///./src/views/Helexium/HojaDeVidaVehiculo/secciones/SoatView.vue?0013","webpack:///./src/views/Helexium/HojaDeVidaVehiculo/secciones/SoatView.vue?7f89","webpack:///./src/components/BVForm/RenderSchema.vue","webpack:///src/components/BVForm/RenderSchema.vue","webpack:///./src/components/BVForm/RenderSchema.vue?084a","webpack:///./src/components/BVForm/RenderSchema.vue?db31","webpack:///./src/views/Helexium/HojaDeVidaVehiculo/secciones/SoatView.vue?ad55","webpack:///./src/components/BVForm/RenderSchema.vue?3822"],"names":["render","_vm","this","_c","_self","staticClass","on","$event","isVisibleNuevoRegistro","_v","_s","titleNuevoRegistro","attrs","model","value","callback","$$v","expression","allData","callbackOnSubmit","scopedSlots","_u","key","fn","ultimoRegistroActivo","preventDefault","cerrarRegistro","apply","arguments","_e","proxy","isVisibleHistorial","_l","historial","registro","id","useMoment","fechaDeCreacion","staticRenderFns","components","BVForm","renderSchema","props","vehiculo","type","Object","required","data","JSON","parse","stringify","$store","dispatch","getHistorial","ajustesDeLaVisata","computed","mapGetters","empresaId","getters","userLoggedIn","empresa","methods","response","fetchGet","path","json","reverse","last","reduce","prev","current","estaCerrado","forEach","item","name","split","length","Swal","fire","title","text","icon","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","then","result","isConfirmed","fetchPut","ok","Error","catch","error","message","showConfirmButton","self","vehiculoId","loader","finally","fetchPost","component","_t","schema","index","staticStyle","label","class","renderValue","Array","default","String","Date","toLocaleDateString","includes","indexOf","replace","tipo","descripcion","nombres","apellidos"],"mappings":"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","file":"js/chunk-cca34896.0683d017d022e93d90e3.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('div',{staticClass:\"pointer\",on:{\"click\":function($event){_vm.isVisibleNuevoRegistro = !_vm.isVisibleNuevoRegistro}}},[_c('h3',{staticClass:\"py-2 border-collapse\"},[_vm._v(_vm._s(_vm.titleNuevoRegistro))])]),_c('b-collapse',{attrs:{\"id\":\"nuevoRegistro\"},model:{value:(_vm.isVisibleNuevoRegistro),callback:function ($$v) {_vm.isVisibleNuevoRegistro=$$v},expression:\"isVisibleNuevoRegistro\"}},[_c('BVForm',{attrs:{\"title\":\"Soat\",\"schema\":_vm.allData,\"callBackSubmit\":_vm.callbackOnSubmit},scopedSlots:_vm._u([{key:\"otherBtns\",fn:function(){return [(_vm.ultimoRegistroActivo)?_c('button',{staticClass:\"btn btn-outline-warning\",on:{\"click\":function($event){$event.preventDefault();return _vm.cerrarRegistro.apply(null, arguments)}}},[_vm._v(\" Cerrar registro \")]):_vm._e()]},proxy:true}])})],1)],1),_c('div',[_c('div',{staticClass:\"pointer\",on:{\"click\":function($event){_vm.isVisibleHistorial = !_vm.isVisibleHistorial}}},[_c('h3',{staticClass:\"py-2 border-collapse\"},[_vm._v(\"Historial\")])]),_c('div',[_c('b-collapse',{attrs:{\"id\":\"historial\"},model:{value:(_vm.isVisibleHistorial),callback:function ($$v) {_vm.isVisibleHistorial=$$v},expression:\"isVisibleHistorial\"}},_vm._l((_vm.historial),function(registro){return _c('renderSchema',{key:registro.id,staticClass:\"mb-5\",attrs:{\"schema\":_vm.allData,\"data\":registro},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('h4',{staticClass:\"mt-4 mb-3\"},[_vm._v(\"Registro del \"+_vm._s(_vm.useMoment( registro.fechaDeCreacion )))])]},proxy:true}],null,true)})}),1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\r\nimport BVForm from \"@/components/BVForm/BVForm.vue\";\r\nimport renderSchema from '@/components/BVForm/RenderSchema.vue'\r\nimport Swal from \"sweetalert2\";\r\nimport { mapGetters } from 'vuex'\r\nexport default {\r\n  components: {\r\n    BVForm,\r\n    renderSchema\r\n  },\r\n  props: {\r\n    vehiculo: {\r\n      type: Object,\r\n      required: true\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      allData: null,\r\n      isVisibleNuevoRegistro: false,\r\n      titleNuevoRegistro: 'Nuevo registro',\r\n      isVisibleHistorial: false,\r\n      historial: [],\r\n      ultimoRegistroActivo: null,\r\n\r\n    }\r\n  },\r\n  async mounted() {\r\n\r\n    this.allData = JSON.parse(JSON.stringify(await this.$store.dispatch('getHojaDeVidaVehiculoSoat')))\r\n    await this.getHistorial()\r\n    this.ajustesDeLaVisata()\r\n\r\n  },\r\n  computed: {\r\n    ...mapGetters(['useMoment']),\r\n    empresaId() {\r\n      return this.$store.getters.userLoggedIn.empresa.id\r\n    }\r\n  },\r\n  methods: {\r\n    async getHistorial() {\r\n      const response = await this.$store.getters.fetchGet({ path: `VehiculoSoat/ListaPorVehiculo/${this.vehiculo.id}` })\r\n      this.historial = await response.json()\r\n       // reverse\r\n       this.historial = this.historial.reverse()\r\n    },\r\n    ajustesDeLaVisata() {\r\n      const last = this.historial.reduce((prev, current) => {\r\n        return (prev.fechaDeCreacion > current.fechaDeCreacion) ? prev : current\r\n      })\r\n\r\n      if (last.estaCerrado == 0) {\r\n        this.ultimoRegistroActivo = last\r\n        this.titleNuevoRegistro = 'Editar registro'\r\n        this.allData.forEach(item => {\r\n          if (item.type == 'date' && last[item.name] != null) {\r\n            last[item.name] = last[item.name].split('T')[0]\r\n          }\r\n          item.value = last[item.name]\r\n        })\r\n        this.isVisibleNuevoRegistro = true\r\n      } else {\r\n        this.isVisibleNuevoRegistro = !this.historial.length\r\n        this.isVisibleHistorial = true\r\n      }\r\n    },\r\n    cerrarRegistro() {\r\n      // pregunta y advierte si desea cerrar el registro una vez realizado no se podra volver a editar\r\n      Swal.fire({\r\n        title: '¿Está seguro de cerrar el registro?',\r\n        text: \"Una vez cerrado no se podrá volver a modificar\",\r\n        icon: 'warning',\r\n        showCancelButton: true,\r\n        confirmButtonColor: '#3085d6',\r\n        cancelButtonColor: '#d33',\r\n\r\n        confirmButtonText: 'Cerrar registro'\r\n      }).then((result) => {\r\n        if (result.isConfirmed) {\r\n          this.$store.getters.fetchPut({ path: `VehiculoSoat/cerrarRegistro/${this.ultimoRegistroActivo.id}` })\r\n            .then(response => {\r\n              if (response.ok) {\r\n                return response.json()\r\n              }\r\n              throw new Error('Error al cerrar el registro')\r\n            })\r\n            .then(async () => {\r\n              await this.getHistorial()\r\n\r\n              this.ultimoRegistroActivo = null\r\n              this.titleNuevoRegistro = 'Nuevo registro'\r\n              this.allData.forEach(item => {\r\n                item.value = null\r\n              })\r\n\r\n              Swal.fire(\r\n                'Registro cerrado',\r\n                'El registro ha sido cerrado',\r\n                'success'\r\n              )\r\n            })\r\n            .catch(error => {\r\n              Swal.fire({\r\n                icon: 'error',\r\n                title: 'Error al cerrar el registro',\r\n                text: error.message,\r\n                showConfirmButton: true,\r\n              })\r\n            })\r\n        }\r\n      })\r\n    },\r\n\r\n    callbackOnSubmit(self) {\r\n      let data = { ...self.data }\r\n      data.vehiculoId = this.vehiculo.id\r\n\r\n      if (this.ultimoRegistroActivo) {\r\n        const { id } = this.ultimoRegistroActivo\r\n\r\n        self.loader = true\r\n        this.$store.getters.fetchPut({ path: `VehiculoSoat/${id}`, data })\r\n          .then(response => {\r\n            if (response.ok) {\r\n              return response.json()\r\n            }\r\n            throw new Error('Error al actualizar')\r\n          })\r\n          .then(async () => {\r\n            await this.getHistorial()\r\n            this.ajustesDeLaVisata()\r\n            Swal.fire({\r\n              icon: 'success',\r\n              title: 'Registro actualizado',\r\n              showConfirmButton: true,\r\n            })\r\n          })\r\n          .catch(error => {\r\n            Swal.fire({\r\n              icon: 'error',\r\n              title: 'Error al actualizar',\r\n              text: error.message,\r\n              showConfirmButton: true,\r\n            })\r\n          })\r\n          .finally(() => {\r\n            self.loader = false\r\n          })\r\n\r\n      }\r\n      else {\r\n        self.loader = true\r\n        this.$store.getters.fetchPost({ path: `VehiculoSoat`, data })\r\n        .then(response => {\r\n            if (response.ok) {\r\n              return response.json()\r\n            }\r\n            throw new Error('Error al crear el registro')\r\n          })\r\n          .then(async () => {\r\n            await this.getHistorial()\r\n            this.ajustesDeLaVisata()\r\n            Swal.fire({\r\n              icon: 'success',\r\n              title: 'Registro creado',\r\n              showConfirmButton: true,\r\n            })\r\n          })\r\n          .catch(error => {\r\n            Swal.fire({\r\n              icon: 'error',\r\n              title: 'Error al crear el registro',\r\n              text: error.message,\r\n              showConfirmButton: true,\r\n            })\r\n          })\r\n          .finally(() => {\r\n            self.loader = false\r\n          })\r\n      }\r\n\r\n    },\r\n\r\n\r\n  }\r\n}\r\n\r\n</script>\r\n\r\n<template>\r\n  <div>\r\n    <div>\r\n      <div @click=\"isVisibleNuevoRegistro = !isVisibleNuevoRegistro\" class=\"pointer\">\r\n        <h3 class=\"py-2 border-collapse\">{{ titleNuevoRegistro }}</h3>\r\n      </div>\r\n      <b-collapse id=\"nuevoRegistro\" v-model=\"isVisibleNuevoRegistro\">\r\n        <BVForm title=\"Soat\" :schema=\"allData\" :callBackSubmit=\"callbackOnSubmit\">\r\n          <template #otherBtns>\r\n            <button v-if=\"ultimoRegistroActivo\" @click.prevent=\"cerrarRegistro\" class=\"btn btn-outline-warning\">\r\n              Cerrar registro\r\n            </button>\r\n          </template>\r\n        </BVForm>\r\n      </b-collapse>\r\n    </div>\r\n    <div>\r\n      <div @click=\"isVisibleHistorial = !isVisibleHistorial\" class=\"pointer\">\r\n        <h3 class=\"py-2 border-collapse\">Historial</h3>\r\n      </div>\r\n      <div>\r\n        <b-collapse id=\"historial\" v-model=\"isVisibleHistorial\">\r\n          <renderSchema class=\"mb-5\" v-for=\"registro in historial\" :key=\"registro.id\" :schema=\"allData\" :data=\"registro\">\r\n            <template #title>\r\n              <h4 class=\"mt-4 mb-3\">Registro del {{useMoment( registro.fechaDeCreacion ) }}</h4>\r\n            </template>\r\n\r\n          </renderSchema>\r\n        </b-collapse>\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n</template>\r\n\r\n<style scoped>\r\n.border-collapse {\r\n  border-bottom: .5px solid #dee2e6;\r\n}\r\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/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!./SoatView.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/@vue/cli-plugin-babel/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!./SoatView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SoatView.vue?vue&type=template&id=5590c653&scoped=true\"\nimport script from \"./SoatView.vue?vue&type=script&lang=js\"\nexport * from \"./SoatView.vue?vue&type=script&lang=js\"\nimport style0 from \"./SoatView.vue?vue&type=style&index=0&id=5590c653&prod&scoped=true&lang=css\"\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  \"5590c653\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mb-1\"},[_vm._t(\"title\",function(){return [_c('h3',{staticClass:\"mb-0\"},[_vm._v(_vm._s(_vm.title))])]}),_c('div',{staticClass:\"list-item pl-md-3\"},[_vm._l((_vm.schema),function(item,index){return _c('div',{key:index,staticClass:\"row mb-0 pb-0\"},[_c('div',{staticClass:\"col-12 m-0 p-0 key card bg-dark key-background\"},[_c('div',{staticClass:\"row p-0 m-0\"},[_c('div',{staticClass:\"col-1 m-0 pl-0\"},[_c('vs-avatar',{staticStyle:{\"font-size\":\"10px !important\"},attrs:{\"icon\":\"\",\"size\":\"35\",\"color\":(\n                                item.label == `Tipo` ? `primary` \n                                : item.label == `Nombre` ? `success` \n                                : item.label == `Frecuencia` ? `primary`\n                                : item.label == `Persona que debe conocer el resultado` ? `danger`\n                                : item.label == `Fuente de la información` ? `success`\n                                : item.label == `Fórmula o método de cálculo` ? `primary`\n                                : item.label == `Meta o limite del indicador` ? `danger`\n                                : item.label == `Responsable de la medición` ? `success` : ``\n                            )}},[_c('i',{class:(\n                                item.label == `Tipo` ? `fas fa-list` \n                                : item.label == `Nombre` ? `fas fa-user` \n                                : item.label == `Frecuencia` ? `fas fa-calendar-days`\n                                : item.label == `Persona que debe conocer el resultado` ? `fas fa-user-tie`\n                                : item.label == `Fuente de la información` ? `fas fa-file-lines`\n                                : item.label == `Fórmula o método de cálculo` ? `fas fa-square-root-variable`\n                                : item.label == `Meta o limite del indicador` ? `fas fa-triangle-exclamation`\n                                : item.label == `Responsable de la medición` ? `fa-solid fa-address-book` : ``)})])],1),_c('span',{staticClass:\"col ml-0 px-0 mb-0 pr-2 py-2\"},[_vm._v(\" \"+_vm._s(item.label)+\": \")])])]),_c('span',{staticClass:\"value pl-3 pb-0 mb-0 card bg-dark value-background\"},[_vm._v(_vm._s(_vm.renderValue(_vm.data, item)))])])}),_vm._t(\"otherItem\")],2),_vm._t(\"footer\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n    <div class=\"mb-1\">\r\n        <slot class=\"\" name=\"title\">\r\n            <h3 class=\"mb-0\">{{ title }}</h3>\r\n        </slot>\r\n        <div class=\"list-item pl-md-3\">\r\n            <div class=\"row mb-0 pb-0\" v-for=\"(item, index) in schema\" :key=\"index\">\r\n                <div class=\" col-12 m-0 p-0 key card bg-dark key-background\">\r\n                    <div class=\"row p-0 m-0\">\r\n\r\n                        <div class=\"col-1 m-0 pl-0\">\r\n                            <vs-avatar\r\n\t\t\t\t\t\t\ticon\r\n                            size=\"35\"\r\n\t\t\t\t\t\t\t:color=\"(\r\n                                item.label == `Tipo` ? `primary` \r\n                                : item.label == `Nombre` ? `success` \r\n                                : item.label == `Frecuencia` ? `primary`\r\n                                : item.label == `Persona que debe conocer el resultado` ? `danger`\r\n                                : item.label == `Fuente de la información` ? `success`\r\n                                : item.label == `Fórmula o método de cálculo` ? `primary`\r\n                                : item.label == `Meta o limite del indicador` ? `danger`\r\n                                : item.label == `Responsable de la medición` ? `success` : ``\r\n                            )\"\r\n                            class=\"\"\r\n                            style=\"font-size: 10px !important;\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<i :class=\"(\r\n                                item.label == `Tipo` ? `fas fa-list` \r\n                                : item.label == `Nombre` ? `fas fa-user` \r\n                                : item.label == `Frecuencia` ? `fas fa-calendar-days`\r\n                                : item.label == `Persona que debe conocer el resultado` ? `fas fa-user-tie`\r\n                                : item.label == `Fuente de la información` ? `fas fa-file-lines`\r\n                                : item.label == `Fórmula o método de cálculo` ? `fas fa-square-root-variable`\r\n                                : item.label == `Meta o limite del indicador` ? `fas fa-triangle-exclamation`\r\n                                : item.label == `Responsable de la medición` ? `fa-solid fa-address-book` : ``) \" ></i> \r\n                             \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t</vs-avatar>\r\n                        </div>\r\n                        <span class=\"col ml-0 px-0 mb-0 pr-2 py-2\">\r\n                            {{ item.label }}:\r\n                        </span>\r\n                    </div>\r\n                </div>\r\n\r\n                \r\n                <span class=\"value pl-3 pb-0 mb-0 card bg-dark value-background\">{{ renderValue(data, item) }}</span>\r\n            </div>\r\n            <slot name=\"otherItem\"></slot>\r\n        </div>\r\n        <slot name=\"footer\"></slot>\r\n        \r\n    </div>\r\n</template>\r\n\r\n<script>\r\n\r\nexport default {\r\n    props: {\r\n        \r\n        schema: {\r\n            type: Array,\r\n            default: () => []\r\n        },\r\n        data: {\r\n            type: Object,\r\n            default: () => ({})\r\n        },\r\n        title: {\r\n            type: String,\r\n            default: \"\"\r\n        }\r\n    },\r\n    methods: {\r\n        \r\n        renderValue(data, item) {\r\n\r\n            let result = data[item.name];\r\n            if (item.type === \"date\" && result) {\r\n                return new Date(result).toLocaleDateString();\r\n            }\r\n\r\n            \r\n            if (item.name.includes(\"Id\") && item.name.indexOf(\"Id\") === item.name.length - 2 && result) {\r\n                const name = item.name.replace(\"Id\", \"\");\r\n                if (data[name].tipo) {\r\n                    return data[name].tipo;\r\n                }\r\n\r\n                if (data[name].descripcion) {\r\n                    return data[name].descripcion;\r\n                }\r\n\r\n                if (data[name].nombres) {\r\n                    return data[name].nombres + \" \" + data[name].apellidos;\r\n                }\r\n            }\r\n\r\n            return result ?? \"---\";\r\n        }\r\n    }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.list-item {\r\n    display: grid;\r\n    grid-template-columns: 1fr; \r\n    grid-row-gap: 0.5rem; \r\n}\r\n\r\n.row {\r\n    display: grid;\r\n    grid-template-columns: auto 1fr; \r\n    grid-column-gap: 1rem; \r\n}\r\n\r\n.key-background {\r\n    \r\n    padding: 0.5rem;\r\n    padding-bottom: 0% !important;\r\n    width:30vw;\r\n}\r\n\r\n.value-background {\r\n    background-color: blue;\r\n    padding: 0.5rem;\r\n    width: 37vw;\r\n\r\n}\r\n@media (max-width: 767px) {\r\n        .list-item {\r\n            display: grid;\r\n            grid-template-columns: 1fr; \r\n            grid-row-gap: 0.5rem; \r\n        }\r\n\r\n        .row {\r\n            display: grid;\r\n            display: flex;\r\n            grid-template-columns:  1fr; \r\n            grid-column-gap: 1rem; \r\n        }\r\n\r\n        .key-background {\r\n            height: 50px;\r\n            /* padding-top: 2rem; */\r\n            padding-bottom: 0% !important;\r\n            margin-bottom: 10px;\r\n            width:100%;\r\n            padding-top: 10px !important;\r\n\r\n        }\r\n        .value-background {\r\n            /* background-color: blue; */\r\n            /* padding: 1rem; */\r\n            height: 50px;\r\n\r\n            padding-top: 17px !important;\r\n          margin-top: 10px;\r\n            width: 100%;\r\n\r\n        }\r\n}\r\n</style>\r\n<!-- <template>\r\n    <div class=\"mb-4\">\r\n        <slot name=\"title\">\r\n            <h3 class=\"mb-2\">{{ title }}</h3>\r\n        </slot>\r\n        <div class=\"list-item\">\r\n            <div class=\"item\" v-for=\"(item, index) in schema\" :key=\"index\">\r\n                <span class=\"key\">{{ item.label }}:</span>\r\n                <span class=\"value\">{{ renderValue( data, item) }}</span>\r\n            </div>\r\n            <slot name=\"otherItem\"></slot>\r\n        </div>\r\n        <slot name=\"footer\">\r\n\r\n        </slot>\r\n    </div>\r\n</template>\r\n\r\n<script>\r\n\r\nexport default {\r\n    props: {\r\n        schema: {\r\n            type: Array,\r\n            default: () => []\r\n        },\r\n        data: {\r\n            type: Object,\r\n            default: () => ({})\r\n        },\r\n        title: {\r\n            type: String,\r\n            default: \"\"\r\n        }\r\n    },\r\n    methods: {\r\n        renderValue( data, item ) {\r\n            let result = data[item.name]\r\n            if( item.type === \"date\" && result ) {\r\n                return new Date(result).toLocaleDateString()\r\n            }\r\n\r\n            // console.log('item', item.name ) \r\n            //comprueba si el nombre del campo termina en Id y que sean los dos ultimos caracteres\r\n            if( item.name.includes(\"Id\") && item.name.indexOf(\"Id\") === item.name.length - 2 && result ) {\r\n                const name = item.name.replace(\"Id\", \"\")\r\n                if (  data[name].tipo  )\r\n                {\r\n                    return data[name].tipo \r\n                }\r\n\r\n                if ( data[name].descripcion )\r\n                {\r\n                    return data[name].descripcion\r\n                }\r\n\r\n                if ( data[name].nombres )\r\n                {\r\n                    return data[name].nombres + \" \" + data[name].apellidos\r\n                }\r\n            }\r\n\r\n            return result ?? \"---\"\r\n        }\r\n    }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.list-item {\r\n    /* background-color: aqua; */\r\n    display: grid;\r\n    row-gap: 1rem;\r\n    column-gap: 1rem;\r\n    grid-template-columns: repeat(auto-fit, minmax(min(480px, 100%), 1fr));\r\n    grid-auto-flow: dense;\r\n}\r\n\r\n.key {\r\n    color: aliceblue;\r\n}\r\n.item {\r\n    /* background-color: blue; */\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n}\r\n\r\n</style> -->\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/@vue/cli-plugin-babel/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!./RenderSchema.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/@vue/cli-plugin-babel/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!./RenderSchema.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RenderSchema.vue?vue&type=template&id=0182f277&scoped=true\"\nimport script from \"./RenderSchema.vue?vue&type=script&lang=js\"\nexport * from \"./RenderSchema.vue?vue&type=script&lang=js\"\nimport style0 from \"./RenderSchema.vue?vue&type=style&index=0&id=0182f277&prod&scoped=true&lang=css\"\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  \"0182f277\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SoatView.vue?vue&type=style&index=0&id=5590c653&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RenderSchema.vue?vue&type=style&index=0&id=0182f277&prod&scoped=true&lang=css\""],"sourceRoot":""}