\n\n\n\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!./ArchivedProjectsList.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!./ArchivedProjectsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ArchivedProjectsList.vue?vue&type=template&id=0e13d9e0&\"\nimport script from \"./ArchivedProjectsList.vue?vue&type=script&lang=js&\"\nexport * from \"./ArchivedProjectsList.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 \n
\n
\n
Mis proyectos archivados.
\n
\n
\n \n\n \n 0\">\n
\n
\n
\n Aquí podrás ver los detalles de los proyectos que han sido archivados.\n Si deseas activar un proyecto de nuevo, da click en el botón correspondiente. \n
\n
\n
\n \n \n
No tienes proyectos archivados
\n
Podrás regresar cuando lo desees, para administrar los proyectos archivados.
\n \n\n
\n
\n Ver proyectos activos\n
\n
\n\n \n \n
\n\n\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!./ArchivedProjectsPage.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!./ArchivedProjectsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ArchivedProjectsPage.vue?vue&type=template&id=4afef04f&\"\nimport script from \"./ArchivedProjectsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./ArchivedProjectsPage.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 moment from 'moment'\nexport default {\n methods: {\n constitutionDateFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('LL');\n }\n },\n constitutionPaymentDateFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('DD [de] MMMM');\n }\n },\n explicitDateFormat(value) {\n if(value){\n return moment(String(value)).format('DD/MM/YYYY [a las] hh:mm a')\n }\n },\n sessionFormat(value) {\n if(value){\n return moment(String(value)).format('DD/MM/YYYY h:mm a')\n }\n },\n regularDateFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('DD/MM/YYYY')\n }\n },\n yearDateFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('YYYY/MM/DD')\n }\n },\n midDateFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('DD [de] MMMM [de] YYYY')\n }\n },\n humanDateFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('D MMM YYYY')\n }\n },\n dateTimeFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('DD/MM/YYYY HH:mm')\n }\n },\n dateTime12Format(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('DD/MM/YYYY h:mm a')\n }\n },\n compactDateFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('DD [de] MMM [´]YY')\n }\n },\n logDateFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('DD [de] MMMM [de] YYYY HH:mm')\n }\n },\n timeAgoFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").fromNow();\n }\n },\n calculateAgeFromDate(value){\n if(value){\n return moment().diff(value, 'years');\n }\n },\n minDateForValidAge(years){\n return moment().subtract(years, 'years').format();\n },\n calculateDaysDiff(value){\n if(value){\n let m = moment(String(value));\n let n = moment();\n return n.diff(m, 'days');\n }\n },\n validatedDate(value){\n if(value){\n let m = moment(String(value));\n if(m.isValid()){\n return m.locale(\"es\").format('DD/MM/YYYY');\n }\n else {\n return \"--\";\n }\n }\n },\n getDateFromInputs(yy,mm,dd){\n let yint = parseInt(yy);\n let mint = parseInt(mm);\n mint -= 1;\n if(yint <= 20){\n // suponer que el año es entre 2000 y 2010\n yint += 2000;\n }\n else {\n // suponer que el año es menor a 2000\n yint += 1900;\n }\n\n let m = moment({ year: yint, month: mint, day: dd});\n if(m.isValid()){\n return m.format('YYYY-MM-DD');\n }\n else {\n return false;\n }\n },\n nextAccreditationDate(value){\n if(value){\n let m = moment(String(value)).add(180, 'days');\n return m.locale(\"es\").format('DD/MM/YYYY');\n }\n else {\n return \"--\"\n }\n },\n setDateToEndOfDay(value){\n let m = moment(String(value)).add(1, 'days');\n let d = m.endOf('day')\n let end = d.locale(\"es\").format('YYYY-MM-DD HH:mm:ss');\n return end;\n },\n setDateToStartOfDay(value){\n let m = moment(String(value)).add(1, 'days');\n let d = m.startOf('day');\n let start = d.locale(\"es\").format('YYYY-MM-DD HH:mm:ss');\n return start;\n },\n signatureFormatDate(value){\n if(value){\n let m = moment(String(value));\n if(m.isValid()){\n return m.locale(\"es\").format('DD/MM/YYYY HH:mm:ss');\n }\n }\n return \"No establecido\";\n },\n signatureValidityDate(value){\n if(value){\n let m = moment(String(value));\n if(m.isValid()){\n return m.locale(\"es\").format('DD/MM/YYYY');\n }\n }\n return \"No establecido\";\n },\n incomeSpecial(value){\n if(value){\n let m = moment(String(value));\n if(m.isValid()){\n return m.locale(\"es\").format('MMMM - YYYY').toUpperCase();\n }\n }\n return \"No establecido\";\n },\n timeStampFormat(value) {\n if(value){\n return moment(String(value)).locale(\"es\").format('DD-MM-YYYY-HH_mm_ss')\n }\n },\n formatDatepicker(value)\n {\n if(value){\n return moment(String(value)).locale(\"es\").format('YYYY-MM-DD')\n }\n },\n isAfter(date, maxDate, limit = 'year')\n {\n return moment(date).isAfter(maxDate, limit); \n },\n getPreviousMonth(date, format = \"MMMM\", step = 1)\n {\n return moment(date).locale(\"es\").subtract(step, 'months').format(format);\n },\n getDay(date)\n {\n return moment(date).locale(\"es\").format('DD');\n }\n }\n}","export default {\n methods: {\n format_price(value, decimales = 0) {\n let val = (value / 1).toFixed(decimales).replace(\",\", \".\");\n return val.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n },\n costFormat(value) {\n if (!value) { return \"$0\"; }\n if (value == \"Pendiente\") { return value; }\n else {\n return \"$\" + this.format_price(value, 2);\n }\n },\n costFormatNoCents(value) {\n if (!value) { return \"$0\"; }\n if (value === \"Pendiente\") { return value; }\n else return \"$\" + this.format_price(value);\n },\n prcgFormat(value, decimales = 0) {\n if (!value) { return \"0%\"; }\n if (value == \"Pendiente\") { return value; }\n else { return value.toFixed(decimales) + \"%\"; }\n },\n decimalsFormat(value, decimales = 0) {\n if (!value) { return 0; }\n if (value == \"Pendiente\") { return 0; }\n else { return value.toFixed(decimales); }\n },\n explicitMoneyFormat(value, decimales = 2) {\n if (value == null) return \"\";\n else {\n return \"$\" + this.format_price(value, decimales);\n }\n },\n mxnFormat(value, decimales = 0) {\n if (!value) { return \"$0MXN\"; }\n else {\n return \"$\" + this.format_price(parseInt(value), decimales) + \" MXN\";\n }\n },\n moneyFormat(value) {\n if (!value) { return \"$0\"; }\n else {\n return \"$\" + this.format_price(parseInt(value), 0);\n }\n },\n decimalPercentFormat(value, decimales = 2) {\n if (!value) return \"0%\";\n else {\n return (value * 100).toFixed(decimales) + \"%\";\n }\n },\n roundedFormat(value, decimales = 2) {\n if (!value) { return 0; }\n else {\n let c = value.toFixed(decimales);\n let cd = Math.round(c);\n return cd.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n },\n phoneFormat(value) {\n if (!value) return value\n else {\n return '(' + value.substr(0, 2) + ') ' + value.substr(2, 4) + '-' + value.substr(6, 4)\n }\n },\n phoneFormatV2(value) {\n if (!value) return value\n else {\n return '(' + value.substr(0, 3) + ') ' + value.substr(2, 3) + ' ' + value.substr(6, 4)\n }\n },\n visibleLastNChars(value, chars = 4) {\n if (!value) return value\n else {\n let valueString = value.toString();\n if (chars > valueString.length || chars < 0) return value\n else {\n let phoneLength = valueString.length;\n const firstChars = \"*\".repeat(phoneLength - chars);\n const last4Digits = valueString.slice(firstChars.length);\n return firstChars + last4Digits;\n }\n }\n },\n visibleOnlyLastNChars(value, chars = 4) {\n if (!value) return value\n else {\n let valueString = value.toString();\n if (chars > valueString.length || chars < 0) return value\n else {\n return valueString.slice(-4);\n }\n }\n },\n capitalizeFirstLetter(value) {\n if (!value) return value\n else {\n const arr = value.split(\" \");\n for (let i = 0; i < arr.length; i++) {\n arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1);\n\n }\n\n return arr.join(\" \");\n }\n },\n //Función para validar un RFC\n isValidRfcFormat(rfc) {\n if(rfc) {\n const patternPM = \"^(([A-ZÑ&]{3})([0-9]{2})([0][13578]|[1][02])(([0][1-9]|[12][\\\\d])|[3][01])([A-Z0-9]{3}))|\" +\n \"(([A-ZÑ&]{3})([0-9]{2})([0][13456789]|[1][012])(([0][1-9]|[12][\\\\d])|[3][0])([A-Z0-9]{3}))|\" +\n \"(([A-ZÑ&]{3})([02468][048]|[13579][26])[0][2]([0][1-9]|[12][\\\\d])([A-Z0-9]{3}))|\" +\n \"(([A-ZÑ&]{3})([0-9]{2})[0][2]([0][1-9]|[1][0-9]|[2][0-8])([A-Z0-9]{3}))$\";\n const patternPF = \"^(([A-ZÑ&]{4})([0-9]{2})([0][13578]|[1][02])(([0][1-9]|[12][\\\\d])|[3][01])([A-Z0-9]{3}))|\" +\n \"(([A-ZÑ&]{4})([0-9]{2})([0][13456789]|[1][012])(([0][1-9]|[12][\\\\d])|[3][0])([A-Z0-9]{3}))|\" +\n \"(([A-ZÑ&]{4})([02468][048]|[13579][26])[0][2]([0][1-9]|[12][\\\\d])([A-Z0-9]{3}))|\" +\n \"(([A-ZÑ&]{4})([0-9]{2})[0][2]([0][1-9]|[1][0-9]|[2][0-8])([A-Z0-9]{3}))$\";\n return rfc.match(patternPM) || rfc.match(patternPF);\n } else {\n return false;\n }\n },\n //Función para validar un RFC por tipo de persona\n isValidRfcFormatByPersonType(rfc, isMoral) {\n if(rfc) {\n // Formato para PF\n let pattern = /^[A-Z]{4}(\\d{2})((0[13578]|1[02])([0-2]\\d|3[01])|(0[469]|11)([0-2]\\d|30)|(02)([0-2]\\d))([A-Z0-9]{3})$/;\n let genericRFC1 = \"XAXX010101000\";\n let genericRFC2 = \"XEXX010101000\";\n if(isMoral) {\n // Formato para PM\n pattern = /^[A-Z]{3}(\\d{2})((0[13578]|1[02])([0-2]\\d|3[01])|(0[469]|11)([0-2]\\d|30)|(02)([0-2]\\d))([A-Z0-9]{3})$/;\n }\n\n return rfc.match(pattern) && rfc != genericRFC1 && rfc != genericRFC2;\n } else {\n return false;\n }\n },\n //Función para validar una CURP\n isValidCurpFormat(curp) {\n if(curp) {\n const pattern = /^([A-Z][AEIOUX][A-Z]{2}\\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\\d])(\\d)$/;\n let isValid = curp.match(pattern);\n if (!isValid) //Coincide con el formato general?\n return false;\n //Fuente https://consultas.curp.gob.mx/CurpSP/\n let diccionario = \"0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ\";\n let lngSuma = 0.0;\n let lngDigito = 0.0;\n for (let i = 0; i < 17; i++) {\n lngSuma = lngSuma + diccionario.indexOf(isValid[1].charAt(i)) * (18 - i);\n }\n lngDigito = 10 - lngSuma % 10;\n let verifierDigit = (lngDigito != 10) ? lngDigito : 0;\n return isValid[2] == verifierDigit;\n } else {\n return false;\n }\n },\n anonymousFormatPhone(value){\n if (value === \"\") return value\n else {\n return value.replace(/^(?:\\D*\\d){8}/g, \"********\");\n }\n },\n genderTranslate(value) {\n return value == 1 ? \"Hombre\" : \"Mujer\";\n },\n //Función para obtener el icono del tipo de proyecto o todos con el param 'all'\n getLoanTypeIcon(loanType) {\n const loanTypeIcons = [\n {\n id: 1,\n url: \"https://cdn.redgirasol.com/nuevo_portal/icons/icon-inv-solar.png\",\n filename: \"Crédito Solar\"\n },\n {\n id: 4,\n url: \"https://cdn.redgirasol.com/nuevo_portal/icons/icon-inv-pyme.png\",\n filename: \"Crédito PyME\"\n },\n {\n id: 5,\n url: \"https://cdn.redgirasol.com/nuevo_portal/icons/icon-inv-pers.png\",\n filename: \"Crédito Personal\"\n },\n {\n id: 6,\n url: \"https://cdn.redgirasol.com/nuevo_portal/icons/icon-inv-auto.png\",\n filename: \"Crédito Automotriz\"\n }\n ];\n\n if (loanType == \"all\") {\n return loanTypeIcons;\n } else {\n let icon = loanTypeIcons.find(lt => lt.id === loanType);\n let url = \"https://cdn.redgirasol.com/nuevo_portal/icons/icon-inv-solar.png\";\n if (icon) {\n url = icon.url;\n }\n return url;\n }\n },\n getAmountWithNoCommissionTax(amount){\n if (amount <= 0) {\n return 0;\n }\n const processingAdministrationCommission = .02;\n const mexicoTaxIva = .16;\n let commissionWithTaxPercentage = processingAdministrationCommission*mexicoTaxIva;\n let percentage = (1+processingAdministrationCommission+commissionWithTaxPercentage);\n let amountNoCommision = amount/percentage;\n return amountNoCommision;\n }\n }\n}"],"sourceRoot":""}