Changes : ps
This commit is contained in:
parent
fcb68c7b24
commit
992e8d5375
282
ng6-seed/package-lock.json
generated
282
ng6-seed/package-lock.json
generated
@ -903,6 +903,15 @@
|
||||
"acorn": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"adler-32": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz",
|
||||
"integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=",
|
||||
"requires": {
|
||||
"exit-on-epipe": "~1.0.1",
|
||||
"printj": "~1.1.0"
|
||||
}
|
||||
},
|
||||
"adm-zip": {
|
||||
"version": "0.4.11",
|
||||
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz",
|
||||
@ -1963,6 +1972,17 @@
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"cfb": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cfb/-/cfb-1.1.0.tgz",
|
||||
"integrity": "sha512-ZqfxNGWTMKhd0a/n6YKJLq8hWbd5kR3cA4kXwUj9vVEdHlwJ09werR8gN15Z7Y1FTXqdD6dE3GGCxv4uc28raA==",
|
||||
"requires": {
|
||||
"adler-32": "~1.2.0",
|
||||
"commander": "^2.16.0",
|
||||
"crc-32": "~1.2.0",
|
||||
"printj": "~1.1.2"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz",
|
||||
@ -2157,6 +2177,22 @@
|
||||
"sprintf-js": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"codepage": {
|
||||
"version": "1.14.0",
|
||||
"resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz",
|
||||
"integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=",
|
||||
"requires": {
|
||||
"commander": "~2.14.1",
|
||||
"exit-on-epipe": "~1.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "2.14.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
|
||||
"integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"collection-visit": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
|
||||
@ -2443,6 +2479,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"crc-32": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz",
|
||||
"integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==",
|
||||
"requires": {
|
||||
"exit-on-epipe": "~1.0.1",
|
||||
"printj": "~1.1.0"
|
||||
}
|
||||
},
|
||||
"create-ecdh": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
|
||||
@ -3709,6 +3754,11 @@
|
||||
"integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
|
||||
"dev": true
|
||||
},
|
||||
"exit-on-epipe": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz",
|
||||
"integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw=="
|
||||
},
|
||||
"expand-braces": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
|
||||
@ -4222,6 +4272,11 @@
|
||||
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
|
||||
"dev": true
|
||||
},
|
||||
"frac": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz",
|
||||
"integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
|
||||
},
|
||||
"fragment-cache": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
|
||||
@ -4293,8 +4348,7 @@
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
@ -4308,23 +4362,21 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"delegates": "1.0.0",
|
||||
"readable-stream": "2.3.6"
|
||||
"delegates": "^1.0.0",
|
||||
"readable-stream": "^2.0.6"
|
||||
}
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "1.0.0",
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
@ -4337,20 +4389,17 @@
|
||||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
@ -4391,7 +4440,7 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minipass": "2.2.4"
|
||||
"minipass": "^2.2.1"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
@ -4406,14 +4455,14 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"aproba": "1.2.0",
|
||||
"console-control-strings": "1.1.0",
|
||||
"has-unicode": "2.0.1",
|
||||
"object-assign": "4.1.1",
|
||||
"signal-exit": "3.0.2",
|
||||
"string-width": "1.0.2",
|
||||
"strip-ansi": "3.0.1",
|
||||
"wide-align": "1.1.2"
|
||||
"aproba": "^1.0.3",
|
||||
"console-control-strings": "^1.0.0",
|
||||
"has-unicode": "^2.0.0",
|
||||
"object-assign": "^4.1.0",
|
||||
"signal-exit": "^3.0.0",
|
||||
"string-width": "^1.0.1",
|
||||
"strip-ansi": "^3.0.1",
|
||||
"wide-align": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
@ -4422,12 +4471,12 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"fs.realpath": "1.0.0",
|
||||
"inflight": "1.0.6",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4",
|
||||
"once": "1.4.0",
|
||||
"path-is-absolute": "1.0.1"
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"has-unicode": {
|
||||
@ -4442,7 +4491,7 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safer-buffer": "2.1.2"
|
||||
"safer-buffer": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"ignore-walk": {
|
||||
@ -4451,7 +4500,7 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimatch": "3.0.4"
|
||||
"minimatch": "^3.0.4"
|
||||
}
|
||||
},
|
||||
"inflight": {
|
||||
@ -4460,15 +4509,14 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"once": "1.4.0",
|
||||
"wrappy": "1.0.2"
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
@ -4480,9 +4528,8 @@
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "1.0.1"
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"isarray": {
|
||||
@ -4495,25 +4542,22 @@
|
||||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "1.1.11"
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.2.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "5.1.1",
|
||||
"yallist": "3.0.2"
|
||||
"safe-buffer": "^5.1.1",
|
||||
"yallist": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"minizlib": {
|
||||
@ -4522,14 +4566,13 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minipass": "2.2.4"
|
||||
"minipass": "^2.2.1"
|
||||
}
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
@ -4546,9 +4589,9 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"debug": "2.6.9",
|
||||
"iconv-lite": "0.4.21",
|
||||
"sax": "1.2.4"
|
||||
"debug": "^2.1.2",
|
||||
"iconv-lite": "^0.4.4",
|
||||
"sax": "^1.2.4"
|
||||
}
|
||||
},
|
||||
"node-pre-gyp": {
|
||||
@ -4557,16 +4600,16 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"detect-libc": "1.0.3",
|
||||
"mkdirp": "0.5.1",
|
||||
"needle": "2.2.0",
|
||||
"nopt": "4.0.1",
|
||||
"npm-packlist": "1.1.10",
|
||||
"npmlog": "4.1.2",
|
||||
"rc": "1.2.7",
|
||||
"rimraf": "2.6.2",
|
||||
"semver": "5.5.0",
|
||||
"tar": "4.4.1"
|
||||
"detect-libc": "^1.0.2",
|
||||
"mkdirp": "^0.5.1",
|
||||
"needle": "^2.2.0",
|
||||
"nopt": "^4.0.1",
|
||||
"npm-packlist": "^1.1.6",
|
||||
"npmlog": "^4.0.2",
|
||||
"rc": "^1.1.7",
|
||||
"rimraf": "^2.6.1",
|
||||
"semver": "^5.3.0",
|
||||
"tar": "^4"
|
||||
}
|
||||
},
|
||||
"nopt": {
|
||||
@ -4575,8 +4618,8 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"abbrev": "1.1.1",
|
||||
"osenv": "0.1.5"
|
||||
"abbrev": "1",
|
||||
"osenv": "^0.1.4"
|
||||
}
|
||||
},
|
||||
"npm-bundled": {
|
||||
@ -4591,8 +4634,8 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ignore-walk": "3.0.1",
|
||||
"npm-bundled": "1.0.3"
|
||||
"ignore-walk": "^3.0.1",
|
||||
"npm-bundled": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"npmlog": {
|
||||
@ -4601,17 +4644,16 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"are-we-there-yet": "1.1.4",
|
||||
"console-control-strings": "1.1.0",
|
||||
"gauge": "2.7.4",
|
||||
"set-blocking": "2.0.0"
|
||||
"are-we-there-yet": "~1.1.2",
|
||||
"console-control-strings": "~1.1.0",
|
||||
"gauge": "~2.7.3",
|
||||
"set-blocking": "~2.0.0"
|
||||
}
|
||||
},
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
@ -4623,9 +4665,8 @@
|
||||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"wrappy": "1.0.2"
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"os-homedir": {
|
||||
@ -4646,8 +4687,8 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"os-homedir": "1.0.2",
|
||||
"os-tmpdir": "1.0.2"
|
||||
"os-homedir": "^1.0.0",
|
||||
"os-tmpdir": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
@ -4668,10 +4709,10 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"deep-extend": "0.5.1",
|
||||
"ini": "1.3.5",
|
||||
"minimist": "1.2.0",
|
||||
"strip-json-comments": "2.0.1"
|
||||
"deep-extend": "^0.5.1",
|
||||
"ini": "~1.3.0",
|
||||
"minimist": "^1.2.0",
|
||||
"strip-json-comments": "~2.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
@ -4688,13 +4729,13 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"core-util-is": "1.0.2",
|
||||
"inherits": "2.0.3",
|
||||
"isarray": "1.0.0",
|
||||
"process-nextick-args": "2.0.0",
|
||||
"safe-buffer": "5.1.1",
|
||||
"string_decoder": "1.1.1",
|
||||
"util-deprecate": "1.0.2"
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.3",
|
||||
"isarray": "~1.0.0",
|
||||
"process-nextick-args": "~2.0.0",
|
||||
"safe-buffer": "~5.1.1",
|
||||
"string_decoder": "~1.1.1",
|
||||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"rimraf": {
|
||||
@ -4703,14 +4744,13 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"glob": "7.1.2"
|
||||
"glob": "^7.0.5"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
@ -4746,11 +4786,10 @@
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"code-point-at": "1.1.0",
|
||||
"is-fullwidth-code-point": "1.0.0",
|
||||
"strip-ansi": "3.0.1"
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
"strip-ansi": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
@ -4759,16 +4798,15 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "5.1.1"
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-regex": "2.1.1"
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"strip-json-comments": {
|
||||
@ -4783,13 +4821,13 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"chownr": "1.0.1",
|
||||
"fs-minipass": "1.2.5",
|
||||
"minipass": "2.2.4",
|
||||
"minizlib": "1.1.0",
|
||||
"mkdirp": "0.5.1",
|
||||
"safe-buffer": "5.1.1",
|
||||
"yallist": "3.0.2"
|
||||
"chownr": "^1.0.1",
|
||||
"fs-minipass": "^1.2.5",
|
||||
"minipass": "^2.2.4",
|
||||
"minizlib": "^1.1.0",
|
||||
"mkdirp": "^0.5.0",
|
||||
"safe-buffer": "^5.1.1",
|
||||
"yallist": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"util-deprecate": {
|
||||
@ -4804,20 +4842,18 @@
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"string-width": "1.0.2"
|
||||
"string-width": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -8142,6 +8178,11 @@
|
||||
"utila": "~0.4"
|
||||
}
|
||||
},
|
||||
"printj": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz",
|
||||
"integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ=="
|
||||
},
|
||||
"process": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||
@ -9629,6 +9670,14 @@
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
|
||||
"dev": true
|
||||
},
|
||||
"ssf": {
|
||||
"version": "0.10.2",
|
||||
"resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.2.tgz",
|
||||
"integrity": "sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ==",
|
||||
"requires": {
|
||||
"frac": "~1.1.2"
|
||||
}
|
||||
},
|
||||
"sshpk": {
|
||||
"version": "1.14.2",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
|
||||
@ -11089,6 +11138,27 @@
|
||||
"integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",
|
||||
"dev": true
|
||||
},
|
||||
"xlsx": {
|
||||
"version": "0.14.2",
|
||||
"resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.14.2.tgz",
|
||||
"integrity": "sha512-6+4TkmU34s1p/qsl8omWSEOa7pOtWlw4SuRJH/FGRk3iF/gcvSWGgCI1L28NaSDx2tI82aeq2SPY+xeFQJD27A==",
|
||||
"requires": {
|
||||
"adler-32": "~1.2.0",
|
||||
"cfb": "^1.1.0",
|
||||
"codepage": "~1.14.0",
|
||||
"commander": "~2.17.1",
|
||||
"crc-32": "~1.2.0",
|
||||
"exit-on-epipe": "~1.0.1",
|
||||
"ssf": "~0.10.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "2.17.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
|
||||
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"xml2js": {
|
||||
"version": "0.4.19",
|
||||
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
|
||||
|
||||
@ -73,6 +73,7 @@
|
||||
"sweetalert2": "^7.28.4",
|
||||
"tether": "^1.4.0",
|
||||
"viewerjs": "^1.3.1",
|
||||
"xlsx": "^0.14.2",
|
||||
"zone.js": "^0.8.26"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -32,7 +32,7 @@ import {MatProgressBarModule} from '@angular/material/progress-bar';
|
||||
import {MatSelectModule} from '@angular/material/select';
|
||||
import {MatCardModule} from '@angular/material/card';
|
||||
import {ChangePasswordDialog} from './settings/users/user-profile/user-profile.component';
|
||||
|
||||
import { MatFormFieldModule } from '@angular/material';
|
||||
import { AppRoutes } from './app.routing';
|
||||
import { AppComponent } from './app.component';
|
||||
import { AdminLayoutComponent } from './layouts/admin/admin-layout.component';
|
||||
@ -81,6 +81,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
|
||||
MatSelectModule,
|
||||
MatCardModule,
|
||||
DemoMaterialModule,
|
||||
MatFormFieldModule,
|
||||
HttpClientModule,
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
|
||||
@ -30,6 +30,10 @@ export const AppRoutes: Routes = [{
|
||||
path:'quality_check_discussion',
|
||||
loadChildren:'./quality-check/quality-check.module#QualityCheckModule'
|
||||
},
|
||||
{
|
||||
path:'reports',
|
||||
loadChildren:'./reports/reports.module#ReportsModule'
|
||||
},
|
||||
]
|
||||
}, {
|
||||
path: '',
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
<div class="user-pro-wrap">
|
||||
<div class="user-profile-thumb text-center">
|
||||
<div class="user-i">
|
||||
<img [src]="profileurl ||'https://image.ibb.co/mGjZB9/usernew.png'" class="rad-full mb-1" width="100" height="100" alt="">
|
||||
<img [src]="profileurl ||'http://image.ibb.co/mGjZB9/usernew.png'" class="rad-full mb-1" width="100" height="100" alt="">
|
||||
<div> <span>{{fullName}}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
@ -123,7 +123,24 @@
|
||||
<mat-icon>{{ menuitem.icon }}</mat-icon>
|
||||
<!--<span>{{ menuitem.name | translate }}</span>-->
|
||||
</button>
|
||||
</span>
|
||||
</span>
|
||||
<!-- <span *ngFor="let menuitem of horizontalMenuItems.getAll()">
|
||||
<span *ngIf="menuitem.type === 'multi'">
|
||||
<button [mat-menu-trigger-for]="multi" matTooltip="{{ menuitem.name}}" matTooltipPosition="below" mat-icon-button class="ml-xs" *ngIf="userRoleType=='10'">
|
||||
<mat-icon>{{ menuitem.icon }}</mat-icon>
|
||||
</button>
|
||||
<mat-menu #multi="matMenu" class="opt-menu" x-position="before">
|
||||
<div mat-menu-item class="head-menu grad-blue">
|
||||
{{ menuitem.name}}
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
<div *ngFor="let childitem of menuitem.children">
|
||||
<button mat-menu-item [routerLink]="['/'+childitem.state ]">{{ childitem.name | translate }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</mat-menu>
|
||||
</span>
|
||||
</span> -->
|
||||
<button [mat-menu-trigger-for]="multi" matTooltip="Settings" matTooltipPosition="below" mat-icon-button class="ml-xs" *ngIf="userRoleType=='10'">
|
||||
<mat-icon>settings</mat-icon>
|
||||
</button>
|
||||
|
||||
@ -6,34 +6,37 @@ import { Pipe, PipeTransform } from '@angular/core';
|
||||
export class RoleMenuItemsPipe implements PipeTransform {
|
||||
|
||||
transform(value: any, type: any): any {
|
||||
//this is for horizontal menu filter
|
||||
// if(type=="1"){
|
||||
// if(localStorage.getItem('user_role')=="10"){
|
||||
// return value
|
||||
// }
|
||||
// else if(localStorage.getItem('user_role')=="6" || localStorage.getItem('user_role')=="7"){
|
||||
// return value.filter(val=>val.state!="setting" && val.state!="personal_discussion")
|
||||
// }
|
||||
// else{
|
||||
// return value.filter(val=>val.state!="setting" && val.state!="quality_check_discussion")
|
||||
// }
|
||||
// }
|
||||
//this is for vertical menu filter
|
||||
// else if(type=="2"){
|
||||
// if(localStorage.getItem('user_role')=="10"){
|
||||
// return value
|
||||
// }
|
||||
// else if(localStorage.getItem('user_role')=="6" || localStorage.getItem('user_role')=="7"){
|
||||
// return value.filter(val=>val.state!='' && val.state!="personal_discussion")
|
||||
// }
|
||||
// else{
|
||||
// return value.filter(val=>val.state!='' && val.state!="quality_check_discussion")
|
||||
// }
|
||||
// }
|
||||
// else{
|
||||
// return [];
|
||||
// }
|
||||
return value;
|
||||
// this is for horizontal menu filter
|
||||
if(type=="1"){
|
||||
switch(localStorage.getItem('user_role')){
|
||||
case '4': case '5': return value.filter(val=>val.state!="setting" && val.state!="quality_check_discussion" && val.state!="reports");
|
||||
case '6': case '7': return value.filter(val=>val.state!="setting" && val.state!="personal_discussion" && val.state!="reports");
|
||||
case '10': return value;
|
||||
default: return value.filter(val=>val.state!="setting" && val.state!="quality_check_discussion");
|
||||
}
|
||||
}
|
||||
// this is for vertical menu filter
|
||||
else if(type=="2"){
|
||||
switch(localStorage.getItem('user_role')){
|
||||
case '4': case '5': return value.filter(val=>val.state!="setting" && val.state!="quality_check_discussion" && val.state!="reports");
|
||||
case '6': case '7': return value.filter(val=>val.state!="setting" && val.state!="personal_discussion" && val.state!="reports");
|
||||
case '10': return value;
|
||||
default: return value.filter(val=>val.state!="setting" && val.state!="quality_check_discussion");
|
||||
}
|
||||
}
|
||||
else{
|
||||
return [];
|
||||
}
|
||||
// if(localStorage.getItem('user_role')=="10"){
|
||||
// return value
|
||||
// }
|
||||
// else if(localStorage.getItem('user_role')=="6" || localStorage.getItem('user_role')=="7"){
|
||||
// return value.filter(val=>val.state!='' && val.state!="personal_discussion" && val.state!="reports")
|
||||
// }
|
||||
// else{
|
||||
// return value.filter(val=>val.state!='' && val.state!="quality_check_discussion")
|
||||
// }
|
||||
// return value;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -8,12 +8,12 @@
|
||||
</div>
|
||||
<div fxFlex="50" class="pb-0 text-sm-right">
|
||||
<button mat-fab (click)="viewMapPdDetails()" class="mr-1 mb-1 hover-icon" matTooltip="Map view" matTooltipPosition="above"><mat-icon>map</mat-icon></button>
|
||||
<button mat-fab (click)="addPdDetails()" class="mr-1 mb-1 hover-icon" matTooltip="Add PD" matTooltipPosition="above" *ngIf="roleAccessDetails.trigger"><mat-icon>add</mat-icon></button>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button mat-fab (click)="addPdDetails()" class="mr-1 mb-1 hover-icon" matTooltip="Add PD" matTooltipPosition="above" *ngIf="roleAccessDetails.trigger"><mat-icon>add</mat-icon></button></span>
|
||||
</div>
|
||||
</div>
|
||||
<mat-card>
|
||||
<mat-tab-group (selectedTabChange)="onTabClick($event)">
|
||||
<mat-tab >
|
||||
<mat-tab>
|
||||
<ng-template mat-tab-label><mat-icon>select_all</mat-icon> All</ng-template>
|
||||
<app-all-pd [bindFilterValue]="filterValue" (loadPdView)="viewPDDetails($event)"></app-all-pd>
|
||||
</mat-tab>
|
||||
|
||||
@ -38,7 +38,7 @@ export class ListPdComponent implements OnInit, OnDestroy {
|
||||
|
||||
// roles checks for enables events
|
||||
roleAccessDetails:any
|
||||
|
||||
public userRoleID = localStorage.getItem('user_role') ;
|
||||
constructor( notifier: NotifierService, private route: ActivatedRoute,
|
||||
private router: Router, private _pd: PdTrigerService) {
|
||||
this.notifier = notifier;
|
||||
|
||||
@ -306,6 +306,7 @@
|
||||
<input matInput placeholder="Approximate Market Value" formControlName="approximate_market_value"
|
||||
OnlyNumber type="text" autocomplete="off">
|
||||
<mat-hint align="start" style="font-size:90%" *ngIf="sup.get('approximate_market_value').value != ''">{{"₹"}} {{sup.get('approximate_market_value').value | numberToWords}} Only</mat-hint>
|
||||
<mat-error *ngIf="sup.controls['approximate_market_value'].hasError('required')">Approximate Market Value Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="sup.get('assets_mode').value != ''" style="width:45%">
|
||||
@ -352,8 +353,8 @@
|
||||
<mat-form-field style="width:45%">
|
||||
|
||||
<mat-label>Age of Asset in Years</mat-label>
|
||||
<input matInput autocomplete="off" placeholder="eg.999" formControlName="vintage_personal"
|
||||
minlength="1" maxlength="3" OnlyNumber type="text" (keyup)="calculateVintagePurchase($event.target.value,i,3)">
|
||||
<input matInput autocomplete="off" placeholder="eg.99" formControlName="vintage_personal"
|
||||
minlength="1" maxlength="2" OnlyNumber type="text" (keyup)="calculateVintagePurchase($event.target.value,i,3)">
|
||||
<!-- <mat-error> Invalid format</mat-error> -->
|
||||
|
||||
</mat-form-field>
|
||||
|
||||
@ -943,7 +943,7 @@ export class AssetsInfoComponent implements OnInit {
|
||||
|
||||
|
||||
let Avaliablity = 1;
|
||||
|
||||
if (value !== null) {
|
||||
if (value.length > 0) {
|
||||
|
||||
value.forEach(option => {
|
||||
@ -952,13 +952,13 @@ export class AssetsInfoComponent implements OnInit {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (Avaliablity == 0) {
|
||||
|
||||
ChdCtrls.controls.other_owner.setValidators([Validators.required]);
|
||||
this.isOtherOwner[ParInx] = true;
|
||||
console.log(ChdCtrls.controls.other_owner);
|
||||
// console.log(ChdCtrls.controls.other_owner);
|
||||
|
||||
|
||||
} else if (Avaliablity == 1) {
|
||||
|
||||
@ -90,8 +90,7 @@
|
||||
<mat-option value="owned">Owned</mat-option>
|
||||
<mat-option value="rented">Rented</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="itemrow.controls['business_address_availability'].hasError('required')">Ownership Type
|
||||
Required</mat-error>
|
||||
<mat-error *ngIf="itemrow.controls['business_ownership_type'].hasError('required')">Ownership Type Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field style="width:45%" *ngIf="(itemrow.get('business_ownership_type').value == 'rented')">
|
||||
@ -107,6 +106,7 @@
|
||||
<input matInput placeholder="Approximate Market Value" formControlName="business_approximate_market_value"
|
||||
OnlyNumber type="text" autocomplete="off">
|
||||
<mat-hint align="start" style="font-size:90%" *ngIf="itemrow.get('business_approximate_market_value').value != ''">{{"₹"}} {{itemrow.get('business_approximate_market_value').value | numberToWords}} Only</mat-hint>
|
||||
<mat-error *ngIf="itemrow.controls['business_approximate_market_value'].hasError('required')">Approximate Market Value Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field style="width:45%">
|
||||
@ -129,8 +129,8 @@
|
||||
|
||||
<mat-form-field style="width:45%">
|
||||
<mat-label>Approx Vintage</mat-label>
|
||||
<input matInput autocomplete="off" placeholder="eg.999" formControlName="business_vintage"
|
||||
minlength="1" maxlength="3" OnlyNumber type="text" (keyup)="calculateVintagePurchase($event.target.value,i,3)">
|
||||
<input matInput autocomplete="off" placeholder="eg.99" formControlName="business_vintage"
|
||||
minlength="1" maxlength="2" OnlyNumber type="text" (keyup)="calculateVintagePurchase($event.target.value,i,3)">
|
||||
<!-- <mat-error> Invalid format</mat-error> -->
|
||||
</mat-form-field>
|
||||
|
||||
@ -178,7 +178,7 @@
|
||||
<div [formGroupName]="i">
|
||||
<div fxLayout="row wrap" fxLayoutGap="5px" fxLayoutAlign="start none">
|
||||
<mat-form-field style="width:100%">
|
||||
<mat-select (selectionChange)="selectedAssetsType($event,i)" placeholder="Asset Type"
|
||||
<mat-select (selectionChange)="selectedAssetsType($event,i);setRequiredValidation($event.value,sup,2);" placeholder="Asset Type"
|
||||
formControlName="business_assets_mode" requried>
|
||||
<mat-option>Select</mat-option>
|
||||
<mat-option *ngFor="let asset of m_assets_type" [value]="asset.id" [disabled]="asset.flag!=1">{{
|
||||
@ -279,7 +279,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--Desction Dynamic details : END -->
|
||||
|
||||
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
|
||||
@ -291,6 +290,7 @@
|
||||
<mat-option value="owned">Owned</mat-option>
|
||||
<mat-option value="rented">Rented</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="sup.controls['business_ownership_type'].hasError('required')">Ownership Type Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
|
||||
@ -306,7 +306,8 @@
|
||||
<mat-form-field style="width:45%">
|
||||
<input matInput placeholder="Approximate Market Value" formControlName="business_approximate_market_value"
|
||||
OnlyNumber type="text" autocomplete="off">
|
||||
<mat-hint align="start" style="font-size:90%" *ngIf="sup.get('business_approximate_market_value').value != ''">{{"₹"}} {{sup.get('business_approximate_market_value').value | numberToWords}} Only</mat-hint>
|
||||
<mat-hint align="start" style="font-size:90%" *ngIf="sup.get('business_approximate_market_value').value != ''">{{"₹"}} {{sup.get('business_approximate_market_value').value | numberToWords}} Only</mat-hint>
|
||||
<mat-error *ngIf="sup.controls['business_approximate_market_value'].hasError('required')">Approximate Market Value Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field style="width:45%">
|
||||
@ -329,8 +330,8 @@
|
||||
|
||||
<mat-form-field style="width:45%">
|
||||
<mat-label>Approx Vintage</mat-label>
|
||||
<input matInput autocomplete="off" placeholder="eg.999" formControlName="business_vintage"
|
||||
minlength="1" maxlength="3" OnlyNumber type="text" (keyup)="calculateVintagePurchase($event.target.value,i,1)">
|
||||
<input matInput autocomplete="off" placeholder="eg.99" formControlName="business_vintage"
|
||||
minlength="1" maxlength="2" OnlyNumber type="text" (keyup)="calculateVintagePurchase($event.target.value,i,1)">
|
||||
<!-- <mat-error> Invalid format</mat-error> -->
|
||||
</mat-form-field>
|
||||
|
||||
|
||||
@ -598,14 +598,14 @@ export class BusinessAssetsInfoComponent implements OnInit {
|
||||
result.forEach((datas, index) => {
|
||||
|
||||
let Avaliablity = 1;
|
||||
|
||||
if (datas.business_name_of_the_owner !== null) {
|
||||
if (datas.business_name_of_the_owner.length > 0) {
|
||||
datas.business_name_of_the_owner.forEach(option => {
|
||||
if (option.id == 0 && option.group_id == 2) {
|
||||
Avaliablity = option.id;
|
||||
}
|
||||
});
|
||||
}
|
||||
}}
|
||||
this.isOtherOwnerForAddress[index] = Avaliablity == 0 ? true : false;
|
||||
|
||||
});
|
||||
@ -652,14 +652,14 @@ export class BusinessAssetsInfoComponent implements OnInit {
|
||||
result.forEach((datas, index) => {
|
||||
|
||||
let Avaliablity = 1;
|
||||
|
||||
if(datas.business_name_of_the_owner !== null){
|
||||
if (datas.business_name_of_the_owner.length > 0) {
|
||||
datas.business_name_of_the_owner.forEach(option => {
|
||||
if (option.id == 0 && option.group_id == 2) {
|
||||
Avaliablity = option.id;
|
||||
}
|
||||
});
|
||||
}
|
||||
}}
|
||||
this.isOtherOwner[index] = Avaliablity == 0 ? true : false;
|
||||
|
||||
});
|
||||
@ -889,7 +889,7 @@ export class BusinessAssetsInfoComponent implements OnInit {
|
||||
let ChdCtrls: any = <FormArray>ParCtrls.controls[ParInx];
|
||||
|
||||
let Avaliablity = 1;
|
||||
|
||||
if (value !== null ) {
|
||||
if (value.length > 0) {
|
||||
|
||||
value.forEach(option => {
|
||||
@ -898,7 +898,7 @@ export class BusinessAssetsInfoComponent implements OnInit {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (Avaliablity == 0) {
|
||||
|
||||
@ -928,6 +928,7 @@ export class BusinessAssetsInfoComponent implements OnInit {
|
||||
|
||||
let Avaliablity = 1;
|
||||
|
||||
if (value !== null ) {
|
||||
if (value.length > 0) {
|
||||
|
||||
value.forEach(option => {
|
||||
@ -937,7 +938,7 @@ export class BusinessAssetsInfoComponent implements OnInit {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
if (Avaliablity == 0) {
|
||||
|
||||
ChdCtrls.controls.business_name_of_the_other_owner.setValidators([Validators.required]);
|
||||
@ -963,32 +964,47 @@ export class BusinessAssetsInfoComponent implements OnInit {
|
||||
item.controls.business_address_availability.setValidators([Validators.required]);
|
||||
item.controls.business_is_pd_visited.setValidators([Validators.required]);
|
||||
item.controls.business_pd_visited_remark.setValidators([Validators.required]);
|
||||
|
||||
item.controls.business_ownership_type.setValidators([Validators.required]);
|
||||
}
|
||||
else {
|
||||
|
||||
item.controls.business_years.clearValidators();
|
||||
item.controls.business_address_availability.clearValidators();
|
||||
item.controls.business_is_pd_visited.clearValidators();
|
||||
item.controls.business_pd_visited_remark.clearValidators();
|
||||
item.controls.business_ownership_type.clearValidators();
|
||||
|
||||
}
|
||||
item.controls.business_years.updateValueAndValidity();
|
||||
item.controls.business_address_availability.updateValueAndValidity();
|
||||
item.controls.business_is_pd_visited.updateValueAndValidity();
|
||||
item.controls.business_pd_visited_remark.updateValueAndValidity();
|
||||
item.controls.business_ownership_type.updateValueAndValidity();
|
||||
|
||||
}
|
||||
if(flag == 2){
|
||||
if(value != ''){
|
||||
item.controls.business_ownership_type.setValidators([Validators.required]);}
|
||||
else{
|
||||
item.controls.business_ownership_type.setValue('');
|
||||
item.controls.business_ownership_type.clearValidators();}
|
||||
item.controls.business_ownership_type.updateValueAndValidity();
|
||||
}
|
||||
if (flag == 3) {
|
||||
if (value == 'owned') {
|
||||
item.controls.business_monthly_rented_amt.setValue('');
|
||||
item.controls.business_monthly_rented_amt.clearValidators();
|
||||
item.controls.business_name_of_the_owner.setValidators([Validators.required]);
|
||||
item.controls.business_approximate_market_value.setValidators([Validators.required]);
|
||||
}
|
||||
else {
|
||||
item.controls.business_monthly_rented_amt.setValidators([Validators.required]);
|
||||
item.controls.business_name_of_the_owner.clearValidators();
|
||||
item.controls.business_approximate_market_value.clearValidators();
|
||||
}
|
||||
item.controls.business_monthly_rented_amt.updateValueAndValidity();
|
||||
item.controls.business_name_of_the_owner.updateValueAndValidity();
|
||||
item.controls.business_approximate_market_value.updateValueAndValidity();
|
||||
}
|
||||
|
||||
if (flag == 5) {
|
||||
@ -1010,15 +1026,19 @@ export class BusinessAssetsInfoComponent implements OnInit {
|
||||
}
|
||||
if (flag == 7) {
|
||||
if (value == 'owned') {
|
||||
item.controls.business_monthly_rented_amt.setValue('');
|
||||
item.controls.business_monthly_rented_amt.clearValidators();
|
||||
item.controls.business_name_of_the_owner.setValidators([Validators.required]);
|
||||
item.controls.business_approximate_market_value.setValidators([Validators.required]);
|
||||
}
|
||||
else {
|
||||
item.controls.business_monthly_rented_amt.setValidators([Validators.required]);
|
||||
item.controls.business_name_of_the_owner.clearValidators();
|
||||
item.controls.business_approximate_market_value.clearValidators();
|
||||
}
|
||||
item.controls.business_monthly_rented_amt.updateValueAndValidity();
|
||||
item.controls.business_name_of_the_owner.updateValueAndValidity();
|
||||
item.controls.business_approximate_market_value.updateValueAndValidity();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -291,7 +291,7 @@
|
||||
{{SL.state_name}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="manufacturing.controls['pan_india_options'].hasError('required')">Is PAN India Required</mat-error>
|
||||
<mat-error *ngIf="saleList.controls['state_name'].hasError('required')">State Required</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width:45%;">
|
||||
<mat-select multiple formControlName="city_name"
|
||||
@ -299,7 +299,7 @@
|
||||
<mat-option *ngFor="let CL of filterCity(stateList,saleList.value.state_name)"
|
||||
[value]="CL.city_id">{{CL.city_name}}</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="manufacturing.controls['city_name'].hasError('required')">City Required</mat-error>
|
||||
<mat-error *ngIf="saleList.controls['city_name'].hasError('required')">City Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
|
||||
@ -370,7 +370,7 @@
|
||||
<mat-form-field style="width:70%;">
|
||||
<input matInput [placeholder]="countryList.get('country_name').value == '' ? 'Out of Total Export Sales what % of Sales is done in' : getPlaceHolderName(countryList.get('country_name').value)"
|
||||
formControlName="approx_sale" required>
|
||||
<mat-error *ngIf="countryList.controls['approx_sale'].hasError('required')">Approx % of Sale Required</mat-error>
|
||||
<mat-error *ngIf="countryList.controls['approx_sale'].hasError('required')">Approx % Required</mat-error>
|
||||
<!-- <input matInput [placeholder]="countryList.get('country_name').value == '' ? 'Approx % of Sale' : getPlaceHolderName(countryList.get('country_name').value)" formControlName="approx_sale" required> -->
|
||||
<!-- <input matInput [placeholder]=" 'Out of Total Export Sales what % of Sales is done in ' getPlaceHolderName(countryList.get('country_name').value)" formControlName="approx_sale" required> -->
|
||||
</mat-form-field>
|
||||
@ -951,7 +951,7 @@
|
||||
<!-- <input matInput placeholder="Approx % of Sale" formControlName="approx_sale" required> -->
|
||||
<input matInput [placeholder]="countryList.get('country_name').value == '' ? 'Out of Total Export Sales what % of Sales is done in' : getPlaceHolderName(countryList.get('country_name').value)"
|
||||
formControlName="approx_sale" required>
|
||||
<mat-error *ngIf="countryList.controls['approx_sale'].hasError('required')">Approx % of Sale Required</mat-error>
|
||||
<mat-error *ngIf="countryList.controls['approx_sale'].hasError('required')">Approx % Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<button type="button" class="mr-1 mb-1 hover-icon"
|
||||
@ -1071,7 +1071,7 @@
|
||||
<!-- <input matInput placeholder="Approx % of Sale" c -->
|
||||
<input matInput [placeholder]="countryList.get('country_name').value == '' ? 'Out of Total Export Sales what % of Sales is done in' : getPlaceHolderName(countryList.get('country_name').value)"
|
||||
formControlName="approx_sale" required>
|
||||
<mat-error *ngIf="countryList.controls['approx_sale'].hasError('required')">Approx % of Sale Required</mat-error>
|
||||
<mat-error *ngIf="countryList.controls['approx_sale'].hasError('required')">Approx % Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
|
||||
@ -1239,7 +1239,7 @@
|
||||
<mat-form-field style="width:35%;">
|
||||
<input matInput placeholder="Approx % of Revenue From Service"
|
||||
formControlName="approx_sale" required>
|
||||
<mat-error *ngIf="countryList.controls['approx_sale'].hasError('required')">Approx % of Sales Required</mat-error>
|
||||
<mat-error *ngIf="countryList.controls['approx_sale'].hasError('required')">Approx % Required</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<button type="button" class="mr-1 mb-1 hover-icon"
|
||||
|
||||
@ -40,8 +40,7 @@
|
||||
<input matInput placeholder="Raw Material Name" formControlName="manufacturing_raw_material_name">
|
||||
</mat-form-field>-->
|
||||
<mat-form-field style="width: 45%">
|
||||
<input matInput placeholder="Client Name" formControlName="manufacturing_client_name" required>
|
||||
<mat-error *ngIf="items.controls['manufacturing_client_name'].hasError('required')">Client Name Required</mat-error>
|
||||
<input matInput placeholder="Client Name" formControlName="manufacturing_client_name">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxLayout="row nowrap">
|
||||
@ -174,8 +173,7 @@
|
||||
<input matInput placeholder="Trade Product Name" formControlName="trade_product_name">
|
||||
</mat-form-field>-->
|
||||
<mat-form-field style="width: 45%">
|
||||
<input matInput placeholder="Client Name" formControlName="trade_client_name" required>
|
||||
<mat-error *ngIf="items.controls['trade_client_name'].hasError('required')">Client Name Required</mat-error>
|
||||
<input matInput placeholder="Client Name" formControlName="trade_client_name">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxLayout="row nowrap" fxLayoutGap="2px" fxLayoutAlign="start none">
|
||||
@ -308,8 +306,7 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width: 45%">
|
||||
<input matInput placeholder="Client Name" formControlName="service_provider_client_name" required>
|
||||
<mat-error *ngIf="items.controls['service_provider_client_name'].hasError('required')">Client Name Required</mat-error>
|
||||
<input matInput placeholder="Client Name" formControlName="service_provider_client_name">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxLayout="row wrap" fxLayoutGap="2px" fxLayoutAlign="start none">
|
||||
|
||||
@ -170,7 +170,7 @@ export class CurrentLoanComponent implements OnInit {
|
||||
} else {
|
||||
|
||||
this._pd.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data => {
|
||||
console.log(data);
|
||||
|
||||
if (data.dataStatus == true) {
|
||||
|
||||
let AssetData = data.record;
|
||||
@ -200,7 +200,7 @@ console.log(data);
|
||||
})
|
||||
});
|
||||
}
|
||||
console.log('AssetData.other_assests.length',AssetData.other_assests.length,AssetData.other_assests);
|
||||
|
||||
if (AssetData.other_assests.length > 0) {
|
||||
AssetData.other_assests.map(element => {
|
||||
this.dataFromAssets.push({
|
||||
@ -213,7 +213,7 @@ console.log('AssetData.other_assests.length',AssetData.other_assests.length,Asse
|
||||
})
|
||||
});
|
||||
}
|
||||
console.log('this.dataFromAssets',this.dataFromAssets);
|
||||
|
||||
// id: "4", name: "Equipments and machinaries", isactive: "1", flag: "1", is_others: "0"
|
||||
// id: "7", name: "Investments", isactive: "1", flag: "0", is_others: "0"
|
||||
// id: "6", name: "Life Insurance Policy", isactive: "1", flag: "0", is_others: "0"
|
||||
@ -604,7 +604,7 @@ console.log('this.dataFromAssets',this.dataFromAssets);
|
||||
}
|
||||
|
||||
setRequiredValidation(value, item, flag) {
|
||||
console.log('value, item, flag',value, item, flag);
|
||||
|
||||
if (flag == 1) {
|
||||
if(value == 1){
|
||||
item.controls.others_loan_type.setValidators([Validators.required]);}
|
||||
|
||||
@ -536,7 +536,7 @@ export class EmploymentInfoComponent implements OnInit {
|
||||
// }
|
||||
|
||||
validateAllFormFields(formGroup: any) {
|
||||
console.log('validateAllFormFields');
|
||||
// console.log('validateAllFormFields');
|
||||
Object.keys(formGroup.controls).forEach(field => {
|
||||
const control = formGroup.get(field);
|
||||
if (control instanceof FormControl) {
|
||||
|
||||
@ -248,7 +248,7 @@ export class FinalRemarksComponent implements OnInit {
|
||||
|
||||
/** To Save/Edited Popup Data */
|
||||
onSubmit() {
|
||||
console.log('this._finalRemarkForm.value',this._finalRemarkForm.value);
|
||||
// console.log('this._finalRemarkForm.value',this._finalRemarkForm.value);
|
||||
this.submitted = true;
|
||||
if (this._finalRemarkForm.controls.final_custormer_remark_type.value == 1) {
|
||||
this._finalRemarkForm.controls['final_other_customer_behaviour'].setValidators([Validators.required]);
|
||||
|
||||
@ -115,7 +115,7 @@ export class GeneralInfoComponent implements OnInit {
|
||||
});
|
||||
|
||||
this._pd.retriveFile(this.pdid,'18',null).subscribe(data => {
|
||||
console.log(data);
|
||||
|
||||
if (data.status == 200) {
|
||||
if(data.records.length>0){
|
||||
data.records.forEach((val, index) => {
|
||||
@ -133,7 +133,6 @@ export class GeneralInfoComponent implements OnInit {
|
||||
else{
|
||||
this.documentsAndFilesList = [];
|
||||
}
|
||||
console.log('this.documentsAndFilesList',this.documentsAndFilesList);
|
||||
});
|
||||
}
|
||||
/***************************** ng Oninit Section Ends Here **********************************/
|
||||
@ -436,7 +435,6 @@ export class GeneralInfoComponent implements OnInit {
|
||||
addMoreCompanies() {
|
||||
let control: any = this._generalForm.get('companies') as FormArray;
|
||||
let setValues: any = { company_order_id: control.controls.length + 1, company_name: '', is_company_applicant: false, business_entity_type: '', business_entity_type_other: '', business_years: '', business_month: '',business_date_object: '', is_active: true, is_new: true, associate_pd_id:this.pdid}
|
||||
console.log('setValues',setValues);
|
||||
control.push(this.createCompanies(setValues))
|
||||
}
|
||||
|
||||
@ -626,7 +624,7 @@ export class GeneralInfoComponent implements OnInit {
|
||||
temp: number = 0;
|
||||
submitGeneralForm(formData: any) {
|
||||
|
||||
console.log('formData',formData);
|
||||
// console.log('formData',formData);
|
||||
if (formData.individuals.length > 0) {
|
||||
formData.individuals.forEach((val, index) => {
|
||||
|
||||
|
||||
@ -85,7 +85,7 @@ export class LoanDetailsComponent implements OnInit {
|
||||
private _pd: PdTrigerService,
|
||||
private dialogRef: MatDialogRef<LoanDetailsComponent>,
|
||||
@Inject(MAT_DIALOG_DATA) public pd_all_details: any) {
|
||||
// console.log('this.pd_all_details.pdapplicants_detials',this.pd_all_details.pdapplicants_detials);
|
||||
|
||||
this.applicants = this.pd_all_details.pdapplicants_detials;
|
||||
// this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});
|
||||
this.applicants = this.applicants.filter(appt => appt.applicant_type != 2)
|
||||
@ -515,7 +515,7 @@ export class LoanDetailsComponent implements OnInit {
|
||||
|
||||
/** Source Changes with Validation */
|
||||
sourceChange(evt) {
|
||||
// console.log('sourceChange');
|
||||
|
||||
this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;
|
||||
|
||||
if (this.isOtherSource) {
|
||||
@ -550,7 +550,7 @@ export class LoanDetailsComponent implements OnInit {
|
||||
|
||||
/**For Setting Validations */
|
||||
selectedBalancesTransferChanges(event: any) {
|
||||
// console.log('selectedBalancesTransferChanges',event);
|
||||
|
||||
if (event.value == 'no') {
|
||||
this.loanDetailsForm.controls['source'].setValidators([Validators.required]);
|
||||
this.loanDetailsForm.controls['source'].updateValueAndValidity();
|
||||
@ -568,7 +568,6 @@ export class LoanDetailsComponent implements OnInit {
|
||||
}
|
||||
else if (event.value == 'yes') {
|
||||
|
||||
// console.log(event.value,'yes');
|
||||
|
||||
this.loanDetailsForm.controls['source'].setValue('');
|
||||
this.loanDetailsForm.controls['source'].clearValidators();
|
||||
@ -634,8 +633,6 @@ export class LoanDetailsComponent implements OnInit {
|
||||
|
||||
mortage_type(mortage_value)
|
||||
{
|
||||
// console.log('mortage_value',mortage_value);
|
||||
// console.log('this.m_mortageTypeProperty',this.m_mortageTypeProperty);
|
||||
let mortagetypes = this.m_mortageTypeProperty.filter(mor => mor.mortage_property_id == mortage_value)[0];
|
||||
let property_name = mortagetypes.property_name.replace(/\s/g, "").toLowerCase();
|
||||
if(property_name=='others')
|
||||
@ -691,7 +688,7 @@ export class LoanDetailsComponent implements OnInit {
|
||||
|
||||
/** To save Loan FOrm Details */
|
||||
submitLoanDetails() {
|
||||
// console.log('submitLoanDetails');
|
||||
|
||||
if(this.isOtherSource == false){
|
||||
this.loanDetailsForm.controls['other_source'].setValue('');
|
||||
this.loanDetailsForm.controls['other_source'].clearValidators();
|
||||
|
||||
@ -271,10 +271,8 @@ export class OtherIncomeComponent implements OnInit {
|
||||
|
||||
let ChildCtrl : any = control.controls[cnt]
|
||||
|
||||
console.log(ChildCtrl.controls.source.value);
|
||||
|
||||
if(ChildCtrl.controls.source.value == 1){
|
||||
console.log('ChildCtrl.controls.source.value');
|
||||
|
||||
ChildCtrl.controls['others_source'].setValidators([Validators.required]);}
|
||||
else{
|
||||
ChildCtrl.controls['others_source'].clearValidators();
|
||||
|
||||
@ -110,8 +110,6 @@ export class RentalVerificationComponent implements OnInit {
|
||||
this.existing_rental_count_id = rentalVal.length;
|
||||
//RIV = Rental Income Verification
|
||||
rentalVal.forEach((RIV, inx) => {
|
||||
console.log('RIV.rental_count_id',RIV.rental_count_id);
|
||||
console.log('RIV',RIV,inx);
|
||||
let annualRentAmt: any = 0;
|
||||
// get property unit details
|
||||
if (RIV.property_unit_details) {
|
||||
|
||||
@ -160,8 +160,7 @@ export class StockComponent implements OnInit {
|
||||
let type4length = type4[0].hasOwnProperty("products") ? type4[0].products.length : 0;
|
||||
|
||||
let rm_api = record.from_supplier.hasOwnProperty("raw_material") ? record.from_supplier.raw_material : [];
|
||||
console.log(rm_api);
|
||||
|
||||
|
||||
let params: any = {};
|
||||
params.parent_pdid = this.parent_pdid;
|
||||
params.pd_id = this.pdid;
|
||||
@ -170,7 +169,6 @@ export class StockComponent implements OnInit {
|
||||
this._pd.retriveForm(params).subscribe(value => {
|
||||
if (value.status == 200) {
|
||||
let dataForm = value.records;
|
||||
console.log(value.records);
|
||||
if (dataForm !== undefined) {
|
||||
this.stockForms = this.fb.group({
|
||||
parent_pdid: [this.parent_pdid],
|
||||
@ -822,18 +820,18 @@ export class StockComponent implements OnInit {
|
||||
let not_stock1 = this.not_stock_of_rm.reduce((sum, val) => sum + +val, 0);
|
||||
// if(not_stock1 > 0){ this.stockForms.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue('not applicable') }
|
||||
if(not_stock1 > 0){
|
||||
console.log('not_stock1',not_stock1);
|
||||
|
||||
this.RMsufficientList[0].disabled = false;
|
||||
this.RMsufficientList[2].disabled = true;
|
||||
// this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('');
|
||||
}
|
||||
else if(not_stock1 == 0){
|
||||
console.log('0',not_stock1);
|
||||
|
||||
this.RMsufficientList[0].disabled = true;
|
||||
this.RMsufficientList[2].disabled = false;
|
||||
// this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('not applicable');
|
||||
}
|
||||
console.log('this.RMsufficientList',this.RMsufficientList);
|
||||
|
||||
}
|
||||
if(flag == 2) {
|
||||
this.FinishedCounterArray[index] = value != "" ? 1 : 0
|
||||
@ -857,20 +855,19 @@ export class StockComponent implements OnInit {
|
||||
let not_stock_ws = this.not_stock_of_ws.reduce((sum, val) => sum + +val, 0);
|
||||
let not_stock_tg = this.not_stock_of_tg.reduce((sum, val) => sum + +val, 0);
|
||||
let not_stock2 = not_stock_fg + not_stock_ws + not_stock_tg;
|
||||
console.log('not_stock2',not_stock2);
|
||||
|
||||
if(not_stock2 > 0){
|
||||
console.log('not_stock2',not_stock2);
|
||||
|
||||
this.TGsufficientList[0].isdisabled = false;
|
||||
this.TGsufficientList[2].isdisabled = true;
|
||||
// this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('');
|
||||
}
|
||||
else if(not_stock2 == 0){
|
||||
console.log('0',not_stock2);
|
||||
|
||||
this.TGsufficientList[0].isdisabled = true;
|
||||
this.TGsufficientList[2].isdisabled = false;
|
||||
// this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('not applicable');
|
||||
}
|
||||
console.log('Data',this.TGsufficientList);
|
||||
// else if(not_stock == 0){
|
||||
// this.stockForms.controls['is_sufficiant_finished_and_traded_goods'].setValue('');
|
||||
// }
|
||||
|
||||
@ -31,10 +31,8 @@
|
||||
<input matInput placeholder="Raw Material Name" formControlName="manufacturing_raw_material_name">
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width: 45%">
|
||||
<input matInput placeholder="Supplier Name" formControlName="manufacturing_supplier_name" required>
|
||||
<mat-error *ngIf="items.controls['manufacturing_supplier_name'].hasError('required')">Supplier Name Required</mat-error>
|
||||
<input matInput placeholder="Supplier Name" formControlName="manufacturing_supplier_name">
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
<div fxLayout="row nowrap">
|
||||
<mat-form-field style="width: 15%">
|
||||
@ -169,8 +167,7 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width: 45%">
|
||||
<input matInput placeholder="Supplier Name" formControlName="trade_supplier_name" required>
|
||||
<mat-error *ngIf="items.controls['trade_supplier_name'].hasError('required')">Supplier Name Required</mat-error>
|
||||
<input matInput placeholder="Supplier Name" formControlName="trade_supplier_name">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxLayout="row nowrap">
|
||||
|
||||
@ -91,11 +91,11 @@
|
||||
<button mat-raised-button class="mr-1 mb-1" color="primary" style="cursor: not-allowed !important;">
|
||||
<strong> {{master.pd_status==pdStatusCheck.QC_COMPLETED ? 'QC Completed' : master.pd_status==pdStatusCheck.ADD_ON_PENDING ? 'Addon Pending' : master.pd_status | titlecase}}</strong>
|
||||
</button>
|
||||
<button *ngIf="roleAccessDetails.trigger && currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdMaster(master)" matTooltipPosition="above" matTooltip="Edit PD Master"><mat-icon>edit</mat-icon></button>
|
||||
<button *ngIf="roleAccessDetails.trigger && currentPDStatus==pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Trigger" matTooltipPosition="above" (click)="directTriggerPD(mandatoryFieldsValidations,master)"><mat-icon>flash_on</mat-icon></button>
|
||||
|
||||
<button *ngIf="roleAccessDetails.reports && master.pd_type_name && currentPDStatus==pdStatusCheck.QC_COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="PD Report" matTooltipPosition="above" (click)="getPDIDReport(viewID)"><mat-icon>ballot</mat-icon></button>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above" (click)="loadPdListCompoent()"><mat-icon>close</mat-icon></button>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button *ngIf="roleAccessDetails.trigger && currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdMaster(master)" matTooltipPosition="above" matTooltip="Edit PD Master"><mat-icon>edit</mat-icon></button>
|
||||
<button *ngIf="roleAccessDetails.trigger && currentPDStatus==pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Trigger" matTooltipPosition="above" (click)="directTriggerPD(mandatoryFieldsValidations,master)"><mat-icon>flash_on</mat-icon></button>
|
||||
</span>
|
||||
<span *ngIf="userRoleID != 4 || userRoleID != 8 || userRoleID != 9"><button *ngIf="roleAccessDetails.reports && master.pd_type_name && currentPDStatus==pdStatusCheck.QC_COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="PD Report" matTooltipPosition="above" (click)="getPDIDReport(viewID)"><mat-icon>ballot</mat-icon></button></span>
|
||||
<span><button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above" (click)="loadPdListCompoent()"><mat-icon>close</mat-icon></button></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <hr/> -->
|
||||
@ -119,10 +119,10 @@
|
||||
{{master.pd_status==pdStatusCheck.QC_COMPLETED ? 'QC Completed' : master.pd_status==pdStatusCheck.ADD_ON_PENDING ? 'Completed' : master.pd_status | titlecase}}
|
||||
</div>
|
||||
<div fxFlex="60" align="right">
|
||||
<button *ngIf="roleAccessDetails.trigger && addresses.assigned_pd==null || addresses.assigned_pd==''" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" [matTooltip]="master.fk_primary_address_id ? 'Initiate PD for this address' : 'Initiate Address for PD Process'" matTooltipPosition="above" (click)="initiateAddtionalPD(master,addresses,master.fk_primary_address_id ? true : false)"><mat-icon>where_to_vote</mat-icon></button>
|
||||
<button *ngIf="roleAccessDetails.allocate && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && master.pd_status!=pdStatusCheck.ADD_ON_PENDING && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button>
|
||||
<button *ngIf="roleAccessDetails.schedule && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && master.pd_status!=pdStatusCheck.ADD_ON_PENDING && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button>
|
||||
<button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && enableStartPD" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(addresses,master.pd_status)"><mat-icon>question_answer</mat-icon></button>
|
||||
<span><button *ngIf="roleAccessDetails.trigger && addresses.assigned_pd==null || addresses.assigned_pd==''" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" [matTooltip]="master.fk_primary_address_id ? 'Initiate PD for this address' : 'Initiate Address for PD Process'" matTooltipPosition="above" (click)="initiateAddtionalPD(master,addresses,master.fk_primary_address_id ? true : false)"><mat-icon>where_to_vote</mat-icon></button></span>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button *ngIf="roleAccessDetails.allocate && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && master.pd_status!=pdStatusCheck.ADD_ON_PENDING && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button></span>
|
||||
<span *ngIf="userRoleID != 6 || userRoleID != 7 || userRoleID != 8 || userRoleID != 9 "><button *ngIf="roleAccessDetails.schedule && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.COMPLETED && master.pd_status!=pdStatusCheck.ADD_ON_PENDING && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button></span>
|
||||
<span *ngIf="userRoleID != 6 || userRoleID != 7 || userRoleID != 8 || userRoleID != 9 "><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.TRIGGERED && enableStartPD" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(addresses,master.pd_status)"><mat-icon>question_answer</mat-icon></button></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -161,9 +161,9 @@
|
||||
{{addresses.addtional_pd_data[0].pd_status==pdStatusCheck.QC_COMPLETED ? 'QC Completed' : addresses.addtional_pd_data[0].pd_status==pdStatusCheck.ADD_ON_PENDING ? 'Completed' : addresses.addtional_pd_data[0].pd_status | titlecase}}
|
||||
</div>
|
||||
<div fxFlex="60" align="right">
|
||||
<button *ngIf="roleAccessDetails.allocate && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.COMPLETED && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.ADD_ON_PENDING && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button>
|
||||
<button *ngIf="roleAccessDetails.schedule && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.COMPLETED && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.ADD_ON_PENDING && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button>
|
||||
<button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.TRIGGERED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(addresses,addresses.addtional_pd_data[0].pd_status)"><mat-icon>question_answer</mat-icon></button>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button *ngIf="roleAccessDetails.allocate && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.COMPLETED && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.ADD_ON_PENDING && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button></span>
|
||||
<span *ngIf="userRoleID != 6 || userRoleID != 7 || userRoleID != 8 || userRoleID != 9 "><button *ngIf="roleAccessDetails.schedule && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.COMPLETED && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.ADD_ON_PENDING && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button></span>
|
||||
<span *ngIf="userRoleID != 6 || userRoleID != 7 || userRoleID != 8 || userRoleID != 9 "><button *ngIf="roleAccessDetails.discussions && addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.TRIGGERED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Discussion" matTooltipPosition="above" (click)="getPDStart(addresses,addresses.addtional_pd_data[0].pd_status)"><mat-icon>question_answer</mat-icon></button></span>
|
||||
</div>
|
||||
</div>
|
||||
<div fxLayout="row nowrap">
|
||||
@ -245,7 +245,7 @@
|
||||
<mat-card-title>Applicants</mat-card-title>
|
||||
</div>
|
||||
<div fxFlex="30" align="end" style="padding: 10px !important;" *ngIf="roleAccessDetails.trigger && currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdApplicant(pdApplicantData,CustomerSegmentAbbr)"><mat-icon>edit</mat-icon></button>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdApplicant(pdApplicantData,CustomerSegmentAbbr)"><mat-icon>edit</mat-icon></button></span>
|
||||
</div>
|
||||
</mat-card-header>
|
||||
|
||||
@ -289,7 +289,7 @@
|
||||
<mat-card-title>Additional Requirements</mat-card-title>
|
||||
</div>
|
||||
<div fxFlex="30" align="end" style="padding: 10px !important;" *ngIf="roleAccessDetails.trigger && currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED">
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editAdditionalRequirement(pdAdditionalReqData)"><mat-icon>edit</mat-icon></button>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editAdditionalRequirement(pdAdditionalReqData)"><mat-icon>edit</mat-icon></button></span>
|
||||
</div>
|
||||
</mat-card-header>
|
||||
<mat-card-content *ngIf="pdAdditionalReqData.length>0; else noRequirement">
|
||||
|
||||
@ -28,7 +28,7 @@ import Swal from 'sweetalert2';
|
||||
export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
pipe = new DatePipe('en-US');
|
||||
private notifier: NotifierService;
|
||||
|
||||
public userRoleID = localStorage.getItem('user_role');
|
||||
errorMessage: any;
|
||||
pdMasterData: any = [];
|
||||
pdAddressesData: any = [];
|
||||
@ -118,9 +118,9 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
this.masterPdLogsData = Object.keys(data.records.pd_logs.master).map(function (key) {
|
||||
return data.records.pd_logs.master[key];
|
||||
});
|
||||
// console.log('data.records.pd_addressdata', data.records.pd_addressdata);
|
||||
|
||||
this.pdMasterData[0].addresses = data.records.pd_address.filter(item => item.isactive == 1);
|
||||
console.log('this.pdMasterData[0].addresses', this.pdMasterData[0].addresses);
|
||||
|
||||
this.currentPDStatus = data.records.pd_master_details[0].pd_status;
|
||||
this.pdAdditionalReqData = data.records.pd_additional_requirements;
|
||||
// enable pd start time
|
||||
@ -212,7 +212,6 @@ export class ViewPdComponent implements OnInit, OnDestroy {
|
||||
.subscribe(dataresult => {
|
||||
if (flag == 1) {
|
||||
let ffd: any = [];
|
||||
console.log('this.FilteredFieldNames',this.FilteredFieldNames);
|
||||
this.FilteredFieldNames.forEach(field => {
|
||||
ffd.push(field.frontEnd_FieldName);
|
||||
});
|
||||
|
||||
@ -98,10 +98,10 @@
|
||||
<button mat-raised-button class="mr-1 mb-1" color="primary" style="cursor: not-allowed !important;">
|
||||
<strong> {{master.pd_status==pdStatusCheck.QC_COMPLETED ? 'QC Completed' : master.pd_status==pdStatusCheck.ADD_ON_PENDING ? 'Addon Pending' : master.pd_status | titlecase}}</strong>
|
||||
</button>
|
||||
<button *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED || currentPDStatus==pdStatusCheck.COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdMaster(master)" matTooltipPosition="above" matTooltip="Edit PD Master"><mat-icon>edit</mat-icon></button>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED || currentPDStatus==pdStatusCheck.COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdMaster(master)" matTooltipPosition="above" matTooltip="Edit PD Master"><mat-icon>edit</mat-icon></button></span>
|
||||
<!-- <button *ngIf="currentPDStatus==pdStatusCheck.DRAFT" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Trigger" matTooltipPosition="above" (click)="directTriggerPD(mandatoryFieldsValidations,master)"><mat-icon>flash_on</mat-icon></button> -->
|
||||
|
||||
<button *ngIf="master.pd_type_name && currentPDStatus==pdStatusCheck.COMPLETED || currentPDStatus==pdStatusCheck.QC_COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="PD Report" matTooltipPosition="above" (click)="getPDIDReport(viewID)"><mat-icon>ballot</mat-icon></button>
|
||||
<span *ngIf="userRoleID != 4 || userRoleID != 8 || userRoleID != 9"><button *ngIf="master.pd_type_name && currentPDStatus==pdStatusCheck.COMPLETED || currentPDStatus==pdStatusCheck.QC_COMPLETED" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="PD Report" matTooltipPosition="above" (click)="getPDIDReport(viewID)"><mat-icon>ballot</mat-icon></button></span>
|
||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close" matTooltipPosition="above" (click)="loadPdListCompoent()"><mat-icon>close</mat-icon></button>
|
||||
|
||||
</div>
|
||||
@ -125,8 +125,8 @@
|
||||
</div>
|
||||
<div fxFlex="60" align="right">
|
||||
<button *ngIf="addresses.assigned_pd==null || addresses.assigned_pd==''" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" [matTooltip]="master.fk_primary_address_id ? 'Initiate Address for Additional PD Process' : 'Initiate Address for PD Process'" matTooltipPosition="above" (click)="initiateAddtionalPD(master,addresses,master.fk_primary_address_id ? true : false)"><mat-icon>where_to_vote</mat-icon></button>
|
||||
<button *ngIf="addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button>
|
||||
<button *ngIf="addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button *ngIf="addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button></span>
|
||||
<span *ngIf="userRoleID != 6 || userRoleID != 7 || userRoleID != 8 || userRoleID != 9 "><button *ngIf="addresses.assigned_pd && master.pd_type_name && currentPDStatus!=pdStatusCheck.DRAFT && currentPDStatus!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -166,8 +166,8 @@
|
||||
{{addresses.addtional_pd_data[0].pd_status==pdStatusCheck.QC_COMPLETED ? 'QC Completed' : addresses.addtional_pd_data[0].pd_status==pdStatusCheck.ADD_ON_PENDING ? 'Completed' : addresses.addtional_pd_data[0].pd_status | titlecase}}
|
||||
</div>
|
||||
<div fxFlex="60" align="right">
|
||||
<button *ngIf="addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button>
|
||||
<button *ngIf="addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button *ngIf="addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Allocate" matTooltipPosition="above" (click)="pdAllocationTo(master,addresses)"><mat-icon>verified_user</mat-icon></button></span>
|
||||
<span *ngIf="userRoleID != 6 || userRoleID != 7 || userRoleID != 8 || userRoleID != 9 "><button *ngIf="addresses.assigned_pd && addresses.addtional_pd_data[0].pd_type_name && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.DRAFT && addresses.addtional_pd_data[0].pd_status!=pdStatusCheck.QC_COMPLETED" mat-raised-button mat-button-md mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Schedule" matTooltipPosition="above" (click)="scheduleDetails(master,addresses)"><mat-icon>schedule</mat-icon></button></span>
|
||||
</div>
|
||||
</div>
|
||||
<div fxLayout="row nowrap">
|
||||
@ -247,7 +247,7 @@
|
||||
<mat-card-title>Applicants</mat-card-title>
|
||||
</div>
|
||||
<div fxFlex="30" align="end" style="padding: 10px !important;" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED || currentPDStatus==pdStatusCheck.COMPLETED">
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdApplicant(pdApplicantData)"><mat-icon>edit</mat-icon></button>
|
||||
<!-- <span *ngIf="userRoleID == 10 || userRoleID == 3"><button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editPdApplicant(pdApplicantData)"><mat-icon>edit</mat-icon></button></span> -->
|
||||
</div>
|
||||
</mat-card-header>
|
||||
|
||||
@ -291,7 +291,7 @@
|
||||
<mat-card-title>Additional Requirements</mat-card-title>
|
||||
</div>
|
||||
<div fxFlex="30" align="end" style="padding: 10px !important;" *ngIf="currentPDStatus==pdStatusCheck.DRAFT || currentPDStatus==pdStatusCheck.TRIGGERED || currentPDStatus==pdStatusCheck.ALLOCATED || currentPDStatus==pdStatusCheck.SCHEDULED || currentPDStatus==pdStatusCheck.COMPLETED">
|
||||
<button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editAdditionalRequirement(pdAdditionalReqData)"><mat-icon>edit</mat-icon></button>
|
||||
<span *ngIf="userRoleID == 10 || userRoleID == 3"><button mat-raised-button mat-button-sm mat-icon-button class="mr-1 mb-1 hover-icon" type="button" (click)="editAdditionalRequirement(pdAdditionalReqData)"><mat-icon>edit</mat-icon></button></span>
|
||||
</div>
|
||||
</mat-card-header>
|
||||
<mat-card-content *ngIf="pdAdditionalReqData.length>0; else noRequirement">
|
||||
|
||||
@ -37,6 +37,7 @@ export class QcViewComponent implements OnInit, OnDestroy {
|
||||
currentPDStatus:string;
|
||||
pdAdditionalReqData: any=[];
|
||||
enableStartPD: boolean;
|
||||
public userRoleID = localStorage.getItem('user_role');
|
||||
// create values for status check
|
||||
pdStatusCheck :any={
|
||||
"DRAFT" :'DRAFT',
|
||||
|
||||
217
ng6-seed/src/app/reports/pd-mis/pd-mis.component.html
Normal file
217
ng6-seed/src/app/reports/pd-mis/pd-mis.component.html
Normal file
@ -0,0 +1,217 @@
|
||||
<!-- <div *ngIf="listView"> -->
|
||||
<mat-card>
|
||||
<div fxLayout="row" fxLayoutAlign="start center" class="mb-1">
|
||||
<div class="ml-xs mr-xs" style="width: 100%;">
|
||||
<mat-card-title><span> PD MIS Report </span>
|
||||
<button class="btn_export" mat-raised-button color="primary" (click)="ExportTOExcel()" >Export CSV</button>
|
||||
</mat-card-title>
|
||||
</div>
|
||||
</div>
|
||||
<mat-card-content>
|
||||
|
||||
<div class="filter-container mat-elevation-z8">
|
||||
|
||||
<div fxLayout="row" fxLayoutAlign="start center" class="filter-header">
|
||||
<div *ngIf="!noRecordFound" class="ml-xs mr-xs" style="width: 100%;">
|
||||
<form [formGroup]="reportform">
|
||||
<mat-expansion-panel>
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title class="text-xs-left">
|
||||
<h6 class="mt-0">
|
||||
<mat-icon>filter_list</mat-icon> Filter</h6>
|
||||
</mat-panel-title>
|
||||
|
||||
</mat-expansion-panel-header>
|
||||
<div>
|
||||
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;">
|
||||
<input matInput type="text" placeholder="Application ID" formControlName="applicant_id">
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field color="accent" class="date1 ml-xs mr-xs" style="width: 30%;">
|
||||
<mat-label>From Date</mat-label>
|
||||
<input matInput [max]="maxDate" [matDatepicker]="picker1" formControlName="from_date" (dateChange)="getDateObjects($event.target.value)">
|
||||
<mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
|
||||
<mat-datepicker #picker1 color="primary"></mat-datepicker>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field color="accent" class="date2 ml-xs mr-xs" style="width: 30%;">
|
||||
<mat-label>To Date</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="picker2" formControlName="to_date" >
|
||||
<mat-datepicker-toggle matSuffix [for]="picker2"></mat-datepicker-toggle>
|
||||
<mat-datepicker #picker2 color="primary"></mat-datepicker>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;">
|
||||
<input matInput type="text" placeholder="City" formControlName="city">
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;">
|
||||
<input matInput type="text" placeholder="Branch" formControlName="branch">
|
||||
</mat-form-field>
|
||||
|
||||
<div align="right">
|
||||
<button type="button" mat-raised-button mat-icon-button
|
||||
matTooltip="Search" matTooltipPosition="above" class="mr-1 mb-1 hover-icon" color="primary" type="button" (click)="searchform(reportform.value)">
|
||||
<mat-icon>search</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
</form>
|
||||
<br/>
|
||||
</div>
|
||||
<div *ngIf="noRecordFound" class="nocontent ml-xs mr-xs" style="width: 80%;">No records found</div>
|
||||
</div>
|
||||
|
||||
<div class="example-container mat-elevation-z8 " #TABLE>
|
||||
<table mat-table #table *ngIf="!noRecordFound" [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="serialno" sticky>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Sl </th>
|
||||
<td mat-cell *matCellDef="let row; let i = index;"> {{row.serialno}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="applicant" sticky>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Name of the Main Applicant </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.applicant" mat-line>{{row.applicant}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="application_id">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Lender Ref No </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.application_id" mat-line>{{row.application_id}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="sineedge_ref_no">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Sineedge Ref No </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.sineedge_ref" mat-line>{{row.sineedge_ref}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="created_on">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Created </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.created_on" mat-line> {{row.created_on | date: 'dd-MM-yyyy'}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="name_of_underwriter">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Name of Underwriter </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.lender" mat-line>{{row.lender}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<!--<ng-container matColumnDef="Contact Person at IMGC">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Contact Person at IMGC </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.branch" mat-line>{{row.branch}}</span> </td>
|
||||
</ng-container> -->
|
||||
|
||||
<!-- <ng-container matColumnDef="designation_of_contact_person">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Designation of contact person </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.branch" mat-line>{{row.branch}}</span> </td>
|
||||
</ng-container> -->
|
||||
|
||||
<ng-container matColumnDef="lender_contact_person">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Lender Contact Person </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.lender_contact" mat-line>{{row.lender_contact}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="branch">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Lender Branch </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.branch" mat-line>{{row.branch}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="city">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> PD City </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.city" mat-line>{{row.city}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="ocl">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Outside City Limits (Yes/No) </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.is_outside_city_limit" mat-line>{{row.is_outside_city_limit}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="receiving_pd_date">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Date & Time of receiving PD Request
|
||||
DD:MM:YY HH:MM </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.triggered" mat-line>{{row.triggered | date: 'dd-MM-yyyy hh:mm a'}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="confirmation_pd_date">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Date & Time of Confirmation from PD Officer that PD fixed
|
||||
DD:MM:YY HH:MM</th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.scheduled" mat-line>{{row.scheduled | date: 'dd-MM-yyyy hh:mm a'}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="start_of_conducting_pd_date">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Date & Time of Start of conducting PD
|
||||
DD:MM:YY HH:MM</th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.started" mat-line>{{row.started | date: 'dd-MM-yyyy hh:mm a'}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="end_of_conducting_pd_date">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Date & Time of End of conducting PD
|
||||
DD:MM:YY HH:MM</th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.complete" mat-line>{{row.complete | date: 'dd-MM-yyyy hh:mm a'}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="sending_pd_report_date">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Date & Time of sending PD Report to IMGC
|
||||
DD:MM:YY HH:MM
|
||||
</th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.qc_complete" mat-line>{{row.qc_complete | date: 'dd-MM-yyyy hh:mm a'}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
|
||||
<ng-container matColumnDef="agency_name">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> PD Agency Name </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.pd_agency" mat-line>{{row.pd_agency}}</span> </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="officer_name">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> PD officer`s Name </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.pd_officer" mat-line>{{row.pd_officer}}</span> </td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="pd_status">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Status of the PD </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.current_status" mat-line>{{row.current_status}}</span> </td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="remark">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Earlier Remarks on Status for Reference
|
||||
(Status 'as on Date' given in Bracket ..DD/MM) </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.remarks" mat-line>{{row.remarks}}</span> </td>
|
||||
</ng-container>
|
||||
<!-- <ng-container matColumnDef="overall_tat">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Overall TAT from initiation till current stage </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
<span *ngIf="row.current_status" mat-line>{{row.current_status}}</span> </td>
|
||||
</ng-container> -->
|
||||
|
||||
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: displayedColumns;">
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<mat-paginator *ngIf="!noRecordFound" [pageSize]="pageSize" [pageSizeOptions]="[5, 10, 25, 50, 100]" showFirstLastButtons></mat-paginator>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
<!-- </div> -->
|
||||
<!-- <div *ngIf="!listView">
|
||||
<app-pd-team-edit [childMessage]="parentMessage"></app-pd-team-edit>
|
||||
</div> -->
|
||||
61
ng6-seed/src/app/reports/pd-mis/pd-mis.component.scss
Normal file
61
ng6-seed/src/app/reports/pd-mis/pd-mis.component.scss
Normal file
@ -0,0 +1,61 @@
|
||||
/** Card title */
|
||||
.mat-card-title{
|
||||
font-size: 25px !important;
|
||||
}
|
||||
|
||||
/** Table CSS -nocontent */
|
||||
.nocontent {
|
||||
color: red;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.filter-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
.filter-header {
|
||||
min-height: 64px;
|
||||
padding: 8px 24px 0;
|
||||
}
|
||||
.date1{
|
||||
width: 30%;
|
||||
}
|
||||
.date2{
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.btn_export
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
|
||||
.example-container {
|
||||
max-height: 600px;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
margin-top: 2%;
|
||||
}
|
||||
|
||||
.mat-header-cell {
|
||||
padding: 0 10px 0 10px;
|
||||
white-space: pre-wrap;
|
||||
font-size: 1rem !important;
|
||||
}
|
||||
|
||||
.mat-cell {
|
||||
padding: 0 10px 0 10px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.mat-table-sticky {
|
||||
border-right: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
.mat-footer-cell {
|
||||
font-weight: bold;
|
||||
font-size: 1.2rem !important;
|
||||
padding: 0 10px 0 10px;
|
||||
}
|
||||
25
ng6-seed/src/app/reports/pd-mis/pd-mis.component.spec.ts
Normal file
25
ng6-seed/src/app/reports/pd-mis/pd-mis.component.spec.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { PdMisComponent } from './pd-mis.component';
|
||||
|
||||
describe('PdMisComponent', () => {
|
||||
let component: PdMisComponent;
|
||||
let fixture: ComponentFixture<PdMisComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ PdMisComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(PdMisComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
237
ng6-seed/src/app/reports/pd-mis/pd-mis.component.ts
Normal file
237
ng6-seed/src/app/reports/pd-mis/pd-mis.component.ts
Normal file
@ -0,0 +1,237 @@
|
||||
import { Component, OnInit ,ViewChild,ElementRef,OnDestroy} from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { ReportsService } from '../reports.service';
|
||||
import { DatePipe } from '@angular/common';
|
||||
import { FormGroup, FormControl,FormBuilder } from '@angular/forms';
|
||||
import * as XLSX from 'xlsx';
|
||||
import { MatSort,MatPaginator, MatTableDataSource } from '@angular/material';
|
||||
import Swal from 'sweetalert2';
|
||||
|
||||
@Component({
|
||||
selector: 'app-pd-mis',
|
||||
templateUrl: './pd-mis.component.html',
|
||||
styleUrls: ['./pd-mis.component.scss']
|
||||
})
|
||||
export class PdMisComponent implements OnInit {
|
||||
|
||||
pipe = new DatePipe('en-US');
|
||||
color = 'primary';
|
||||
pageSize = 10;
|
||||
userData = null;
|
||||
noRecordFound: boolean = false;
|
||||
maxDate: any;
|
||||
minDate: any;
|
||||
array_value:any=[];
|
||||
|
||||
public reportform: FormGroup;
|
||||
public dataLength: number;
|
||||
public dataSource = new MatTableDataSource();
|
||||
|
||||
displayedColumns = ['serialno',
|
||||
'applicant',
|
||||
'application_id',
|
||||
'sineedge_ref_no',
|
||||
'created_on',
|
||||
'name_of_underwriter',
|
||||
'lender_contact_person',
|
||||
'branch',
|
||||
'city',
|
||||
'ocl',
|
||||
'receiving_pd_date',
|
||||
'confirmation_pd_date',
|
||||
'start_of_conducting_pd_date',
|
||||
'end_of_conducting_pd_date',
|
||||
'sending_pd_report_date',
|
||||
'agency_name',
|
||||
'officer_name',
|
||||
'pd_status'];
|
||||
|
||||
@ViewChild(MatPaginator) paginator: MatPaginator;
|
||||
@ViewChild(MatSort) sort: MatSort;
|
||||
@ViewChild('TABLE') table: ElementRef;
|
||||
|
||||
constructor(private reportsService:ReportsService,private route:ActivatedRoute,private router:Router,private form_builder:FormBuilder) {
|
||||
this.reportform = this.form_builder.group({ from_date:[null],to_date:[null],city:[null],branch:[null],applicant_id:[null] });
|
||||
}
|
||||
|
||||
ngOnInit(){
|
||||
this.maxDate = new Date();
|
||||
this.getPDMISDailyReportContent();
|
||||
}
|
||||
|
||||
getPDMISDailyReportContent() {
|
||||
|
||||
this.reportsService.getPDMISDailyReport().subscribe(
|
||||
data => {
|
||||
|
||||
if(data.dataStatus == true){
|
||||
|
||||
this.noRecordFound = false;
|
||||
this.userData = data.records;
|
||||
this.dataLength = data.records.length;
|
||||
if(data.records.length >= 1){
|
||||
this.userData = this.userData.map((val, i)=>{
|
||||
val['serialno'] = i + 1;
|
||||
return val;
|
||||
})
|
||||
}
|
||||
this.dataSource.data = this.userData;
|
||||
}else{
|
||||
this.noRecordFound = true;
|
||||
this.dataLength = 0
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
ExportTOExcel()
|
||||
{
|
||||
const ws: XLSX.WorkSheet=XLSX.utils.table_to_sheet(this.table.nativeElement);
|
||||
const wb: XLSX.WorkBook = XLSX.utils.book_new();
|
||||
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
|
||||
|
||||
/* save to file */
|
||||
XLSX.writeFile(wb, 'Daily MIS Report.xlsx');
|
||||
|
||||
}
|
||||
|
||||
ngAfterViewInit() {
|
||||
|
||||
this.dataSource.paginator = this.paginator;
|
||||
this.dataSource.sort = this.sort;
|
||||
}
|
||||
|
||||
/** For Display Tables Filtering */
|
||||
applyFilter(filterValue: string) {
|
||||
filterValue = filterValue.trim(); // Remove whitespace
|
||||
filterValue = filterValue.toLowerCase(); // Datasource defaults to lowercase matches
|
||||
this.dataSource.filter = filterValue;
|
||||
}
|
||||
|
||||
searchform(value:any){
|
||||
|
||||
this.reportsService.getPDMISDailyReport().subscribe(
|
||||
data => {
|
||||
if(data['dataStatus']==true)
|
||||
{
|
||||
this.array_value = data.records;
|
||||
|
||||
if(value.applicant_id !== null && value.applicant_id != ''){
|
||||
this.array_value = this.filterForApplicantID(this.array_value,value.applicant_id);
|
||||
}
|
||||
if(value.city !== null && value.city != ''){
|
||||
this.array_value = this.filterForCity(this.array_value,value.city);
|
||||
}
|
||||
|
||||
if(value.branch !== null && value.branch != ''){
|
||||
// this.array_value = this.array_value.filter(val => val.branch == value.branch );
|
||||
// this.array_value = this.array_value.filter(val => this.customFilter(val,value.brach,3));
|
||||
this.array_value = this.filterForBranch(this.array_value,value.branch);
|
||||
}
|
||||
|
||||
if(value.from_date !== null && value.to_date !== null){
|
||||
// console.log('value',value.from_date);
|
||||
// console.log('value',value.to_date);
|
||||
let from_Date = this.pipe.transform(value.from_date,'yyyy-MM-dd HH:mm:ss');
|
||||
let to_Date = this.pipe.transform(value.to_date,'yyyy-MM-dd HH:mm:ss');
|
||||
this.array_value = this.array_value.filter(val => val.created_on >= from_Date && val.created_on <= to_Date );
|
||||
// console.log('this.array_value',this.array_value);
|
||||
}
|
||||
|
||||
console.log(this.array_value);
|
||||
|
||||
this.noRecordFound = false;
|
||||
this.dataLength = this.array_value.length;
|
||||
if(this.array_value.length >= 1){
|
||||
this.userData = this.array_value.map((val, i)=>{
|
||||
val['serialno'] = i + 1;
|
||||
return val;
|
||||
})
|
||||
}
|
||||
this.dataSource.data = this.array_value;
|
||||
}
|
||||
else{
|
||||
this.dataSource.data = this.array_value;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
filterForApplicantID(arrayData: any, Values: any) {
|
||||
Values = Values.toLowerCase();
|
||||
if (Values) {
|
||||
|
||||
let Filter: any = [];
|
||||
|
||||
let getAllApplicationIDOnly = arrayData.map(v => v.application_id.replace(/[^A-Za-z0-9]/ig, "").toLowerCase());
|
||||
|
||||
let searched_filter_array = getAllApplicationIDOnly.filter(val => val.includes(Values));
|
||||
|
||||
Filter = searched_filter_array.map(x => {
|
||||
let findIndex = getAllApplicationIDOnly.indexOf(x);
|
||||
return arrayData[findIndex];
|
||||
});
|
||||
|
||||
return Filter.length > 0 ? Filter : arrayData;
|
||||
}
|
||||
else{
|
||||
return arrayData;
|
||||
}
|
||||
}
|
||||
|
||||
filterForCity(arrayData: any, Values: any) {
|
||||
Values = Values.toLowerCase();
|
||||
if (Values) {
|
||||
let Filter: any = [];
|
||||
|
||||
let getAllCityOnly = arrayData.map(v => v.city.replace(/[^A-Za-z0-9]/ig, "").toLowerCase());
|
||||
|
||||
let searched_filter_array = getAllCityOnly.filter(val => val.includes(Values));
|
||||
|
||||
Filter = searched_filter_array.map(x => {
|
||||
let findIndex = getAllCityOnly.indexOf(x);
|
||||
return arrayData[findIndex];
|
||||
});
|
||||
|
||||
return Filter.length > 0 ? Filter : arrayData;
|
||||
}
|
||||
else{
|
||||
return arrayData;
|
||||
}
|
||||
}
|
||||
|
||||
filterForBranch(arrayData: any, Values: any) {
|
||||
Values = Values.toLowerCase();
|
||||
if (Values) {
|
||||
let Filter: any = [];
|
||||
|
||||
let getAllBranchOnly = arrayData.map(v => v.branch.replace(/[^A-Za-z0-9]/ig, "").toLowerCase());
|
||||
|
||||
let searched_filter_array = getAllBranchOnly.filter(val => val.includes(Values));
|
||||
|
||||
Filter = searched_filter_array.map(x => {
|
||||
let findIndex = getAllBranchOnly.indexOf(x);
|
||||
return arrayData[findIndex];
|
||||
});
|
||||
|
||||
return Filter.length > 0 ? Filter : arrayData;
|
||||
}
|
||||
else{
|
||||
return arrayData;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// customFilter(array,value,flag){
|
||||
// if(flag == 3){
|
||||
// var str = array.branch.split("").join("").toLowercase();
|
||||
// return str.includes(value)?array:null;
|
||||
// }
|
||||
// }
|
||||
|
||||
getDateObjects(values: any) {
|
||||
|
||||
let selected_date = this.pipe.transform(values, 'yyyy/MM/dd');
|
||||
this.minDate = new Date(selected_date);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
16
ng6-seed/src/app/reports/reports-routing.module.ts
Normal file
16
ng6-seed/src/app/reports/reports-routing.module.ts
Normal file
@ -0,0 +1,16 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
import { PdMisComponent } from './pd-mis/pd-mis.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path:'',
|
||||
component:PdMisComponent
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule]
|
||||
})
|
||||
export class ReportsRoutingModule { }
|
||||
13
ng6-seed/src/app/reports/reports.module.spec.ts
Normal file
13
ng6-seed/src/app/reports/reports.module.spec.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import { ReportsModule } from './reports.module';
|
||||
|
||||
describe('ReportsModule', () => {
|
||||
let reportsModule: ReportsModule;
|
||||
|
||||
beforeEach(() => {
|
||||
reportsModule = new ReportsModule();
|
||||
});
|
||||
|
||||
it('should create an instance', () => {
|
||||
expect(reportsModule).toBeTruthy();
|
||||
});
|
||||
});
|
||||
102
ng6-seed/src/app/reports/reports.module.ts
Normal file
102
ng6-seed/src/app/reports/reports.module.ts
Normal file
@ -0,0 +1,102 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { MatInputModule } from '@angular/material';
|
||||
import { ReportsRoutingModule } from './reports-routing.module';
|
||||
import { PdMisComponent } from './pd-mis/pd-mis.component';
|
||||
import {MatDatepickerModule} from '@angular/material/datepicker';
|
||||
|
||||
import {
|
||||
MatCardModule,
|
||||
MatIconModule,
|
||||
MatRadioModule,
|
||||
MatButtonModule,
|
||||
MatSelectModule,
|
||||
MatDialogModule,
|
||||
MatProgressBarModule,MatToolbarModule,MatCheckboxModule,
|
||||
MatTableModule,MatPaginatorModule,MatSortModule} from '@angular/material';
|
||||
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
|
||||
import {MatFormFieldModule} from '@angular/material/form-field'
|
||||
import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
||||
import { NgxDatatableModule } from '@swimlane/ngx-datatable';
|
||||
import { NotifierModule, NotifierOptions } from 'angular-notifier';
|
||||
import { DragulaModule } from 'ng2-dragula';
|
||||
import {MatListModule} from '@angular/material/list';
|
||||
import { FlexLayoutModule } from '@angular/flex-layout';
|
||||
import { ReportsService } from '../reports/reports.service';
|
||||
import {MatExpansionModule} from '@angular/material/expansion';
|
||||
const customNotifierOptions: NotifierOptions = {
|
||||
position: {
|
||||
horizontal: {
|
||||
position: 'right',
|
||||
distance: 12
|
||||
},
|
||||
vertical: {
|
||||
position: 'top',
|
||||
distance: 32,
|
||||
gap: 10
|
||||
}
|
||||
},
|
||||
theme: 'material',
|
||||
behaviour: {
|
||||
autoHide: 5000,
|
||||
onClick: 'hide',
|
||||
onMouseover: 'pauseAutoHide',
|
||||
showDismissButton: true,
|
||||
stacking: 4
|
||||
},
|
||||
animations: {
|
||||
enabled: true,
|
||||
show: {
|
||||
preset: 'slide',
|
||||
speed: 300,
|
||||
easing: 'ease'
|
||||
},
|
||||
hide: {
|
||||
preset: 'fade',
|
||||
speed: 300,
|
||||
easing: 'ease',
|
||||
offset: 50
|
||||
},
|
||||
shift: {
|
||||
speed: 300,
|
||||
easing: 'ease'
|
||||
},
|
||||
overlap: 150
|
||||
}
|
||||
};
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
MatExpansionModule,
|
||||
CommonModule,
|
||||
MatFormFieldModule,
|
||||
MatInputModule,
|
||||
ReportsRoutingModule,
|
||||
FormsModule, ReactiveFormsModule,
|
||||
MatCardModule,
|
||||
MatIconModule,
|
||||
MatInputModule,
|
||||
MatRadioModule,
|
||||
MatButtonModule,
|
||||
MatTableModule,
|
||||
MatPaginatorModule,
|
||||
MatProgressBarModule,
|
||||
MatDialogModule,
|
||||
MatSortModule,
|
||||
MatSelectModule,
|
||||
FlexLayoutModule,
|
||||
NgxMatSelectSearchModule,
|
||||
NgxDatatableModule,
|
||||
MatSlideToggleModule,
|
||||
MatTooltipModule,
|
||||
MatListModule,DragulaModule,
|
||||
MatDatepickerModule,
|
||||
NotifierModule.withConfig(customNotifierOptions),
|
||||
],
|
||||
exports: [MatExpansionModule],
|
||||
declarations: [PdMisComponent],
|
||||
providers:[ReportsService]
|
||||
})
|
||||
export class ReportsModule { }
|
||||
12
ng6-seed/src/app/reports/reports.service.spec.ts
Normal file
12
ng6-seed/src/app/reports/reports.service.spec.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ReportsService } from './reports.service';
|
||||
|
||||
describe('ReportsService', () => {
|
||||
beforeEach(() => TestBed.configureTestingModule({}));
|
||||
|
||||
it('should be created', () => {
|
||||
const service: ReportsService = TestBed.get(ReportsService);
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
||||
29
ng6-seed/src/app/reports/reports.service.ts
Normal file
29
ng6-seed/src/app/reports/reports.service.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Observable,of } from 'rxjs';
|
||||
|
||||
/** Imported Service Files Are., */
|
||||
import { AwsService } from '../AwsService/aws.service';
|
||||
|
||||
/** Environment */
|
||||
import { environment } from 'environments/environment'
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class ReportsService {
|
||||
// baseUrl = 'http://192.168.0.14/kani/sine_db/sparqapi/api/PD_MIS_report';
|
||||
private apiUrl = environment.apiEndpoint;
|
||||
|
||||
constructor(private _http: HttpClient,private _aws: AwsService) {}
|
||||
|
||||
// getPDMISDailyReportLocal(): Observable<any> {
|
||||
// return this._http.get(this.baseUrl);
|
||||
// }
|
||||
|
||||
// get Details
|
||||
getPDMISDailyReport(): Observable<any> {
|
||||
return this._http.get(this.apiUrl + 'PD_MIS_report');
|
||||
}
|
||||
|
||||
}
|
||||
@ -30,7 +30,7 @@ const HORIZONTALMENUITEMS = [
|
||||
// },
|
||||
{
|
||||
state:'setting',
|
||||
name:'Settings',
|
||||
name:'Manage',
|
||||
type:'multi',
|
||||
icon:'settings',
|
||||
children:[
|
||||
@ -59,6 +59,12 @@ const HORIZONTALMENUITEMS = [
|
||||
type:'link',
|
||||
icon:'done_all',
|
||||
},
|
||||
{
|
||||
state:'reports',
|
||||
name:'Reports',
|
||||
type:'link',
|
||||
icon:'report',
|
||||
},
|
||||
];
|
||||
|
||||
@Injectable()
|
||||
|
||||
@ -86,8 +86,13 @@ const MENUITEMS : Menu[] = [
|
||||
name:'Quality Check',
|
||||
type:'link',
|
||||
icon:'done_all',
|
||||
},
|
||||
{
|
||||
state:'reports',
|
||||
name:'Reports',
|
||||
type:'link',
|
||||
icon:'report',
|
||||
}
|
||||
|
||||
];
|
||||
|
||||
@Injectable()
|
||||
|
||||
BIN
ng6-seed/src/assets/images/defaultuserimage.png
Normal file
BIN
ng6-seed/src/assets/images/defaultuserimage.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Loading…
Reference in New Issue
Block a user