new modification

main
sajan 3 years ago
parent 92249688d9
commit 3435381a7b

301
package-lock.json generated

@ -40,6 +40,7 @@
"ngx-toastr": "13.2.1", "ngx-toastr": "13.2.1",
"ngx-trend": "6.1.1", "ngx-trend": "6.1.1",
"pdfmake": "^0.2.5", "pdfmake": "^0.2.5",
"qrcode": "^1.5.3",
"rxjs": "7.0.0", "rxjs": "7.0.0",
"sweetalert2": "^11.7.16", "sweetalert2": "^11.7.16",
"to-words": "^3.2.0", "to-words": "^3.2.0",
@ -3100,7 +3101,6 @@
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
"dev": true,
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
@ -5357,7 +5357,6 @@
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@ -5635,6 +5634,11 @@
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
"dev": true "dev": true
}, },
"node_modules/dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
},
"node_modules/dir-glob": { "node_modules/dir-glob": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@ -5860,8 +5864,7 @@
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
"dev": true
}, },
"node_modules/emojis-list": { "node_modules/emojis-list": {
"version": "3.0.0", "version": "3.0.0",
@ -5872,6 +5875,11 @@
"node": ">= 4" "node": ">= 4"
} }
}, },
"node_modules/encode-utf8": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
"integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
},
"node_modules/encodeurl": { "node_modules/encodeurl": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@ -6713,7 +6721,6 @@
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"dependencies": { "dependencies": {
"locate-path": "^5.0.0", "locate-path": "^5.0.0",
"path-exists": "^4.0.0" "path-exists": "^4.0.0"
@ -7050,7 +7057,6 @@
"version": "2.0.5", "version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
"engines": { "engines": {
"node": "6.* || 8.* || >= 10.*" "node": "6.* || 8.* || >= 10.*"
} }
@ -8174,7 +8180,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
"engines": { "engines": {
"node": ">=4" "node": ">=4"
} }
@ -8760,7 +8765,6 @@
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"dependencies": { "dependencies": {
"p-locate": "^4.1.0" "p-locate": "^4.1.0"
}, },
@ -10264,7 +10268,6 @@
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"dependencies": { "dependencies": {
"p-try": "^2.0.0" "p-try": "^2.0.0"
}, },
@ -10276,7 +10279,6 @@
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"dependencies": { "dependencies": {
"p-limit": "^2.2.0" "p-limit": "^2.2.0"
}, },
@ -10312,7 +10314,6 @@
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
@ -10520,7 +10521,6 @@
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
"engines": { "engines": {
"node": ">=4" "node": ">=4"
} }
@ -10672,6 +10672,14 @@
"resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz",
"integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g=="
}, },
"node_modules/pngjs": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/pnp-webpack-plugin": { "node_modules/pnp-webpack-plugin": {
"version": "1.6.4", "version": "1.6.4",
"resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
@ -11358,6 +11366,117 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/qrcode": {
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz",
"integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==",
"dependencies": {
"dijkstrajs": "^1.0.1",
"encode-utf8": "^1.0.3",
"pngjs": "^5.0.0",
"yargs": "^15.3.1"
},
"bin": {
"qrcode": "bin/qrcode"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/qrcode/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/qrcode/node_modules/camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"engines": {
"node": ">=6"
}
},
"node_modules/qrcode/node_modules/cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^6.2.0"
}
},
"node_modules/qrcode/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/qrcode/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/qrcode/node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/qrcode/node_modules/yargs": {
"version": "15.4.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
"integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
"dependencies": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
"find-up": "^4.1.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^4.2.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^18.1.2"
},
"engines": {
"node": ">=8"
}
},
"node_modules/qrcode/node_modules/yargs-parser": {
"version": "18.1.3",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dependencies": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/qs": { "node_modules/qs": {
"version": "6.7.0", "version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
@ -11705,7 +11824,6 @@
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@ -11713,8 +11831,7 @@
"node_modules/require-main-filename": { "node_modules/require-main-filename": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
"dev": true
}, },
"node_modules/requires-port": { "node_modules/requires-port": {
"version": "1.0.0", "version": "1.0.0",
@ -12351,8 +12468,7 @@
"node_modules/set-blocking": { "node_modules/set-blocking": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
"dev": true
}, },
"node_modules/set-value": { "node_modules/set-value": {
"version": "2.0.1", "version": "2.0.1",
@ -13269,7 +13385,6 @@
"version": "4.2.2", "version": "4.2.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
"integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
"dev": true,
"dependencies": { "dependencies": {
"emoji-regex": "^8.0.0", "emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0", "is-fullwidth-code-point": "^3.0.0",
@ -13283,7 +13398,6 @@
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"dependencies": { "dependencies": {
"ansi-regex": "^5.0.0" "ansi-regex": "^5.0.0"
}, },
@ -15772,8 +15886,7 @@
"node_modules/which-module": { "node_modules/which-module": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
"dev": true
}, },
"node_modules/wide-align": { "node_modules/wide-align": {
"version": "1.1.3", "version": "1.1.3",
@ -16027,8 +16140,7 @@
"node_modules/y18n": { "node_modules/y18n": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
"dev": true
}, },
"node_modules/yallist": { "node_modules/yallist": {
"version": "4.0.0", "version": "4.0.0",
@ -18794,8 +18906,7 @@
"ansi-regex": { "ansi-regex": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
"dev": true
}, },
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
@ -20755,8 +20866,7 @@
"decamelize": { "decamelize": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
"dev": true
}, },
"decode-uri-component": { "decode-uri-component": {
"version": "0.2.0", "version": "0.2.0",
@ -20988,6 +21098,11 @@
} }
} }
}, },
"dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
},
"dir-glob": { "dir-glob": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@ -21208,8 +21323,7 @@
"emoji-regex": { "emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
"dev": true
}, },
"emojis-list": { "emojis-list": {
"version": "3.0.0", "version": "3.0.0",
@ -21217,6 +21331,11 @@
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true "dev": true
}, },
"encode-utf8": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
"integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
},
"encodeurl": { "encodeurl": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@ -21924,7 +22043,6 @@
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": { "requires": {
"locate-path": "^5.0.0", "locate-path": "^5.0.0",
"path-exists": "^4.0.0" "path-exists": "^4.0.0"
@ -22211,8 +22329,7 @@
"get-caller-file": { "get-caller-file": {
"version": "2.0.5", "version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
"dev": true
}, },
"get-intrinsic": { "get-intrinsic": {
"version": "1.1.1", "version": "1.1.1",
@ -23145,8 +23262,7 @@
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
"dev": true
}, },
"is-glob": { "is-glob": {
"version": "4.0.1", "version": "4.0.1",
@ -23617,7 +23733,6 @@
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": { "requires": {
"p-locate": "^4.1.0" "p-locate": "^4.1.0"
} }
@ -24860,7 +24975,6 @@
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": { "requires": {
"p-try": "^2.0.0" "p-try": "^2.0.0"
} }
@ -24869,7 +24983,6 @@
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": { "requires": {
"p-limit": "^2.2.0" "p-limit": "^2.2.0"
} }
@ -24895,8 +25008,7 @@
"p-try": { "p-try": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
"dev": true
}, },
"pacote": { "pacote": {
"version": "11.2.4", "version": "11.2.4",
@ -25077,8 +25189,7 @@
"path-exists": { "path-exists": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
"dev": true
}, },
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.1", "version": "1.0.1",
@ -25196,6 +25307,11 @@
"resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz",
"integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g=="
}, },
"pngjs": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
},
"pnp-webpack-plugin": { "pnp-webpack-plugin": {
"version": "1.6.4", "version": "1.6.4",
"resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
@ -25749,6 +25865,92 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true "dev": true
}, },
"qrcode": {
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz",
"integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==",
"requires": {
"dijkstrajs": "^1.0.1",
"encode-utf8": "^1.0.3",
"pngjs": "^5.0.0",
"yargs": "^15.3.1"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"requires": {
"color-convert": "^2.0.1"
}
},
"camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
},
"cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"requires": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^6.2.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"requires": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
}
},
"yargs": {
"version": "15.4.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
"integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
"requires": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
"find-up": "^4.1.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^4.2.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^18.1.2"
}
},
"yargs-parser": {
"version": "18.1.3",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
}
}
}
},
"qs": { "qs": {
"version": "6.7.0", "version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
@ -26045,14 +26247,12 @@
"require-directory": { "require-directory": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
"dev": true
}, },
"require-main-filename": { "require-main-filename": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
"dev": true
}, },
"requires-port": { "requires-port": {
"version": "1.0.0", "version": "1.0.0",
@ -26612,8 +26812,7 @@
"set-blocking": { "set-blocking": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
"dev": true
}, },
"set-value": { "set-value": {
"version": "2.0.1", "version": "2.0.1",
@ -27410,7 +27609,6 @@
"version": "4.2.2", "version": "4.2.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
"integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
"dev": true,
"requires": { "requires": {
"emoji-regex": "^8.0.0", "emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0", "is-fullwidth-code-point": "^3.0.0",
@ -27421,7 +27619,6 @@
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": { "requires": {
"ansi-regex": "^5.0.0" "ansi-regex": "^5.0.0"
} }
@ -29495,8 +29692,7 @@
"which-module": { "which-module": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
"dev": true
}, },
"wide-align": { "wide-align": {
"version": "1.1.3", "version": "1.1.3",
@ -29707,8 +29903,7 @@
"y18n": { "y18n": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
"dev": true
}, },
"yallist": { "yallist": {
"version": "4.0.0", "version": "4.0.0",

@ -42,6 +42,7 @@
"ngx-toastr": "13.2.1", "ngx-toastr": "13.2.1",
"ngx-trend": "6.1.1", "ngx-trend": "6.1.1",
"pdfmake": "^0.2.5", "pdfmake": "^0.2.5",
"qrcode": "^1.5.3",
"rxjs": "7.0.0", "rxjs": "7.0.0",
"sweetalert2": "^11.7.16", "sweetalert2": "^11.7.16",
"to-words": "^3.2.0", "to-words": "^3.2.0",

@ -0,0 +1,15 @@
export class PaymentInfoDto {
userId:string
tenderId:number
transId:number
status?:string
finalBidAmt?:number;
id?:any;
}

@ -358,7 +358,11 @@
</tr> </tr>
<tr class="hide-on-print"> <tr class="hide-on-print">
<th colspan="12"><button *ngIf="showDownloadButton" mat-raised-button id="zipFile" class="hide-on-print DownloadZipButton" (click)="downloadWITZip()"> <i class="bi bi-file-earmark-zip" ></i> Download </button> </th> <th colspan="12">
<button *ngIf="showDownloadButton" mat-raised-button id="zipFile" class="hide-on-print DownloadZipButton" (click)="downloadWITZip()"> <i class="bi bi-file-earmark-zip" ></i> Download </button>
<p *ngIf="!showDownloadButton">Documents can Only be download between {{tenderData.saleStartDate | date: 'MMM d, y, h:mm:ss a'}} and {{tenderData.saleEndDate| date: 'MMM d, y, h:mm:ss a'}}</p>
</th>
</tr> </tr>
</tbody> </tbody>
@ -371,7 +375,11 @@
<tr class="hide-on-print"> <tr class="hide-on-print">
<th colspan="12">Drawings <button *ngIf="showDownloadButton" mat-raised-button id="zipFile" class="hide-on-print DownloadZipButton" (click)="DownloadDrawingsZIP()"> <i class="bi bi-file-earmark-zip"></i> Download</button></th> <th colspan="12">Drawings
<button *ngIf="showDownloadButton" mat-raised-button id="zipFile" class="hide-on-print DownloadZipButton" (click)="DownloadDrawingsZIP()"> <i class="bi bi-file-earmark-zip"></i> Download</button>
<p *ngIf="!showDownloadButton">Documents can Only be download between {{tenderData.saleStartDate | date: 'MMM d, y, h:mm:ss a'}} and {{tenderData.saleEndDate| date: 'MMM d, y, h:mm:ss a'}}</p>
</th>
</tr> </tr>

@ -515,7 +515,7 @@ UploadNoticeFiles(event: any, i: number, type: string) {
} }
TenderFeeDetails(){ TenderFeeDetails(){
if( this.tenderData.tenderFee == null || this.tenderData.tenderFee == undefined){ if( this.tenderData.tenderFee == null || this.tenderData.tenderFee == undefined || this.tenderData.tenderFee <1 ){
this._ui.toastMessage(this.errorTranslateService.translate("tenderFeeInCantBeBlank"),2000,true); this._ui.toastMessage(this.errorTranslateService.translate("tenderFeeInCantBeBlank"),2000,true);
} }
// else if(this.tenderData.feePayableTo =='' || this.tenderData.feePayableTo == null || this.tenderData.feePayableTo == undefined){ // else if(this.tenderData.feePayableTo =='' || this.tenderData.feePayableTo == null || this.tenderData.feePayableTo == undefined){
@ -564,9 +564,9 @@ UploadNoticeFiles(event: any, i: number, type: string) {
this._ui.toastMessage(this.errorTranslateService.translate("workDescriptionCantBeBlank"),2000,true); this._ui.toastMessage(this.errorTranslateService.translate("workDescriptionCantBeBlank"),2000,true);
} }
else if( this.tenderData.tenderValue == null || this.tenderData.tenderValue == undefined){ // else if( this.tenderData.tenderValue == null || this.tenderData.tenderValue == undefined){
this._ui.toastMessage(this.errorTranslateService.translate("tenderValueCantBeBlank"),2000,true); // this._ui.toastMessage(this.errorTranslateService.translate("tenderValueCantBeBlank"),2000,true);
} // }
else if( this.tenderData.productCategory == null || this.tenderData.productCategory == undefined){ else if( this.tenderData.productCategory == null || this.tenderData.productCategory == undefined){
this._ui.toastMessage(this.errorTranslateService.translate("productCategoryCantBeBlank"),2000,true); this._ui.toastMessage(this.errorTranslateService.translate("productCategoryCantBeBlank"),2000,true);
} }

@ -5,6 +5,8 @@ import { LayoutComponentComponent } from './layout-component/layout-component.co
import { HomeViewComponent } from './home-view/home-view.component'; import { HomeViewComponent } from './home-view/home-view.component';
import { HomeUploadComponent } from './home-upload/home-upload.component'; import { HomeUploadComponent } from './home-upload/home-upload.component';
import { AddTendersComponent } from './add-tenders/add-tenders.component'; import { AddTendersComponent } from './add-tenders/add-tenders.component';
import { QrPaymentComponent } from './qr-payment/qr-payment.component';
import { PaymentDetailsComponent } from './payment-details/payment-details.component';
const routes: Routes = [ const routes: Routes = [
{ {
@ -13,10 +15,11 @@ const routes: Routes = [
{ path: 'dashboard', component: DashboardComponent }, { path: 'dashboard', component: DashboardComponent },
{path:'tender-view/:id', component:HomeViewComponent}, {path:'tender-view/:id', component:HomeViewComponent},
{path:'tender-view/:id/:pay', component:HomeViewComponent}, {path:'tender-view/:id/:pay', component:HomeViewComponent},
{ path :'payment-details/:id' , component:PaymentDetailsComponent},
{path:'tender-upload/:id',component:HomeUploadComponent}, {path:'tender-upload/:id',component:HomeUploadComponent},
{ path: 'add-tenders', component: AddTendersComponent}, { path: 'add-tenders', component: AddTendersComponent},
{ path: 'add-tenders/:id', component: AddTendersComponent} { path: 'add-tenders/:id', component: AddTendersComponent},
{ path: 'qr-payment/:id', component: QrPaymentComponent}
// { path: 'master', loadChildren: () => import('../master/master.module').then(m => m.MasterModule) }, // { path: 'master', loadChildren: () => import('../master/master.module').then(m => m.MasterModule) },
// { path: 'report', loadChildren: () => import('../report/report.module').then(m => m.ReportModule) }, // { path: 'report', loadChildren: () => import('../report/report.module').then(m => m.ReportModule) },

@ -137,7 +137,7 @@
</ng-container> </ng-container>
<ng-container matColumnDef="title"> <ng-container matColumnDef="title">
<th mat-header-cell mat-sort-header *matHeaderCellDef class="table-headers" style="width:300px"> <th mat-header-cell mat-sort-header *matHeaderCellDef class="table-headers" style="width:270px">
{{ 'title' | translate }} {{ 'title' | translate }}
<!-- <mat-icon>sort</mat-icon> --> <!-- <mat-icon>sort</mat-icon> -->
</th> </th>
@ -187,6 +187,22 @@
<ng-container matColumnDef="userPayments">
<th mat-header-cell *matHeaderCellDef class="table-headers" style="width:100px;text-align: center;">
{{ 'payments' | translate }}
<!-- <mat-icon>sort</mat-icon> -->
</th>
<td mat-cell *matCellDef="let element" style="padding: 5px;text-align: center;" class="table-content">
<button mat-button
(click)="goToPayment(element.id)" [disabled]="false">
<!-- <svg xmlns="http://www.w3.org/2000/svg" height="1em" style="height: 18px;" viewBox="0 0 512 512"><path d="M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64z" fill="#424242"/></svg> -->
<svg xmlns="http://www.w3.org/2000/svg" height="1.3em" viewBox="0 0 512 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M438.6 150.6c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96 32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l306.7 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96zm-333.3 352c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 416 416 416c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96z" fill="#424242"/></svg>
</button>
</td>
</ng-container>
<ng-container matColumnDef="view"> <ng-container matColumnDef="view">
<th mat-header-cell *matHeaderCellDef class="table-headers" style="width:100px;text-align: center;"> <th mat-header-cell *matHeaderCellDef class="table-headers" style="width:100px;text-align: center;">
{{ 'view' | translate }} {{ 'view' | translate }}
@ -235,6 +251,26 @@
</td> </td>
</ng-container> </ng-container>
<ng-container matColumnDef="Paymentstatus">
<th mat-header-cell *matHeaderCellDef class="table-headers" style="width:110px">
{{ 'Paymentstatus' | translate }}
</th>
<td mat-cell *matCellDef="let element" style="padding: 5px;text-align: center;" class="table-content">
<div *ngIf="element.countStatusP!= 0">
<svg (click)="goToPaymentDetails(element.id)" style="cursor: pointer;" xmlns="http://www.w3.org/2000/svg" height="1.4em" viewBox="0 0 576 512"><path d="M512 80c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16H512zm16 144V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224H528zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z" fill="#424242"/></svg><span class="circle-span" >{{ element.countStatusP }}</span>
</div>
<div *ngIf="element.countStatusP == 0">
<svg (click)="goToPaymentDetails(element.id)" style="cursor: pointer;margin-left:-19px;" xmlns="http://www.w3.org/2000/svg" height="1.4em" viewBox="0 0 576 512"><path d="M512 80c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16H512zm16 144V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224H528zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z" fill="#424242"/></svg>
</div>
</td>
</ng-container>
<ng-container matColumnDef="loading"> <ng-container matColumnDef="loading">
<td mat-footer-cell *matFooterCellDef="" colspan="5"> <td mat-footer-cell *matFooterCellDef="" colspan="5">
{{ 'loadingData' | translate }} {{ 'loadingData' | translate }}

@ -353,3 +353,18 @@ input {
font-weight: 800; font-weight: 800;
color:#4c4c4c; color:#4c4c4c;
} }
.circle-span {
cursor: pointer;
display: inline-block;
width: 20px;
height: 20px;
background-color: white;
border-radius: 50%;
text-align: center;
line-height: 20px;
border: 1px solid rgb(202, 202, 202);
font-size: x-small;/* Optional: add a border to the circle */
transform: translate(-8px, -6px);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

@ -64,6 +64,7 @@ export class DashboardComponent implements OnInit {
noData: boolean; noData: boolean;
userId: string; userId: string;
tenderId: number; tenderId: number;
countStatusP: any;
constructor( constructor(
private _menuService: MenuService, private _menuService: MenuService,
@ -85,10 +86,10 @@ export class DashboardComponent implements OnInit {
// this.emails$ = this.emailService.loadEmails(); // this.emails$ = this.emailService.loadEmails();
// this.getSchoolLogo(); // this.getSchoolLogo();
if(this.seculevel == 'B'){ if(this.seculevel == 'B'){
this.displayedColumns = ['actions','title','publishedDate','bidOpenDate','status','view','report']; this.displayedColumns = ['actions','title','publishedDate','bidOpenDate','status','Paymentstatus','view','report'];
} }
else{ else{
this.displayedColumns = ['slno','title','publishedDate','bidOpenDate','view','upload']; this.displayedColumns = ['slno','title','publishedDate','bidOpenDate','userPayments','view','upload'];
} }
} }
@ -154,9 +155,15 @@ export class DashboardComponent implements OnInit {
else else
this._masterService.getMasterData(apiUrl.adminTenderView +'?order[id]=DESC').then((res) =>{ this._masterService.getMasterData(apiUrl.adminTenderView +'?order[id]=DESC').then((res) =>{
this.tenderData = res; this.tenderData = res;
console.log("dtat==",this.tenderData);
for(let element of res){ for(let element of res){
this._masterService.getMasterDatabyId(apiUrl.bidReport, element.id).then(result => {
element.countStatusP = result.countStatusP;
console.log("this.countStatusP ", element.countStatusP);
})
const publishDate: Date = new Date(element.publishDate); const publishDate: Date = new Date(element.publishDate);
const bidSubEndDate: Date = new Date(element.bidSubEndDate); const bidSubEndDate: Date = new Date(element.bidSubEndDate);
@ -210,6 +217,8 @@ export class DashboardComponent implements OnInit {
// this.enableDownload = true; // Disable the button // this.enableDownload = true; // Disable the button
// console.log("disabled"); // console.log("disabled");
// } // }
} }
convertDateFormat(dateString: string): string { convertDateFormat(dateString: string): string {
@ -331,7 +340,9 @@ export class DashboardComponent implements OnInit {
// return menuCompactData; // return menuCompactData;
// } // }
goToPayment(id){
this.navigateTo(`qr-payment/${id}`)
}
public openMenu(): void { public openMenu(): void {
this.isMenuOpened = !this.isMenuOpened; this.isMenuOpened = !this.isMenuOpened;
@ -372,6 +383,10 @@ export class DashboardComponent implements OnInit {
this.router.navigate(['/tender-view',tenderId]); this.router.navigate(['/tender-view',tenderId]);
} }
goToPaymentDetails(tenderId){
this.router.navigate(['/payment-details',tenderId])
}
goToAddTenders(){ goToAddTenders(){
this.router.navigate(['/add-tenders']); this.router.navigate(['/add-tenders']);
} }

@ -32,6 +32,8 @@ import { LOCALE_ID } from '@angular/core';
import { MatDialogModule } from '@angular/material/dialog'; import { MatDialogModule } from '@angular/material/dialog';
import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatCheckboxModule } from '@angular/material/checkbox';
import { DialogComponent } from './dialog/dialog.component'; import { DialogComponent } from './dialog/dialog.component';
import { QrPaymentComponent } from './qr-payment/qr-payment.component';
import { PaymentDetailsComponent } from './payment-details/payment-details.component';
// import { MatTimepickerModule } from 'mat-timepicker'; // import { MatTimepickerModule } from 'mat-timepicker';
// import { MatTimepickerModule } from '@angular/material/timepicker'; // import { MatTimepickerModule } from '@angular/material/timepicker';
@ -47,6 +49,8 @@ const lang = 'en-US';
TenderHomeComponent, TenderHomeComponent,
AddTendersComponent, AddTendersComponent,
DialogComponent, DialogComponent,
QrPaymentComponent,
PaymentDetailsComponent,
], ],
imports: [ imports: [

@ -39,15 +39,19 @@
<!-- </nav> --> <!-- </nav> -->
<mat-progress-bar *ngIf="loading" mode="indeterminate" color="warn"></mat-progress-bar> <mat-progress-bar *ngIf="loading" mode="indeterminate" color="warn"></mat-progress-bar>
<!-- <br>
<div [hidden]="!qrImage" style="text-align: center;">
<img id="qrImage" alt="QR Code" >
</div> -->
<br> <br>
<div class="text-center mt-4"> <div class="text-center mt-4">
<h2 class="font-weight-bold " style="color: #5faca1;">Upload Files <i class="bi bi-cloud-upload"></i></h2> <h2 class="font-weight-bold " style="color: #5faca1;">Upload Files <i class="bi bi-cloud-upload"></i></h2>
</div><br> </div><br>
<div class="container"> <div class="container">
<div class="row resp" > <!-- <div class="row resp" > -->
<div class="col-sm-8 offset-sm-2"> <div class="col-sm-8 offset-sm-2">
<div class="card"> <div class="card-responsive">
<div class="card-body"> <div class="card-body">
<div class="form-group"> <div class="form-group">
<form #myForm="ngForm"> <form #myForm="ngForm">
@ -59,7 +63,10 @@
<input matInput #bidAmountInput placeholder="Enter Bid Amount" type="number" [(ngModel)]="bidAmount" [ngModelOptions]="{standalone: true}"/> <input matInput #bidAmountInput placeholder="Enter Bid Amount" type="number" [(ngModel)]="bidAmount" [ngModelOptions]="{standalone: true}"/>
</mat-form-field> </mat-form-field>
<table id="customers"> <div style="overflow-x:auto;">
<table id="customers" >
<tr> <tr>
<th style="width:30%;text-align: center;">Description</th> <th style="width:30%;text-align: center;">Description</th>
<th style="text-align: center;">Document</th> <th style="text-align: center;">Document</th>
@ -104,7 +111,9 @@
</tr> </tr>
</table><br><br> </table>
</div>
<br><br>
<!-- <div style="margin-bottom: 20px;"> <!-- <div style="margin-bottom: 20px;">
@ -163,7 +172,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> <!-- </div> -->
</div> </div>

@ -11,12 +11,12 @@ import { UiService } from 'src/app/_providers/_services/ui.service';
import Swal from 'sweetalert2' import Swal from 'sweetalert2'
import { DialogComponent } from '../dialog/dialog.component'; import { DialogComponent } from '../dialog/dialog.component';
import { DatePipe } from '@angular/common'; import { DatePipe } from '@angular/common';
@Component({ @Component({
selector: 'app-home-upload', selector: 'app-home-upload',
templateUrl: './home-upload.component.html', templateUrl: './home-upload.component.html',
styleUrls: ['./home-upload.component.scss'] styleUrls: ['./home-upload.component.scss']
}) })
export class HomeUploadComponent implements OnInit { export class HomeUploadComponent implements OnInit {
phoneInvalid: boolean = false; phoneInvalid: boolean = false;
@ -69,6 +69,7 @@ export class HomeUploadComponent implements OnInit {
amountPaid: boolean = false; amountPaid: boolean = false;
OnlinePayment: boolean; OnlinePayment: boolean;
dialogRef: any;
constructor( constructor(
private router: Router, private router: Router,
@ -79,6 +80,10 @@ export class HomeUploadComponent implements OnInit {
public dialog: MatDialog, public dialog: MatDialog,
private datePipe: DatePipe private datePipe: DatePipe
) { ) {
// this.generateUPIQRCode('atlejs47@oksbi', '100');
this.secuLevel = localStorage.getItem('seculevel'); this.secuLevel = localStorage.getItem('seculevel');
this.userId = localStorage.getItem('userId'); this.userId = localStorage.getItem('userId');
this.tenderId = +this.route.snapshot.paramMap.get('id'); this.tenderId = +this.route.snapshot.paramMap.get('id');
@ -96,14 +101,11 @@ export class HomeUploadComponent implements OnInit {
this.getData(); this.getData();
this.getFileFormatLov(); this.getFileFormatLov();
this.paymentCheck(); this.paymentCheck();
} }
ngAfterViewInit(): void {
setTimeout(() => {
this.bidAmountInput.nativeElement.focus();
}, 0);
}
openDialog() { openDialog() {
@ -111,7 +113,7 @@ export class HomeUploadComponent implements OnInit {
width: '500px', width: '500px',
data: { data: {
details: [ details: [
'I hereby declare that I have read and understood the trended documents, terms and conditions, drawings and specifications. The rates quoted are based on all the necessary understanding of the site conditions and challenges to carry out the work. The rates are the best I could offer and is inclusive of all taxes and levies.', 'I hereby declare that I have read and understood the tendered documents, terms and conditions, drawings and specifications. The rates quoted are based on all the necessary understanding of the site conditions and challenges to carry out the work. The rates are the best I could offer and are inclusive of all taxes and levies.',
] ]
} }
}); });
@ -122,6 +124,14 @@ export class HomeUploadComponent implements OnInit {
}); });
} }
openQrImage(templateRef) {
// console.log('this');
this.dialogRef = this.dialog.open(templateRef, {
width: '400px',
disableClose: false
});
// this.verifiedOtp = true
}
paymentCheck(){ paymentCheck(){
this._masterService.getMasterDatabyId(apiUrl.paymentCheck, `${this.userId}/${this.tenderId}`).then(res => { this._masterService.getMasterDatabyId(apiUrl.paymentCheck, `${this.userId}/${this.tenderId}`).then(res => {
@ -365,4 +375,6 @@ if (result.isConfirmed) {
} }
} }

@ -351,6 +351,8 @@
<th colspan="12"><button *ngIf="showDownloadButton" mat-raised-button id="zipFile" (click)="downloadWITZip()" class=" DownloadZipButton hide-on-print" <th colspan="12"><button *ngIf="showDownloadButton" mat-raised-button id="zipFile" (click)="downloadWITZip()" class=" DownloadZipButton hide-on-print"
> <i class="bi bi-file-earmark-zip"></i> Download as Zip File</button> > <i class="bi bi-file-earmark-zip"></i> Download as Zip File</button>
<p *ngIf="!showDownloadButton">Documents can Only be download between {{tenderData.saleStartDate | date: 'MMM d, y, h:mm:ss a'}} and {{tenderData.saleEndDate| date: 'MMM d, y, h:mm:ss a'}}</p>
</th> </th>
</tr> </tr>
@ -383,7 +385,10 @@
<tr class="hide-on-print"> <tr class="hide-on-print">
<th colspan="12">Description<button *ngIf="showDownloadButton" mat-raised-button id="zipFile" class="DownloadZipButton hide-on-print" <th colspan="12">Description<button *ngIf="showDownloadButton" mat-raised-button id="zipFile" class="DownloadZipButton hide-on-print"
(click)="DownloadDrawingsZIP()" > <i class="bi bi-file-earmark-zip"></i> Download as Zip (click)="DownloadDrawingsZIP()" > <i class="bi bi-file-earmark-zip"></i> Download as Zip
File</button> </th> File</button>
<p *ngIf="!showDownloadButton">Documents can Only be download between {{tenderData.saleStartDate | date: 'MMM d, y, h:mm:ss a'}} and {{tenderData.saleEndDate| date: 'MMM d, y, h:mm:ss a'}}</p>
</th>
</tr> </tr>

@ -293,31 +293,25 @@ export class HomeViewComponent implements OnInit {
async paymentGateway() { async paymentGateway() {
// if(this.seculevel != 'B'){ // this.paymentDetails = new PurchaseDto();
this.paymentDetails = new PurchaseDto(); // this.paymentDetails.application = this.tenderId;
this.paymentDetails.application = this.tenderId; // this.paymentDetails.mobile = localStorage.getItem('mobile')
this.paymentDetails.mobile = localStorage.getItem('mobile') // this.paymentDetails.email = "accuratesoftware2022@gmail.com";
this.paymentDetails.email = "accuratesoftware2022@gmail.com"; // this.paymentDetails.amount = this.tenderData.tenderFee;
this.paymentDetails.amount = this.tenderData.tenderFee; // this.paymentDetails.type = "I"
this.paymentDetails.type = "I"
// this.paymentDetails.email=this.issueApplicationData.motherEmail // this._transactionService.createPayment(this.paymentDetails).then(
// console.log('this.newPaymentRow.paymentMethod ====',this.newPaymentRow); // res => {
// this.onSuccessPayment(res);
// let paymentMethod = this.paymentMethodLovData.find(x=> x.id==this.newPaymentRow.paymentMethod) // },
// err => {
// console.log('this.paymentDetails===', this.paymentDetails); // this.onFailurePayment(err);
this._transactionService.createPayment(this.paymentDetails).then(
res => {
this.onSuccessPayment(res);
},
err => {
this.onFailurePayment(err);
// console.log("==er====", err);
}
);
// } // }
// );
this.router.navigate([`qr-payment/${this.tenderId}`])
} }

@ -0,0 +1,220 @@
<div class="buttonCard">
<button mat-stroked-button (click)="backButton()" class="backButton">
<i class="fa fa-arrow-left" aria-hidden="true"
style="top: 0px;position: relative;font-size: small;"></i>
Back
</button>
</div>
<div id="section-to-print" class="container" style="background-color: white;">
<div class="table-container" #table>
<div class="reportHeader">
<div class="row" style="text-align: center;">
<h2 class="bidHeading">Payment Details</h2>
</div>
<div class="row">
<h3 class="tenderInfo">Tender Information:</h3>
</div>
<div class="row">
<div class="col-6 col-sm-6 col-md-6 col-lg-6 col-xl-6">
<span class="subHead">
{{'tender'|translate}} :
<span class="subDetail"> {{headerData?.title}} </span>
</span>
</div>
</div>
<div class="row" style="margin-top: 5px;">
<div class="col-6 col-sm-6 col-md-6 col-lg-6 col-xl-6">
<span class="subHead">
{{'tenderId'|translate}} :
<span class="subDetail"> {{tenderInputId}} </span>
</span>
</div>
</div>
<br>
<div class="row">
<h3 class="tenderInfo">Payment Summary:</h3>
</div>
</div>
<table hidden="true">
<tr>
<th></th>
<th></th>
<th></th>
<th>{{title | translate}}</th>
<th></th>
<th></th>
</tr>
<tr>
<td></td>
<td>Tender Name</td>
<td>
{{headerData?.title}}
</td>
<td></td>
<td>Published Date</td>
<td>
{{headerData?.publishDate }}
</td>
</tr>
<tr>
<td></td>
<td>Tender Id</td>
<td>
{{tenderInputId }}
</td>
<td></td>
<td>Bid Open Date</td>
<td>
{{headerData?.bidOpenDate}}
</td>
</tr>
<tr></tr>
</table>
<div class="table-responsive">
<mat-table mat-table [dataSource]="dataSource" class="mat-elevation-z8" matSort matSortDisableClear="true"
(matSortChange)="sortData($event)">
<ng-container matColumnDef="slNo">
<th mat-header-cell *matHeaderCellDef style="text-align: center;width:80px" class="table-headers">
<div>
{{'slNo'|translate}}
</div>
</th>
<td mat-cell *matCellDef="let element let i=index" class="table-content" style="text-align: center;">
{{i+1}}
</td>
</ng-container>
<ng-container matColumnDef="name">
<th mat-header-cell mat-sort-header *matHeaderCellDef style="text-align: center;width:140px"
class="table-headers">
<div>
{{'name'|translate}}
</div>
</th>
<td mat-cell *matCellDef="let element" class="table-content">
{{element?.userName}}
</td>
</ng-container>
<ng-container matColumnDef="admissionNo">
<th mat-header-cell mat-sort-header *matHeaderCellDef style="text-align: center;" class="table-headers">
<div>
{{'admissionNo'|translate}}
</div>
</th>
<td mat-cell *matCellDef="let element" class="table-content">
{{element.rollNo }}
</td>
</ng-container>
<ng-container matColumnDef="mobileNumber">
<th mat-header-cell mat-sort-header *matHeaderCellDef style="text-align: center;width:170px"
class="table-headers">
<div>
{{'mobileNumber'|translate}}
</div>
</th>
<td mat-cell *matCellDef="let element" class="table-content">
{{element?.mobileNumber}}
</td>
</ng-container>
<ng-container matColumnDef="email">
<th mat-header-cell mat-sort-header *matHeaderCellDef style="text-align: center;width:170px" class="table-headers">
<div>
{{'emailId'|translate}}
</div>
</th>
<td mat-cell *matCellDef="let element" class="table-content">
{{element?.email}}
</td>
</ng-container>
<ng-container matColumnDef="transId">
<th mat-header-cell mat-sort-header *matHeaderCellDef style="text-align: center;width:200px" class="table-headers">
<div>
{{'TransactionId'|translate}}
</div>
</th>
<td mat-cell *matCellDef="let element" class="table-content">
{{element?.transId}}
</td>
</ng-container>
<ng-container matColumnDef="Paymentstatus">
<th mat-header-cell mat-sort-header *matHeaderCellDef style="text-align: center;width:200px" class="table-headers">
<div>
{{'Paymentstatus'|translate}}
</div>
</th>
<td mat-cell *matCellDef="let element" class="table-content">
<mat-select style="width: 65%;font-family: nucleo;"
[(ngModel)]="element.paymentStatus"
[ngModelOptions]="{standalone: true}" (ngModelChange)="onPaymentStatusChange(element.userId, element.paymentStatus)">
<mat-option *ngIf="element.status === 'P';" style="font-family: nucleo;" value="P">Pending</mat-option>
<mat-option style="font-family: nucleo;" value="D">Decline</mat-option>
<mat-option style="font-family: nucleo;" value="S">Confirm</mat-option>
</mat-select>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displaycolumns ;sticky: true;"></tr>
<tr mat-row *matRowDef="let row; columns: displaycolumns;"></tr>
</mat-table>
</div>
</div>
</div>
<div class="buttonCardBottom">
</div>

@ -0,0 +1,409 @@
// .header {
// margin-left: 4%;
// margin-top: 20px;
// }
// .header>h6{
// a {
// text-decoration: none;
// color: #262627;
// }
// a:hover {
// text-decoration: underline;
// cursor: pointer;
// }
// }
// mat-card{
// min-width: 180px ;
// // max-width: 20vw;
// height: 200px;
// display: inline-block;
// }
// mat-card:hover{
// cursor: pointer;
// }
// -----------------------------------------------------------------------------------
.nav-link:hover {
color: red;
}
th,
td {
padding: 10px;
// border: 1px solid #ccc;
word-wrap: break-word;
white-space: normal;
}
.h2 {
font-family: sans-serif;
font-size: 26px;
font-weight: 500;
}
.table td {
word-break: break-word;
}
.table-break-word {
word-break: break-word;
}
.top-bar {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border: 1px solid #e3e3e3;
width: 100%;
margin: auto;
padding: auto;
}
.header {
padding: 20px;
width: 100%;
min-width: 350px;
}
.header>h6>a {
text-decoration: none;
color: #262627;
}
.header>h6>a:hover {
text-decoration: underline;
cursor: pointer;
}
mat-card {
min-width: 350px;
}
.top-left-float {
display: flex;
min-width: 282px;
}
.top-right-float {
display: flex;
min-width: 161px;
}
.top-left-float>button,
.top-right-float>button {
margin: 5px;
height: 40px;
}
mat-table {
padding-top: 10px !important;
// table-layout: fixed;
width: 100%;
display: table;
overflow-x: scroll;
.table-headers {
padding: 5px;
color: #505050;
font-weight: 900;
font-size: medium;
background-color: #f0f0f0;
font-family: nucleo;
}
.table-headers:hover {
background-color: #ececec;
color: #46AC9E;
}
.table-content {
padding: 5px;
overflow-wrap: inherit;
font-family: nucleo;
}
.table-column {
width: 100%;
}
}
input {
border: none;
border-bottom: 1px solid silver;
}
:host ::ng-deep .mat-slide-toggle.mat-checked:not(.mat-disabled) {
.mat-slide-toggle-thumb {
background-color: #46AC9E;
}
.mat-slide-toggle-bar {
background-color: skyblue;
}
}
// .dialog-body {
// display: flex;
// justify-content: center;
// align-items: center;
// div {
// width: 90%;
// }
// }
.dialog-actions {
display: flex;
flex-wrap: wrap;
width: 97%;
justify-content: space-between;
.btn-group-left {
// min-width: 150px;
margin-top: 5px;
}
.btn-group-right {
// min-width: 95px;
margin-top: 5px;
}
}
.hide {
display: none;
}
:host ::ng-deep {
.mat-form-field-infix {
border-bottom: 0px solid white;
}
.mat-table {
tr {
th,
td {
vertical-align: middle;
}
}
}
}
.img-fluid {
margin-right: 5px;
max-height: 40px;
}
// .navbar {
// background-position: center;
// }
@media (max-width: 767px) {
.card {
min-width: 600px;
}
}
@media print {
.buttonCard {
display: none;
}
.backButton {
display: none;
}
.printButton {
display: none;
}
.excelButton {
display: none;
}
}
.mat-row:nth-child(even) {
background-color: rgb(255, 255, 255);
}
.mat-row:nth-child(odd) {
background-color: rgb(241, 241, 241);
}
.table-container {
margin-top: 20px
}
.backButton {
float: left;
margin-top: 5px;
margin-bottom: 5px;
color: #424242;
background-color: white;
height: 37px;
border-radius: 9px;
font-family: nucleo;
// width: 8%;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
transform: translateY(5px);
}
.backButton:hover {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
/* You can adjust the shadow values to your preference */
}
.printButton {
float: right;
margin-top: 5px;
margin-bottom: 5px;
background-color: white;
color: #424242;
height: 37px;
border-radius: 9px;
font-family: nucleo;
width: 8%;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.printButton:hover {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
/* You can adjust the shadow values to your preference */
}
.excelButton {
float: right;
margin-top: 5px;
margin-bottom: 5px;
color: #424242;
background-color: white;
height: 37px;
border-radius: 9px;
font-family: nucleo;
width: 8%;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
margin-right: 5px;
}
.excelButton:hover {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
/* You can adjust the shadow values to your preference */
}
.buttonCard {
width: 100%;
background-color: #ffffff;
height: 50px;
margin: 0px;
padding: 0px 16px 0px 16px;
margin-top: 20px;
}
.buttonCardBottom{
width: 100%;
background-color: #ffffff;
height: 50px;
margin: 0px;
padding: 0px 16px 0px 16px;
margin-bottom: 20px;
}
.reportHeader {
width: 100%;
background-color: #ffffff;
// height: 50px;
margin: 5px 0px 0px 0px;
}
.bidHeading {
font-family: texg;
color: #353535;
}
.tenderInfo {
font-family: texg;
color: #353535;
}
.subHead {
font-family: texg;
color: #353535;
}
.subDetail {
font-family: nucleo;
color: #353535;
}
.captchaFont {
font-family: captcha;
font-size: large;
}
.captchaDiv {
text-align: center;
height: 100px;
display: flex;
align-items: center;
justify-content: center;
background-image: url('/assets/img/captchaback.jpeg');
}
.captchaSubmit{
float: right;
margin-top: 5px;
margin-bottom: 5px;
color: #424242;
background-color: white;
height: 37px;
border-radius: 9px;
font-family: nucleo;
// width: 8%;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
margin-right: 5px;
}
.captchaSubmit:hover {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
background-color: rgb(240, 240, 240);
/* You can adjust the shadow values to your preference */
}
.rotate-icon {
animation: rotate 1s infinite;
}
@keyframes rotate {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.table-responsive {
overflow-x: scroll;
}

@ -0,0 +1,124 @@
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { MatSort, Sort } from '@angular/material/sort';
import { MatTableDataSource } from '@angular/material/table';
import { ActivatedRoute, Router } from '@angular/router';
import { apiUrl } from 'src/app/_providers/_resources/api-url.properties';
import { MasterService } from 'src/app/_providers/_services/master.service';
import { UiService } from 'src/app/_providers/_services/ui.service';
@Component({
selector: 'app-payment-details',
templateUrl: './payment-details.component.html',
styleUrls: ['./payment-details.component.scss']
})
export class PaymentDetailsComponent implements OnInit {
title = 'Payment Details';
today: Date = new Date();
@ViewChild('table', { static: false }) table: ElementRef;
@ViewChild(MatSort, { static: false }) sort: MatSort;
displaycolumns: string[] = ['slNo', 'name', 'mobileNumber', 'email', 'transId', 'Paymentstatus'];
dataSource: MatTableDataSource<unknown>;
tenderId: number;
headerData: any;
tableData: any;
tenderInputId: any;
paymentStatus: any;
userId: string;
constructor(
private _router: Router,
private _masterService: MasterService,
private route: ActivatedRoute,
private _ui:UiService,
) {
this.tenderId = +this.route.snapshot.paramMap.get('id');
}
ngOnInit(): void {
this.getHeaderData(this.tenderId);
this.getTableData(this.tenderId);
}
getHeaderData(id) {
this._masterService.getMasterDatabyId(apiUrl.getTender, id).then(res => {
this.headerData = res;
this.tenderInputId = res.tenderId
})
}
getTableData(id) {
this._masterService.getMasterDatabyId(apiUrl.bidReport, id).then(res => {
console.log("res",res);
this.tableData = res.report
this.tableData.forEach(element => {
if (element.status === 'P') {
element.paymentStatus = 'P';
}
if(element.status === 'S'){
element.paymentStatus = 'S';
}
if(element.status === 'D'){
element.paymentStatus = 'D';
}
});
this.tableData.sort((a, b) => {
if (a.status === 'P' && b.status !== 'P') {
return -1;
} else if (a.status !== 'P' && b.status === 'P') {
return 1;
} else {
return 0;
}
});
this.dataSource = new MatTableDataSource(this.tableData);
this.dataSource.sort = this.sort;
})
}
navigateTo(destination) {
this._router.navigate([destination])
}
backButton() {
this.navigateTo('/dashboard')
// this.backClick.emit()
}
sortData(sort: Sort) {}
onPaymentStatusChange(userId, paymentStatus){
console.log("this.paymentStatus",paymentStatus);
let body = {
status : paymentStatus
}
this._masterService.postMasterData(apiUrl.paymentupdatePaymentStatus,body,`${userId}/${this.tenderId}`).then((res) =>{
console.log(res);
this._ui.toastMessage(res.data)
},err=>{
this._ui.toastMessage(err.error.message);
})
}
}

@ -0,0 +1,65 @@
<br>
<br>
<div [hidden]="!qrImage" style="text-align: center;">
<p>Payment Status : &nbsp; <b>{{paymentStatus}}</b></p>
<br>
<p>Amount need to be paid : &nbsp;₹{{amountReq}}/- Only</p>
<img id="qrImage" alt="QR Code" >
</div>
<br>
<div class="row">
<div class="col-1 col-sm-1 col-md-3 col-lg-3 col-xl-3"></div>
<div class="col-10 col-sm-10 col-md-6 col-lg-6 col-xl-6">
<p>Please provide the transaction id of payment you've made successfully.</p>
<mat-form-field class="input-style" appearance="outline" style="width:100%;">
<mat-label >Transaction ID </mat-label>
<input matInput placeholder="Enter Transaction ID" type="text" [(ngModel)]="transactionData.transId"/>
</mat-form-field>
<div style="text-align: center;">
<button mat-raised-button (click)="submit()" [disabled]="paymentStatus == 'Success'">Submit</button>
</div>
<div style="text-align: right;">
<a style="cursor: pointer;color: blue;" (click)="openHelpDialog(help)">help?</a>
</div>
</div>
<div class="col-1 col-sm-1 col-md-3 col-lg-3 col-xl-3"></div>
</div>
<ng-template #help>
<div>
<h6>How can I pay? </h6>
<ul>
<li>Launch the payment app on your smartphone</li>
<li>scan the code</li>
<li>Review the payment details to ensure they're correct, and then confirm the transaction</li>
</ul>
<h6>How do I get my Transaction Id? </h6>
<ul>
<li>The method to obtain a transaction ID for a QR code payment can vary depending on the payment app you're using and the platform through which you made the payment. Generally, when you make a payment using a QR code, the transaction ID is usually generated and provided to you as a confirmation of the completed payment. please check your payment app or mail for Transaction ID</li>
</ul>
<h6>How can I ensure that the payment was successful?</h6>
<ul>
<li>After your successfull payment,enter the transaction Id</li>
<li>After the confirmation from Bank, your payment status will be changed from Pending to Paid</li>
</ul>
<h6>Can I change the Transaction ID once it has been saved?</h6>
<ul>
<li>You can edit the transaction ID after saving also</li>
<li>Editing Must be before the appropriate date</li>
</ul>
<p>more info : tscb178@gmail.com</p>
<div style="text-align: right;">
<a style="color: #46AC9E;cursor: pointer;" (click)="closeDialog()">Close</a>
</div>
</div>
</ng-template>

@ -0,0 +1,6 @@
.md-dialog-container {
background-color: #000;
width: 600px;
height: 600px
}

@ -0,0 +1,25 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { QrPaymentComponent } from './qr-payment.component';
describe('QrPaymentComponent', () => {
let component: QrPaymentComponent;
let fixture: ComponentFixture<QrPaymentComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ QrPaymentComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(QrPaymentComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,167 @@
import { DatePipe } from '@angular/common';
import { Component, OnInit } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { ActivatedRoute, Router } from '@angular/router';
import * as QRCode from 'qrcode';
import { PaymentInfoDto } from 'src/app/_dto/payment-info.dto';
import { apiUrl } from 'src/app/_providers/_resources/api-url.properties';
import { ErrorTranslateService } from 'src/app/_providers/_services/error-translate.service';
import { MasterService } from 'src/app/_providers/_services/master.service';
import { UiService } from 'src/app/_providers/_services/ui.service';
import { environment } from 'src/environments/environment.prod';
@Component({
selector: 'app-qr-payment',
templateUrl: './qr-payment.component.html',
styleUrls: ['./qr-payment.component.scss']
})
export class QrPaymentComponent implements OnInit {
secuLevel: string;
userId: string;
tenderId: number;
transactionData: PaymentInfoDto;
amountReq: any;
dialogRef: any;
paymentStatus: any;
paymentId: any;
constructor(
private router: Router,
private route: ActivatedRoute,
private _ui: UiService,
private _errorTranslate: ErrorTranslateService,
private _masterService: MasterService,
private dialog: MatDialog,
private datePipe: DatePipe
) {
this.secuLevel = localStorage.getItem('seculevel');
this.userId = localStorage.getItem('userId');
this.tenderId = +this.route.snapshot.paramMap.get('id');
}
qrImage: boolean = false;
transId: any
ngOnInit(): void {
this.transactionData = new PaymentInfoDto()
this.getData();
}
// ngAfterViewInit(): void {
// setTimeout(() => {
// }, 1000);
// }
getData() {
this._masterService.getMasterDatabyId(apiUrl.getTender, this.tenderId).then(res => {
this.amountReq = res.tenderFee;
this.generateUPIQRCode(environment.upiId, this.amountReq);
})
this.paymentCheck();
}
paymentCheck() {
this._masterService.getMasterDatabyId(apiUrl.paymentUserCheck + `/${this.userId}`, this.tenderId).then(res => {
console.log(res);
if (res && res[0].status) {
if (res[0].status == 'P') {
this.paymentStatus = 'Pending'
}
if (res[0].status == 'D') {
this.paymentStatus = 'Declined'
}
if (res[0].status == 'S') {
this.paymentStatus = 'Success'
}
this.paymentId = res[0].id
}
}, err => {
if (err.error.message.trim() == "User Payment Not Found") {
this.paymentStatus = 'Payment Not Started'
this.transactionData.status = 'P'
}
})
}
generateUPIQRCode(upiID: string, amount: string): void {
const upiLink = `upi://pay?pa=${upiID}&am=${amount}&tn=Tender%20Fee`;
QRCode.toDataURL(upiLink, { errorCorrectionLevel: 'L' }, (err, qrDataURL) => {
if (err) {
console.error(err);
return;
}
// console.log('url==', qrDataURL);
const qrImageElement = document.getElementById('qrImage') as HTMLImageElement;
qrImageElement.src = qrDataURL;
this.qrImage = true
});
}
openHelpDialog(templateRef) {
this.dialogRef = this.dialog.open(templateRef, {
width: '700px',
disableClose: false
});
}
closeDialog() {
this.dialogRef.close()
}
preSave() {
if (this.transactionData.transId == 0 || this.transactionData.transId == null || this.transactionData.transId == undefined) {
this._ui.toastMessage(this._errorTranslate.translate("pleaseEnterTransId"), 2000, true);
return false;
}
return true;
}
submit() {
if (!this.preSave())
return
this.transactionData.userId = this.userId;
this.transactionData.tenderId = this.tenderId;
// this.transactionData.
console.log('this.paymentId==',this.paymentId);
if(this.paymentId){
this.transactionData.id = this.paymentId
this._masterService.updateMasterData(apiUrl.paymentMaster, this.transactionData,this.paymentId).then(res=>{
console.log('res==.',res);
this.transactionData = new PaymentInfoDto()
this.getData();
})
}
else
this._masterService.saveMasterData(apiUrl.paymentInfo, this.transactionData).then(res => {
console.log(res);
this.transactionData = new PaymentInfoDto()
this.getData();
})
}
}

@ -45,8 +45,11 @@ export const apiUrl = {
paymentCheck:"payment-master/bid-payment-check", paymentCheck:"payment-master/bid-payment-check",
emailUserSubmit:"auth/otp/UD", emailUserSubmit:"auth/otp/UD",
UserUploadCheck :"tender-doc/userDocCheck", UserUploadCheck :"tender-doc/userDocCheck",
emailReport:"email/report" emailReport:"email/report",
paymentInfo:"payment-master/paymentInfo",
paymentMaster:"payment-master",
paymentUserCheck:"payment-master/userBidPaymentCheck",
paymentupdatePaymentStatus:"payment-master/updatePaymentStatus"
}; };
export const apiFilterProperties = { export const apiFilterProperties = {

@ -143,6 +143,7 @@
"DocumentsAlreadyUploaded" : "Documents Already Uploaded", "DocumentsAlreadyUploaded" : "Documents Already Uploaded",
"pleaseAgreeToTheTermsandCondition":"Please Agree To The Terms and Condition", "pleaseAgreeToTheTermsandCondition":"Please Agree To The Terms and Condition",
"pleasePayTheAmountForDoc":"Please Pay The Amount For Downloading Documents", "pleasePayTheAmountForDoc":"Please Pay The Amount For Downloading Documents",
"emailSentSuccessfully":"Email Sent Successfully" "emailSentSuccessfully":"Email Sent Successfully",
"pleaseEnterTransId":"Please Enter Transaction Id"
} }

@ -351,9 +351,13 @@
"bidEndDate":"Bid End Date", "bidEndDate":"Bid End Date",
"report":"Report", "report":"Report",
"totalBidAmount":"Total Bid Amount", "totalBidAmount":"Total Bid Amount",
"TransactionId":"Transaction ID",
"documents": "Documents", "documents": "Documents",
"confirmPayment":"Confirm Payment",
"DeclinePayment":"Decline Payment",
"tender":"Tender", "tender":"Tender",
"tenderId":"Tender Id", "tenderId":"Tender Id",
"status":"Status" "status":"Status",
"Paymentstatus":"Payment Status"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

@ -4,7 +4,7 @@ export const environment = {
// apiUrl:'https://sales.api.accuratesoftware.online/api/v1', // apiUrl:'https://sales.api.accuratesoftware.online/api/v1',
apiUrl: 'https://tenderapi.simssoftware.in/api/v1', apiUrl: 'https://tenderapi.simssoftware.in/api/v1',
upiId:'thrikodithanamservicecoperativebank@icici',
production: true, production: true,
hmr: false, hmr: false,
timeOutLimit: 3600, timeOutLimit: 3600,

@ -4,9 +4,9 @@
export const environment = { export const environment = {
// apiUrl: 'http://192.168.1.112:3500/api/v1', apiUrl: 'http://192.168.1.112:3200/api/v1',
apiUrl: 'https://tenderapi.simssoftware.in/api/v1', // apiUrl: 'https://tenderapi.simssoftware.in/api/v1',/
upiId:'thrikodithanamservicecoperativebank@icici',
production: false, production: false,
hmr: false, hmr: false,
timeOutLimit: 3600, timeOutLimit: 3600,

@ -2593,6 +2593,15 @@
"strip-ansi" "^5.2.0" "strip-ansi" "^5.2.0"
"wrap-ansi" "^5.1.0" "wrap-ansi" "^5.1.0"
"cliui@^6.0.0":
"integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="
"resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz"
"version" "6.0.0"
dependencies:
"string-width" "^4.2.0"
"strip-ansi" "^6.0.0"
"wrap-ansi" "^6.2.0"
"cliui@^7.0.2": "cliui@^7.0.2":
"integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ=="
"resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz"
@ -3366,6 +3375,11 @@
"miller-rabin" "^4.0.0" "miller-rabin" "^4.0.0"
"randombytes" "^2.0.0" "randombytes" "^2.0.0"
"dijkstrajs@^1.0.1":
"integrity" "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
"resolved" "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz"
"version" "1.0.3"
"dir-glob@^3.0.1": "dir-glob@^3.0.1":
"integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="
"resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
@ -3511,6 +3525,11 @@
"resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz"
"version" "3.0.0" "version" "3.0.0"
"encode-utf8@^1.0.3":
"integrity" "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
"resolved" "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz"
"version" "1.0.3"
"encodeurl@~1.0.2": "encodeurl@~1.0.2":
"integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" "integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
"resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
@ -4015,7 +4034,7 @@
dependencies: dependencies:
"locate-path" "^3.0.0" "locate-path" "^3.0.0"
"find-up@^4.0.0": "find-up@^4.0.0", "find-up@^4.1.0":
"integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="
"resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
"version" "4.1.0" "version" "4.1.0"
@ -6420,6 +6439,11 @@
"resolved" "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz" "resolved" "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz"
"version" "1.0.0" "version" "1.0.0"
"pngjs@^5.0.0":
"integrity" "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
"resolved" "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz"
"version" "5.0.0"
"pnp-webpack-plugin@1.6.4": "pnp-webpack-plugin@1.6.4":
"integrity" "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==" "integrity" "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg=="
"resolved" "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz" "resolved" "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz"
@ -6852,6 +6876,16 @@
"resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"
"version" "1.3.2" "version" "1.3.2"
"qrcode@^1.5.3":
"integrity" "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg=="
"resolved" "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz"
"version" "1.5.3"
dependencies:
"dijkstrajs" "^1.0.1"
"encode-utf8" "^1.0.3"
"pngjs" "^5.0.0"
"yargs" "^15.3.1"
"qs@~6.5.2": "qs@~6.5.2":
"integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" "integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
"resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"
@ -9115,6 +9149,15 @@
"string-width" "^3.0.0" "string-width" "^3.0.0"
"strip-ansi" "^5.0.0" "strip-ansi" "^5.0.0"
"wrap-ansi@^6.2.0":
"integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="
"resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz"
"version" "6.2.0"
dependencies:
"ansi-styles" "^4.0.0"
"string-width" "^4.1.0"
"strip-ansi" "^6.0.0"
"wrap-ansi@^7.0.0": "wrap-ansi@^7.0.0":
"integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="
"resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
@ -9197,6 +9240,14 @@
"camelcase" "^5.0.0" "camelcase" "^5.0.0"
"decamelize" "^1.2.0" "decamelize" "^1.2.0"
"yargs-parser@^18.1.2":
"integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ=="
"resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz"
"version" "18.1.3"
dependencies:
"camelcase" "^5.0.0"
"decamelize" "^1.2.0"
"yargs-parser@^20.2.2": "yargs-parser@^20.2.2":
"integrity" "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" "integrity" "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw=="
"resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz" "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz"
@ -9218,6 +9269,23 @@
"y18n" "^4.0.0" "y18n" "^4.0.0"
"yargs-parser" "^13.1.2" "yargs-parser" "^13.1.2"
"yargs@^15.3.1":
"integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A=="
"resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz"
"version" "15.4.1"
dependencies:
"cliui" "^6.0.0"
"decamelize" "^1.2.0"
"find-up" "^4.1.0"
"get-caller-file" "^2.0.1"
"require-directory" "^2.1.1"
"require-main-filename" "^2.0.0"
"set-blocking" "^2.0.0"
"string-width" "^4.2.0"
"which-module" "^2.0.0"
"y18n" "^4.0.0"
"yargs-parser" "^18.1.2"
"yargs@^16.2.0": "yargs@^16.2.0":
"integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw=="
"resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz"

Loading…
Cancel
Save