Compare commits

..

9 Commits

@ -1,8 +1,8 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<widget id="hmg.cloudSolutions.mohem" version="1.5.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <widget id="com.cloudsolutions.alhabibmohemm" version="1.4" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>MOHEMM</name> <name>MOHEMM</name>
<description>an app created by cloud Solutions</description> <description>an app created by cloud Solutions</description>
<author email="Eservicescs@cloudsolutios-sa.com" href="http://cloudsolutions-sa.com">cloud solution</author> <author email="eservicescs@cloudsolution-sa.com" href="http://cloudsolution-sa.com">HMG</author>
<content src="index.html" /> <content src="index.html" />
<content src="index.html" /> <content src="index.html" />
<access origin="*" /> <access origin="*" />

@ -1097,18 +1097,11 @@
} }
}, },
"@ionic-native/onesignal": { "@ionic-native/onesignal": {
"version": "5.17.1", "version": "5.19.0",
"resolved": "https://registry.npmjs.org/@ionic-native/onesignal/-/onesignal-5.17.1.tgz", "resolved": "https://registry.npmjs.org/@ionic-native/onesignal/-/onesignal-5.19.0.tgz",
"integrity": "sha512-LjT9hHmEsbuqNYMsJmi6yliVpQSgskOvi7leGEr+hpHwgK+5dWLg1MMtoSFvvcxC54jJlZVQhjqvFS2Jp6IXuA==", "integrity": "sha512-JJLpkz+dt6B1sO7ptns/miWtwRn2/jipFu/mSIxuM+hv3bX2Yp/AK31+6TO1R6VlqoDgsNLnj9sXoO9p/DzVrQ==",
"requires": { "requires": {
"@types/cordova": "^0.0.34" "@types/cordova": "^0.0.34"
},
"dependencies": {
"@types/cordova": {
"version": "0.0.34",
"resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz",
"integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ="
}
} }
}, },
"@ionic-native/open-native-settings": { "@ionic-native/open-native-settings": {
@ -6366,28 +6359,28 @@
"dependencies": { "dependencies": {
"abbrev": { "abbrev": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "", "resolved": false,
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"ansi-regex": { "ansi-regex": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "", "resolved": false,
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"aproba": { "aproba": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "", "resolved": false,
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"are-we-there-yet": { "are-we-there-yet": {
"version": "1.1.5", "version": "1.1.5",
"resolved": "", "resolved": false,
"integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6398,14 +6391,14 @@
}, },
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "", "resolved": false,
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"resolved": "", "resolved": false,
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6416,42 +6409,42 @@
}, },
"chownr": { "chownr": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "", "resolved": false,
"integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"code-point-at": { "code-point-at": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "", "resolved": false,
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "", "resolved": false,
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "", "resolved": false,
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "", "resolved": false,
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"debug": { "debug": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "", "resolved": false,
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6461,28 +6454,28 @@
}, },
"deep-extend": { "deep-extend": {
"version": "0.6.0", "version": "0.6.0",
"resolved": "", "resolved": false,
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"delegates": { "delegates": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "", "resolved": false,
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"detect-libc": { "detect-libc": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "", "resolved": false,
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"fs-minipass": { "fs-minipass": {
"version": "1.2.5", "version": "1.2.5",
"resolved": "", "resolved": false,
"integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6492,14 +6485,14 @@
}, },
"fs.realpath": { "fs.realpath": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "", "resolved": false,
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"gauge": { "gauge": {
"version": "2.7.4", "version": "2.7.4",
"resolved": "", "resolved": false,
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6516,7 +6509,7 @@
}, },
"glob": { "glob": {
"version": "7.1.3", "version": "7.1.3",
"resolved": "", "resolved": false,
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6531,14 +6524,14 @@
}, },
"has-unicode": { "has-unicode": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "", "resolved": false,
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"iconv-lite": { "iconv-lite": {
"version": "0.4.24", "version": "0.4.24",
"resolved": "", "resolved": false,
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6548,7 +6541,7 @@
}, },
"ignore-walk": { "ignore-walk": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "", "resolved": false,
"integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6558,7 +6551,7 @@
}, },
"inflight": { "inflight": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "", "resolved": false,
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6569,21 +6562,21 @@
}, },
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "", "resolved": false,
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"ini": { "ini": {
"version": "1.3.5", "version": "1.3.5",
"resolved": "", "resolved": false,
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "", "resolved": false,
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6593,14 +6586,14 @@
}, },
"isarray": { "isarray": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "", "resolved": false,
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"minimatch": { "minimatch": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "", "resolved": false,
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6610,14 +6603,14 @@
}, },
"minimist": { "minimist": {
"version": "0.0.8", "version": "0.0.8",
"resolved": "", "resolved": false,
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"minipass": { "minipass": {
"version": "2.3.5", "version": "2.3.5",
"resolved": "", "resolved": false,
"integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6628,7 +6621,7 @@
}, },
"minizlib": { "minizlib": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "", "resolved": false,
"integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6638,7 +6631,7 @@
}, },
"mkdirp": { "mkdirp": {
"version": "0.5.1", "version": "0.5.1",
"resolved": "", "resolved": false,
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6648,14 +6641,14 @@
}, },
"ms": { "ms": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "", "resolved": false,
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"needle": { "needle": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "", "resolved": false,
"integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6667,7 +6660,7 @@
}, },
"node-pre-gyp": { "node-pre-gyp": {
"version": "0.12.0", "version": "0.12.0",
"resolved": "", "resolved": false,
"integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6686,7 +6679,7 @@
}, },
"nopt": { "nopt": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "", "resolved": false,
"integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6697,14 +6690,14 @@
}, },
"npm-bundled": { "npm-bundled": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "", "resolved": false,
"integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"npm-packlist": { "npm-packlist": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "", "resolved": false,
"integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6715,7 +6708,7 @@
}, },
"npmlog": { "npmlog": {
"version": "4.1.2", "version": "4.1.2",
"resolved": "", "resolved": false,
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6728,21 +6721,21 @@
}, },
"number-is-nan": { "number-is-nan": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "", "resolved": false,
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "", "resolved": false,
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"once": { "once": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "", "resolved": false,
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6752,21 +6745,21 @@
}, },
"os-homedir": { "os-homedir": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "", "resolved": false,
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"os-tmpdir": { "os-tmpdir": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "", "resolved": false,
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"osenv": { "osenv": {
"version": "0.1.5", "version": "0.1.5",
"resolved": "", "resolved": false,
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6777,21 +6770,21 @@
}, },
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "", "resolved": false,
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"process-nextick-args": { "process-nextick-args": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "", "resolved": false,
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"rc": { "rc": {
"version": "1.2.8", "version": "1.2.8",
"resolved": "", "resolved": false,
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6804,7 +6797,7 @@
"dependencies": { "dependencies": {
"minimist": { "minimist": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "", "resolved": false,
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true, "dev": true,
"optional": true "optional": true
@ -6813,7 +6806,7 @@
}, },
"readable-stream": { "readable-stream": {
"version": "2.3.6", "version": "2.3.6",
"resolved": "", "resolved": false,
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6829,7 +6822,7 @@
}, },
"rimraf": { "rimraf": {
"version": "2.6.3", "version": "2.6.3",
"resolved": "", "resolved": false,
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6839,49 +6832,49 @@
}, },
"safe-buffer": { "safe-buffer": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "", "resolved": false,
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"safer-buffer": { "safer-buffer": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "", "resolved": false,
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"sax": { "sax": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "", "resolved": false,
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"semver": { "semver": {
"version": "5.7.0", "version": "5.7.0",
"resolved": "", "resolved": false,
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"set-blocking": { "set-blocking": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "", "resolved": false,
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"signal-exit": { "signal-exit": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "", "resolved": false,
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"string-width": { "string-width": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "", "resolved": false,
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6893,7 +6886,7 @@
}, },
"string_decoder": { "string_decoder": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "", "resolved": false,
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6903,7 +6896,7 @@
}, },
"strip-ansi": { "strip-ansi": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "", "resolved": false,
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6913,14 +6906,14 @@
}, },
"strip-json-comments": { "strip-json-comments": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "", "resolved": false,
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"tar": { "tar": {
"version": "4.4.8", "version": "4.4.8",
"resolved": "", "resolved": false,
"integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6936,14 +6929,14 @@
}, },
"util-deprecate": { "util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "", "resolved": false,
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"wide-align": { "wide-align": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "", "resolved": false,
"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -6953,14 +6946,14 @@
}, },
"wrappy": { "wrappy": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "", "resolved": false,
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"yallist": { "yallist": {
"version": "3.0.3", "version": "3.0.3",
"resolved": "", "resolved": false,
"integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
"dev": true, "dev": true,
"optional": true "optional": true

@ -46,7 +46,7 @@
"@ionic-native/launch-navigator": "^5.17.0", "@ionic-native/launch-navigator": "^5.17.0",
"@ionic-native/local-notifications": "^5.17.0", "@ionic-native/local-notifications": "^5.17.0",
"@ionic-native/native-storage": "^5.17.0", "@ionic-native/native-storage": "^5.17.0",
"@ionic-native/onesignal": "^5.17.0", "@ionic-native/onesignal": "^5.19.0",
"@ionic-native/open-native-settings": "^5.14.0", "@ionic-native/open-native-settings": "^5.14.0",
"@ionic-native/push": "^5.17.0", "@ionic-native/push": "^5.17.0",
"@ionic-native/splash-screen": "^5.0.0", "@ionic-native/splash-screen": "^5.0.0",

@ -121,7 +121,7 @@ export class HomeComponent implements OnInit {
this.absService.getAbsenceList(request).subscribe( this.absService.getAbsenceList(request).subscribe(
(result: any) => { (result: any) => {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
if (this.common.hasData(result.GetWorkList)) { if (this.common.hasData(result.GetAbsenceTransactionList)) {
this.P_PAGE_NUM++; this.P_PAGE_NUM++;
result.GetAbsenceTransactionList.forEach(vr => { result.GetAbsenceTransactionList.forEach(vr => {
if (vr.ROW_NUM == vr.NO_OF_ROWS) { if (vr.ROW_NUM == vr.NO_OF_ROWS) {

@ -52,6 +52,7 @@
<div class="" style="text-align:center"> <div class="" style="text-align:center">
<img src="{{companyUrl}}" class="CompanyImg logoImg"> <img src="{{companyUrl}}" class="CompanyImg logoImg">
<p class="companyTxt">{{CompanyImageDescription}}</p>
</div> </div>
<div class="menuFooter"> <div class="menuFooter">
<div> <img src="../assets/imgs/CS.png" class="CompanyImg"></div> <div> <img src="../assets/imgs/CS.png" class="CompanyImg"></div>

@ -14,23 +14,21 @@
<ion-grid> <ion-grid>
<ion-item> <ion-item>
<img class="item-icon" src="assets/imgs/password.png" item-start /> <img class="item-icon" src="assets/imgs/password.png" item-start />
<ion-label>{{'changePassword,currentPassword' | translate}}</ion-label> <!-- <ion-label>{{'changePassword,currentPassword' | translate}}</ion-label> -->
<ion-input required type="password" <ion-input required type="password" placeholder="{{ts.trPK('changePassword','currentPassword')}}"[(ngModel)]="P_OLD_PASSWORD"></ion-input>
[(ngModel)]="P_OLD_PASSWORD">
</ion-input>
</ion-item> </ion-item>
<ion-item> <ion-item>
<img class="item-icon" src="assets/imgs/password.png" item-start /> <img class="item-icon" src="assets/imgs/password.png" item-start />
<ion-label>{{'changePassword,newPassword' | translate}}</ion-label> <!-- <ion-label>{{'changePassword,newPassword' | translate}}</ion-label> -->
<ion-input required type="password" <ion-input required type="password" placeholder="{{ts.trPK('changePassword','newPassword')}}"
[(ngModel)]="P_NEW_PASSWORD"> [(ngModel)]="P_NEW_PASSWORD">
</ion-input> </ion-input>
</ion-item> </ion-item>
<ion-item> <ion-item>
<img class="item-icon" src="assets/imgs/password.png" item-start /> <img class="item-icon" src="assets/imgs/password.png" item-start />
<ion-label>{{'changePassword,confirmPassword' | translate}}</ion-label> <!-- <ion-label>{{'changePassword,confirmPassword' | translate}}</ion-label> -->
<ion-input required type="password" <ion-input required type="password" placeholder="{{ts.trPK('changePassword','confirmPassword')}}"
[(ngModel)]="P_Confirm_NEW_PASSWORD"> [(ngModel)]="P_Confirm_NEW_PASSWORD">
</ion-input> </ion-input>
</ion-item> </ion-item>

@ -711,6 +711,7 @@ export class ConfirmLoginComponent implements OnInit {
AuthenticationService.servicePrivilage=result.Privilege_List; AuthenticationService.servicePrivilage=result.Privilege_List;
this.authService.setAuthenticatedUser(result).subscribe(() => { this.authService.setAuthenticatedUser(result).subscribe(() => {
console.log("insert");
if (this.platform.is("cordova")) { if (this.platform.is("cordova")) {

@ -98,7 +98,8 @@ import {Camera,CameraOptions, PictureSourceType} from '@ionic-native/Camera/ngx'
import {File} from '@ionic-native/file/ngx'; import {File} from '@ionic-native/file/ngx';
import {FileUploderProfileComponent} from './ui/file-uploder-profile/file-uploder-profile.component' import {FileUploderProfileComponent} from './ui/file-uploder-profile/file-uploder-profile.component'
import { OpenNativeSettings } from '@ionic-native/open-native-settings/ngx'; import { OpenNativeSettings } from '@ionic-native/open-native-settings/ngx';
import { AccordinCustomComponent } from './ui/accordin-custom/accordin-custom.component';
import { AccordinTabCustomComponent} from './ui/accordin-custom/accordin-tab-custom/accordin-tab-custom.component'
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
@ -162,7 +163,9 @@ import { OpenNativeSettings } from '@ionic-native/open-native-settings/ngx';
ReplacementListComponent, ReplacementListComponent,
FileSelectDirective, FileSelectDirective,
WorkListAttachViewComponent, WorkListAttachViewComponent,
FileUploderProfileComponent FileUploderProfileComponent,
AccordinTabCustomComponent,
AccordinCustomComponent
], ],
exports: [ exports: [
NumberRangeComponent, NumberRangeComponent,
@ -213,7 +216,9 @@ import { OpenNativeSettings } from '@ionic-native/open-native-settings/ngx';
ReplacementListComponent, ReplacementListComponent,
FileSelectDirective, FileSelectDirective,
WorkListAttachViewComponent, WorkListAttachViewComponent,
FileUploderProfileComponent FileUploderProfileComponent,
AccordinTabCustomComponent,
AccordinCustomComponent
], ],
providers: [ providers: [
ConnectorService, ConnectorService,

@ -125,7 +125,7 @@ export class AuthenticationService {
} }
public setPublicFields(request: Request): Request { public setPublicFields(request: Request): Request {
request.VersionID = 1.5;//2.0,1.4 request.VersionID = 2.0;//2.0,1.4
request.Channel = 31; request.Channel = 31;
request.LanguageID = TranslatorService.getCurrentLanguageCode(); request.LanguageID = TranslatorService.getCurrentLanguageCode();
//request.IPAdress = '10.10.10.10'; //request.IPAdress = '10.10.10.10';

@ -408,6 +408,50 @@ export class CommonService {
// this.alerts.push(alert); // this.alerts.push(alert);
await alert.present(); await alert.present();
} }
async confirmAlertDialogAction(
onAccept: any,
acceptLabel: string,
onCancel: any,
cancelLabel: string,
title: string,
message: string
) {
this.clearAllAlerts();
const alert = await this.alertControllerIonic.create({
header: this.ts.trPK("general", "confirm"),
message: message,
buttons: [
{
text: cancelLabel,
role: "cancel",
cssClass: "cancelBtn",
handler: () => {
if (onCancel) {
onCancel();
}
this.alertControllerIonic.dismiss();
}
},
{
text: acceptLabel,
role: "Confirm",
cssClass: "confirmBtn",
handler: () => {
if (onAccept) {
onAccept();
}
this.alertControllerIonic.dismiss();
}
}
]
});
// this.alerts.push(alert);
await alert.present();
}
public clearAllAlerts() { public clearAllAlerts() {
// custom solutions because of async issue // custom solutions because of async issue
@ -984,6 +1028,9 @@ export class CommonService {
public openWorklistMainPRPage() { public openWorklistMainPRPage() {
this.nav.navigateForward(["/notification/worklist-main-PR"]); this.nav.navigateForward(["/notification/worklist-main-PR"]);
} }
public openWorklistMainPOPage() {
this.nav.navigateForward(["/notification/worklist-main-PO"]);
}
public openWorklistReplacementRollPage() { public openWorklistReplacementRollPage() {
this.nav.navigateForward(["/notification/work-list-replacement-roll"]); this.nav.navigateForward(["/notification/work-list-replacement-roll"]);
} }
@ -1002,6 +1049,15 @@ export class CommonService {
public openWorklistRollReplacement() { public openWorklistRollReplacement() {
this.nav.navigateForward(["/notification/work-list-replacement-roll"]); this.nav.navigateForward(["/notification/work-list-replacement-roll"]);
} }
public openItemHistoryPage() {
this.nav.navigateForward(["/notification/item-history-PO"]);
}
public openQutationAnalysisPage() {
this.nav.navigateForward(["/notification/qutation-analysis-PO"]);
}
public openWorklistMainMRPage() {
this.nav.navigateForward(["/notification/worklist-main-MR"]);
}
public openMySpecialistPage() { public openMySpecialistPage() {
this.nav.navigateForward(["/my-specialist/home"]); this.nav.navigateForward(["/my-specialist/home"]);
} }

@ -24,9 +24,9 @@ export class ConnectorService {
public static timeOut = 30 * 1000; public static timeOut = 30 * 1000;
// public static host = 'http://10.50.100.113:6060/'; // development service // public static host = 'http://10.50.100.113:6060/'; // development service
//public static host = "https://uat.hmgwebservices.com/"; public static host = "https://uat.hmgwebservices.com/";
public static host = 'https://hmgwebservices.com/'; //public static host = 'https://hmgwebservices.com/';
//public static host = 'http://10.50.100.198:6060/'; // public static host = 'http://10.50.100.198:6060/';
// public static host = 'http://10.50.100.113:6060/'; // development service // public static host = 'http://10.50.100.113:6060/'; // development service
/* public static host = 'http://10.50.100.198:6060/'; /* public static host = 'http://10.50.100.198:6060/';
public static host = 'http://10.50.100.198:6060/'; // development service public static host = 'http://10.50.100.198:6060/'; // development service

@ -11,9 +11,9 @@
<img class="menuImg" src="../assets/imgs/home/burgerMenu.png"/> <img class="menuImg" src="../assets/imgs/home/burgerMenu.png"/>
<ion-badge id="homeBadgeBtn" slot="end" color="danger">{{notBadge}}</ion-badge> <ion-badge id="homeBadgeBtn" slot="end" color="danger">{{notBadge}}</ion-badge>
</button> </button>
<!-- <button ion-button icon-only menuToggle class="menubuttonTrans" (click)="openMenu()"> <button ion-button icon-only menuToggle class="menubuttonTrans" (click)="openMenu()">
<img class="transImg" src="../assets/imgs/home/arabicSwitch.png"/> <img class="transImg" src="../assets/imgs/home/arabicSwitch.png"/>
</button> --> </button>
<div class="centerDiv homeBox" (click)="openPersonalInfo()"> <div class="centerDiv homeBox" (click)="openPersonalInfo()">
<p class="TxtPlace">{{ts.trPK('home','hello')}}, {{userData.EMPLOYEE_DISPLAY_NAME}}</p> <p class="TxtPlace">{{ts.trPK('home','hello')}}, {{userData.EMPLOYEE_DISPLAY_NAME}}</p>
<div class="profileDiv"> <div class="profileDiv">
@ -24,11 +24,10 @@
</div> </div>
<!-- <div class="changeImgBtn"> <div class="changeImgBtn">
<button ion-button icon-only menuToggle class="menubutton" (click)="changeImage()"> <button ion-button icon-only menuToggle class="menubutton" (click)="changeImage()">
<ion-icon class="changeIcon" name="camera"></ion-icon></button> <ion-icon class="changeIcon" name="camera"></ion-icon></button>
</div> -->
<!-- <app-file-uploder-profile > <!-- <app-file-uploder-profile >
</app-file-uploder-profile> </app-file-uploder-profile>
@ -36,6 +35,7 @@
<!-- <file-uploader (fileSelected)="attachmentSelected($event)" [maxFileSize]="maxFileSize" [multiupload]="false"></file-uploader> --> <!-- <file-uploader (fileSelected)="attachmentSelected($event)" [maxFileSize]="maxFileSize" [multiupload]="false"></file-uploader> -->
</div>
</div> </div>
<div> <div>
@ -77,7 +77,7 @@
</button> </button>
</ion-col> </ion-col>
<!-- <ion-col size="6" class="col-grid"> <ion-col size="6" class="col-grid">
<button ion-button block class="serviceItem" (click)="openPayslip()"> <button ion-button block class="serviceItem" (click)="openPayslip()">
<ion-img class="serviceItemImg" src="../assets/imgs/home/paySlip.png"></ion-img> <ion-img class="serviceItemImg" src="../assets/imgs/home/paySlip.png"></ion-img>
<p>{{ts.trPK('login','payslip')}}</p> <p>{{ts.trPK('login','payslip')}}</p>
@ -95,7 +95,7 @@
<ion-img class="serviceItemImg" src="../assets/imgs/home/timeAttendance.png"></ion-img> <ion-img class="serviceItemImg" src="../assets/imgs/home/timeAttendance.png"></ion-img>
<p>{{ts.trPK('home','timeAndAttendance')}}</p> <p>{{ts.trPK('home','timeAndAttendance')}}</p>
</button> </button>
</ion-col> --> </ion-col>
<!-- <ion-col size="6" class="col-grid"> <!-- <ion-col size="6" class="col-grid">
<button ion-button block class="serviceItem" (click)="openPayslip()"> <button ion-button block class="serviceItem" (click)="openPayslip()">

@ -103,7 +103,7 @@ export class HomeComponent implements OnInit {
if (this.cs.validResponse(result)) { if (this.cs.validResponse(result)) {
if (this.cs.hasData(result.GetEmployeeSubordinatesList)) { if (this.cs.hasData(result.GetEmployeeSubordinatesList)) {
this.empSubordinate = result.GetEmployeeSubordinatesList; this.empSubordinate = result.GetEmployeeSubordinatesList;
this.pageNum++; this.infiniteRequest.P_PAGE_NUM= this.pageNum++;
let lastItemIndex = this.empSubordinate.length - 1; let lastItemIndex = this.empSubordinate.length - 1;
if (result.GetEmployeeSubordinatesList[lastItemIndex]) { if (result.GetEmployeeSubordinatesList[lastItemIndex]) {
let lastitem = result.GetEmployeeSubordinatesList[lastItemIndex]; let lastitem = result.GetEmployeeSubordinatesList[lastItemIndex];
@ -121,12 +121,14 @@ export class HomeComponent implements OnInit {
doInfinite(infiniteScroll) { doInfinite(infiniteScroll) {
if (!this.IsReachEnd && this.infiniteRequest) { if (!this.IsReachEnd && this.infiniteRequest) {
this.infiniteRequest.P_PAGE_NUM = this.pageNum; // this.infiniteRequest.P_PAGE_NUM = this.pageNum;
this.myTeamService.getEmployeeSubordinates(this.infiniteRequest). this.myTeamService.getEmployeeSubordinates(this.infiniteRequest).
subscribe((result: any) => { subscribe((result: any) => {
if (this.cs.validResponse(result)) { if (this.cs.validResponse(result)) {
this.pageNum++; // this.pageNum++;
if (this.cs.hasData(result.GetWorkList)) { this.infiniteRequest.P_PAGE_NUM= this.pageNum++;
if (this.cs.hasData(result.GetEmployeeSubordinatesList)) {
result.GetEmployeeSubordinatesList.forEach(vr => { result.GetEmployeeSubordinatesList.forEach(vr => {
if (vr.ROW_NUM == vr.NO_OF_ROWS) { if (vr.ROW_NUM == vr.NO_OF_ROWS) {
this.IsReachEnd = true; this.IsReachEnd = true;

@ -168,7 +168,8 @@ export class DetailsComponent implements OnInit {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
if (this.common.hasData(result.GetEmployeeSubordinatesList)) { if (this.common.hasData(result.GetEmployeeSubordinatesList)) {
this.empSubordinate = result.GetEmployeeSubordinatesList; this.empSubordinate = result.GetEmployeeSubordinatesList;
this.pageNum++; // this.pageNum++;
this.infiniteRequest.P_PAGE_NUM= this.pageNum++;
let lastItemIndex = this.empSubordinate.length - 1; let lastItemIndex = this.empSubordinate.length - 1;
if (result.GetEmployeeSubordinatesList[lastItemIndex]) { if (result.GetEmployeeSubordinatesList[lastItemIndex]) {
let lastitem = result.GetEmployeeSubordinatesList[lastItemIndex]; let lastitem = result.GetEmployeeSubordinatesList[lastItemIndex];
@ -185,14 +186,15 @@ export class DetailsComponent implements OnInit {
} }
doInfinite(infiniteScroll) { doInfinite(infiniteScroll) {
if (!this.IsReachEnd && this.infiniteRequest) { if (!this.IsReachEnd && this.infiniteRequest) {
this.infiniteRequest.P_PAGE_NUM = this.pageNum; // this.infiniteRequest.P_PAGE_NUM = this.pageNum;
this.myTeamService this.myTeamService
.getEmployeeSubordinates(this.infiniteRequest) .getEmployeeSubordinates(this.infiniteRequest)
.subscribe( .subscribe(
(result: any) => { (result: any) => {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
this.pageNum++; this.infiniteRequest.P_PAGE_NUM= this.pageNum++;
if (this.common.hasData(result.GetWorkList)) {
if (this.common.hasData(result.GetEmployeeSubordinatesList)) {
result.GetEmployeeSubordinatesList.forEach(vr => { result.GetEmployeeSubordinatesList.forEach(vr => {
if (vr.ROW_NUM == vr.NO_OF_ROWS) { if (vr.ROW_NUM == vr.NO_OF_ROWS) {
this.IsReachEnd = true; this.IsReachEnd = true;

@ -45,7 +45,7 @@
<ion-input [(ngModel)]="searchKey" placeholder="{{ts.trPK('general','enter')}}"></ion-input> <ion-input [(ngModel)]="searchKey" placeholder="{{ts.trPK('general','enter')}}"></ion-input>
</ion-item> </ion-item>
</ion-list> </ion-list>
<div> <!-- <div> -->
<ion-list no-lines *ngIf="empSubordinate && empSubordinate.length>0"> <ion-list no-lines *ngIf="empSubordinate && empSubordinate.length>0">
<ion-item no-border *ngFor="let subordinate of empSubordinate;let i=index" (click)="getDetails(i);"> <ion-item no-border *ngFor="let subordinate of empSubordinate;let i=index" (click)="getDetails(i);">
<ion-avatar slot="start"> <ion-avatar slot="start">
@ -57,10 +57,17 @@
<ion-badge slot="end" class="badge">{{subordinate.NUM_OF_SUBORDINATES}}</ion-badge> <ion-badge slot="end" class="badge">{{subordinate.NUM_OF_SUBORDINATES}}</ion-badge>
</ion-item> </ion-item>
</ion-list> </ion-list>
<!-- </div> -->
<!-- <ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content></ion-infinite-scroll-content>
</ion-infinite-scroll> -->
<ion-infinite-scroll (ionInfinite)="doInfinite($event)"> <ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content></ion-infinite-scroll-content> <ion-infinite-scroll-content></ion-infinite-scroll-content>
</ion-infinite-scroll> </ion-infinite-scroll>
</div>
</ion-content> </ion-content>
<ion-footer *ngIf="isSearch"> <ion-footer *ngIf="isSearch">
<div class="centerDiv"> <div class="centerDiv">

@ -1,11 +1,11 @@
import { Component, OnInit } from "@angular/core"; import { Component, OnInit, ViewChild } from "@angular/core";
import { Location } from "@angular/common"; import { Location } from "@angular/common";
import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service";
import { CommonService } from "src/app/hmg-common/services/common/common.service"; import { CommonService } from "src/app/hmg-common/services/common/common.service";
import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service"; import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service";
import { MenuResponse } from "src/app/hmg-common/services/menu/models/menu-response"; import { MenuResponse } from "src/app/hmg-common/services/menu/models/menu-response";
import { MyTeamService } from "../service/my-team.service"; import { MyTeamService } from "../service/my-team.service";
import { ModalController } from "@ionic/angular"; import { ModalController, IonInfiniteScroll } from "@ionic/angular";
import { DetailsComponent } from '../details/details.component'; import { DetailsComponent } from '../details/details.component';
@Component({ @Component({
selector: "app-home", selector: "app-home",
@ -13,6 +13,8 @@ import { DetailsComponent } from '../details/details.component';
styleUrls: ["./home.component.scss"] styleUrls: ["./home.component.scss"]
}) })
export class HomeComponent implements OnInit { export class HomeComponent implements OnInit {
@ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;
pageNum: number = 1; pageNum: number = 1;
pageLimit: number = 50; pageLimit: number = 50;
empSubordinate: any; empSubordinate: any;
@ -54,6 +56,7 @@ export class HomeComponent implements OnInit {
if (!this.isSearch) this.getEmpSubordinate(); if (!this.isSearch) this.getEmpSubordinate();
} }
getEmpSubordinate() { getEmpSubordinate() {
console.log("getEmpSubordinate my team home");
this.pageNum = 1; this.pageNum = 1;
this.IsReachEnd = false; this.IsReachEnd = false;
let searchEmpNum = ""; let searchEmpNum = "";
@ -115,8 +118,9 @@ export class HomeComponent implements OnInit {
handleEmpResult(result) { handleEmpResult(result) {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
if (this.common.hasData(result.GetEmployeeSubordinatesList)) { if (this.common.hasData(result.GetEmployeeSubordinatesList)) {
this.empSubordinate = result.GetEmployeeSubordinatesList; this.empSubordinate = result.GetEmployeeSubordinatesList;
this.pageNum++; this.infiniteRequest.P_PAGE_NUM++;
const lastItemIndex = this.empSubordinate.length - 1; const lastItemIndex = this.empSubordinate.length - 1;
if (result.GetEmployeeSubordinatesList[lastItemIndex]) { if (result.GetEmployeeSubordinatesList[lastItemIndex]) {
const lastitem = result.GetEmployeeSubordinatesList[lastItemIndex]; const lastitem = result.GetEmployeeSubordinatesList[lastItemIndex];
@ -131,8 +135,18 @@ export class HomeComponent implements OnInit {
} }
} }
} }
doInfinite(infiniteScroll) {
doInfinite1(infiniteScroll) {
console.log("test");
if (!this.IsReachEnd && this.infiniteRequest) { if (!this.IsReachEnd && this.infiniteRequest) {
console.log("not ReachEnd");
this.infiniteRequest.P_PAGE_NUM = this.pageNum; this.infiniteRequest.P_PAGE_NUM = this.pageNum;
this.myTeamService this.myTeamService
.getEmployeeSubordinates(this.infiniteRequest) .getEmployeeSubordinates(this.infiniteRequest)
@ -140,7 +154,7 @@ export class HomeComponent implements OnInit {
(result: any) => { (result: any) => {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
this.pageNum++; this.pageNum++;
if (this.common.hasData(result.GetWorkList)) { if (this.common.hasData(result.GetEmployeeSubordinatesList)) {
result.GetEmployeeSubordinatesList.forEach(vr => { result.GetEmployeeSubordinatesList.forEach(vr => {
if (vr.ROW_NUM == vr.NO_OF_ROWS) { if (vr.ROW_NUM == vr.NO_OF_ROWS) {
this.IsReachEnd = true; this.IsReachEnd = true;
@ -169,6 +183,47 @@ export class HomeComponent implements OnInit {
} }
} }
} }
doInfinite(infiniteScroll) {
//this.pageNum= this.pageNum + 1;
console.log("test doInfinite");
if (!this.IsReachEnd) {
console.log("test doInfinite not ReachEnd");
this.myTeamService
.getEmployeeSubordinates(this.infiniteRequest).subscribe(
(result: any) => {
if (this.common.validResponse(result)) {
this.infiniteRequest.P_PAGE_NUM++;
if (this.common.hasData(result.GetEmployeeSubordinatesList)) {
result.GetEmployeeSubordinatesList.forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.empSubordinate.push(element);
});
} // if list length >0
else {
this.IsReachEnd = true;
}
} // if response == 1
//this.pageNum++;
this.infiniteScroll.complete();
}
);
} else {
if (this.infiniteScroll)
this.infiniteScroll.complete();
}
} //end infiniteScroll
getDetails(index) { getDetails(index) {
this.common.sharedService.setSharedData( this.common.sharedService.setSharedData(
this.empSubordinate[index], this.empSubordinate[index],

@ -1,14 +1,14 @@
<ion-header > <ion-header>
<ion-toolbar class="header-toolbar"> <ion-toolbar class="header-toolbar">
<ion-title color="light"> {{ts.trPK('home','worklist')}}</ion-title> <ion-title color="light"> {{ts.trPK('home','worklist')}}</ion-title>
<ion-buttons slot="start"> <ion-buttons slot="start">
<nav-buttons backLink="/home"></nav-buttons> <nav-buttons backLink="/home"></nav-buttons>
</ion-buttons> </ion-buttons>
</ion-toolbar> </ion-toolbar>
</ion-header> </ion-header>
<ion-content [ngClass]=" direction == 'ltr' ? 'left' : 'right'"> <ion-content [ngClass]=" direction == 'ltr' ? 'left' : 'right'">
<!-- first select type view --> <!-- first select type view -->
<ion-item> <!-- <ion-item>
<ion-label>{{ts.trPK('worklist','view')}}</ion-label> <ion-label>{{ts.trPK('worklist','view')}}</ion-label>
<ion-select okText="{{ts.trPK('general','ok')}}" cancelText="{{ts.trPK('general','cancel')}}" [(ngModel)]="notificationType" <ion-select okText="{{ts.trPK('general','ok')}}" cancelText="{{ts.trPK('general','cancel')}}" [(ngModel)]="notificationType"
(ionChange)=onChangeView($event)> (ionChange)=onChangeView($event)>
@ -32,32 +32,67 @@
<ion-select-option value="5">{{ts.trPK('worklist','none')}}</ion-select-option> <ion-select-option value="5">{{ts.trPK('worklist','none')}}</ion-select-option>
</ion-select> </ion-select>
</ion-item> -->
<ion-grid>
<ion-row>
<ion-col size='3' class="ion-no-padding , menuListCol">
<ion-list class="menuList">
<ion-item class="menuListItem" lines="none">
<ion-button class="menuListBtn" (click)="AllNotification()">
<img *ngIf="!isAll" src="../assets/imgs/menuTabs/All1.png" />
<img *ngIf="isAll" src="../assets/imgs/menuTabs/All2.png" />
</ion-button>
</ion-item>
<ion-item class="menuListItem" lines="none">
<!-- <ion-item lines="none" class="activeTabMenu"*ngIf="isPR"></ion-item> -->
<!-- <ion-button class="menuListBtn" (click)="PRNotification()"><p style="color: black;">PR</p></ion-button> -->
<ion-button ion-button class="menuListBtn" (click)="PRNotification()">
<img *ngIf="!isPR" src="../assets/imgs/menuTabs/PR1.png" />
<img *ngIf="isPR" src="../assets/imgs/menuTabs/PR2.png" />
</ion-button>
</ion-item> </ion-item>
<ion-item class="menuListItem" lines="none">
<ion-button class="menuListBtn" (click)="PONotification()">
<img *ngIf="!isPO" src="../assets/imgs/menuTabs/PO1.png" />
<img *ngIf="isPO" src="../assets/imgs/menuTabs/PO2.png" />
</ion-button>
</ion-item>
<ion-item class="menuListItem" lines="none">
<div *ngIf="HideDateInput==true"> <ion-button class="menuListBtn" (click)="MRNotification()">
<ion-item> <img *ngIf="!isMR" src="../assets/imgs/menuTabs/MR1.png" />
<ion-label>{{ts.trPK('worklist','sent')}} </ion-label> <img *ngIf="isMR" src="../assets/imgs/menuTabs/MR2.png" />
<ion-datetime placeholder="{{ts.trPK('worklist','enter')}}" displayFormat="DD-MMM-YYYY" pickerFormat="DD-MMM-YYYY" </ion-button>
[(ngModel)]="InputDate"></ion-datetime>
</ion-item> </ion-item>
</div> <ion-item class="menuListItem" lines="none">
<div *ngIf="HideTextInput==true">
<ion-item> <ion-button class="menuListBtn" (click)="HRNotification()">
<ion-input placeholder="{{ts.trPK('worklist','enter')}}" [(ngModel)]="inputSearch"> <img *ngIf="!isHR" src="../assets/imgs/menuTabs/HR1.png" />
</ion-input> <img *ngIf="isHR" src="../assets/imgs/menuTabs/HR2.png" />
</ion-button>
</ion-item> </ion-item>
</div> <ion-item class="menuListItem" lines="none">
<ion-button class="menuListBtn" (click)="ITGNotification()">
<img *ngIf="!isITG" src="../assets/imgs/menuTabs/ITG1.png" />
<img *ngIf="isITG" src="../assets/imgs/menuTabs/ITG2.png" />
</ion-button>
</ion-item>
</ion-list>
</ion-col>
<ion-col size='9' class="notifincationList">
<ion-list class="notification-list "> <ion-list class="notification-list" *ngIf="!noData">
<div class="timeline"> <div class="timelineMain">
<ion-item *ngFor="let notificationList of WorkListResObj"> <ion-item class="itemListNotification" *ngFor="let notificationList of filteredNotificationList"
lines='none'>
<div class="timeline-item" slot="start"> <div class="item-date"> {{notificationList.BEGIN_DATE | dateString }} </div>
<div class="timelineMain-item" slot="start">
<!-- <div class="item-date"> {{notificationList.BEGIN_DATE }} </div> --> <!-- <div class="item-date"> {{notificationList.BEGIN_DATE }} </div> -->
<div class="item-date"> {{notificationList.BEGIN_DATE | dateString }} </div> <div class="timelineMain-thumb bg-color-dot timelineMain-icon">
<div class="timeline-thumb bg-color-dot timeline-icon">
</div> </div>
</div> </div>
@ -65,9 +100,54 @@
</ion-label> </ion-label>
</ion-item> </ion-item>
</div>
</ion-list>
<ion-list class="emptyItem" *ngIf="noData">
<ion-item class="itemListNotification" lines='none'>
<ion-label> There is no Notification
</ion-label>
</ion-item>
</ion-list>
<!-- <ion-list class="notification-list " *ngIf="isPR">
<div class="timeline">
<p>PR</p>
</div>
</ion-list>
<ion-list class="notification-list " *ngIf="isPO">
<div class="timeline">
<p>PO</p>
</div>
</ion-list>
<ion-list class="notification-list " *ngIf="isMR">
<div class="timeline">
<p>MR</p>
</div>
</ion-list>
<ion-list class="notification-list " *ngIf="isHR">
<div class="timeline">
<p>HR</p>
</div> </div>
</ion-list> </ion-list>
<ion-list class="notification-list " *ngIf="isITG">
<div class="timeline">
<p>ITG</p>
</div>
</ion-list> -->
</ion-col>
</ion-row>
</ion-grid>
<!-- *ngIf="rowsNo <= noOfrows" --> <!-- *ngIf="rowsNo <= noOfrows" -->
<ion-infinite-scroll (ionInfinite)="doInfinite($event)"> <ion-infinite-scroll (ionInfinite)="doInfinite($event)">
@ -75,11 +155,73 @@
</ion-infinite-scroll> </ion-infinite-scroll>
</ion-content> </ion-content>
<ion-footer> <ion-footer class="footerSearchBtn" *ngIf="!isSearch">
<div class="centerDiv"> <ion-button color="customnavy" expand="full" fill="outline" (click)="searchBtn()">{{ts.trPK('worklist','search')}}
</ion-button>
</ion-footer>
<ion-footer class="footerSearchBtn" *ngIf="isSearch">
<ion-grid>
<ion-row>
<!-- <ion-col size='3'> </ion-col> -->
<ion-col>
<div class="viewAndSearch">
<ion-item lines="none">
<ion-label>{{ts.trPK('worklist','view')}}</ion-label>
<ion-select okText="{{ts.trPK('general','ok')}}" cancelText="{{ts.trPK('general','cancel')}}"
[(ngModel)]="notificationType" (ionChange)=onChangeView($event)>
<ion-select-option value="1" selected="true">{{ts.trPK('worklist','openNot')}}</ion-select-option>
<ion-select-option value="2">{{ts.trPK('worklist','fyi')}}</ion-select-option>
<ion-select-option value="3">{{ts.trPK('worklist','toDo')}}</ion-select-option>
<ion-select-option value="4">{{ts.trPK('worklist','all')}}</ion-select-option>
<ion-select-option value="5">{{ts.trPK('worklist','meNot')}} </ion-select-option>
</ion-select>
</ion-item>
</div>
<div class="viewAndSearch">
<ion-item>
<ion-label>{{ts.trPK('worklist','searchby')}}</ion-label>
<ion-select okText="{{ts.trPK('general','ok')}}" cancelText="{{ts.trPK('general','cancel')}}"
[(ngModel)]="searchBy" (ionChange)="getValueSelected($event)">
<ion-select-option value="1">{{ts.trPK('worklist','from')}}</ion-select-option>
<ion-select-option value="2">{{ts.trPK('worklist','subject')}}</ion-select-option>
<ion-select-option value="3">{{ts.trPK('worklist','sent')}}</ion-select-option>
<ion-select-option value="4">{{ts.trPK('worklist','itemType')}}</ion-select-option>
<ion-select-option value="5">{{ts.trPK('worklist','none')}}</ion-select-option>
</ion-select>
</ion-item>
<div>
<div *ngIf="HideDateInput==true">
<ion-item lines='none'>
<ion-label>{{ts.trPK('worklist','sent')}} </ion-label>
<ion-datetime placeholder="{{ts.trPK('worklist','enter')}}" displayFormat="DD-MMM-YYYY"
pickerFormat="DD-MMM-YYYY" [(ngModel)]="InputDate"></ion-datetime>
</ion-item>
</div>
<div *ngIf="HideTextInput==true">
<ion-item>
<ion-input placeholder="{{ts.trPK('worklist','enter')}}" [(ngModel)]="inputSearch">
</ion-input>
</ion-item>
</div>
</div>
<div>
<ion-button class="toSearchBtn" color="customnavy" expand="full" fill="outline"
(click)="getAllPushNotificationFun()">
{{ts.trPK('worklist','search')}}</ion-button>
<ion-button class="toSearchBtn" color="customnavy" expand="full" fill="outline" (click)="searchBtn()">
{{ts.trPK('general','close')}}</ion-button>
</div>
<ion-button color="customnavy" (click)="getAllPushNotificationFun()">{{ts.trPK('worklist','search')}}</ion-button> <ion-button color="customnavy" (click)="Details()">Call details ITG</ion-button>
<ion-button color="customnavy" (click)="Count()">Call count ITG</ion-button>
<!--
<ion-button color="customnavy" (click)="getAllPushNotificationFun()">{{ts.trPK('worklist','search')}}</ion-button> -->
</div> </div>
</ion-col>
</ion-row>
</ion-grid>
</ion-footer> </ion-footer>

@ -16,25 +16,26 @@
right: 8px; right: 8px;
} }
.timeline { .timelineMain {
position: relative; position: relative;
margin: 15px 0 0 0; margin: 15px 0 0 0;
} }
.timeline:before { .timelineMain:before {
content: ''; content: '';
position: absolute; position: absolute;
top: 0; top: 0;
bottom: 0; bottom: 0;
width: 4px; width: 1.5%;
height: 99%;
background: #e4e4e4; background: #e4e4e4;
z-index: 1; z-index: 1;
/* margin-left: -10px; */ /* margin-left: -10px; */
/* z-index: 1; */ /* z-index: 1; */
} }
.timeline .timeline-thumb { .timelineMain .timelineMain-thumb {
border-radius: 500px; border-radius: 500px;
width: 50px; width: 50px;
@ -51,7 +52,7 @@
top: 0px; top: 0px;
} }
.timeline .timeline-thumb.timeline-icon { .timelineMain .timelineMain-thumb.timelineMain-icon {
height: 50px; height: 50px;
// text-align: center; // text-align: center;
// color: white; // color: white;
@ -61,12 +62,12 @@
.timeline .timeline-item { .timelineMain .timelineMain-item {
width: 50px; width: 50px;
} }
.timeline .timeline-stats { .timelineMain .timelineMain-stats {
position: relative; position: relative;
font-size: 12px; font-size: 12px;
color: var(--darkgray); color: var(--darkgray);
@ -95,28 +96,30 @@
} }
.notification-list{ .notification-list{
background: none;
ion-item{ ion-item{
// margin-top: 5px; // margin-top: 5px;
// margin-bottom: 5px; // margin-bottom: 5px;
background-color: transparent; background-color: transparent;
.item-date{ .item-date{
width: 55px; width: 100%;
font-size: 14px; font-size: 16px;
font-weight: bold; font-weight: bold;
text-align: center; text-align: start;
padding: 0; padding: 0;
margin: 0; margin: 0;
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 12%;
} }
ion-label , [item-end]{ ion-label , [item-end]{
white-space: normal; white-space: normal;
font-size: 14px; font-size: 14px;
padding-top: 15%;
// :root[dir="ltr"]{ // :root[dir="ltr"]{
// margin-left: 10px; // margin-left: 10px;
// } // }
@ -135,25 +138,82 @@ ion-input ,ion-datetime{
border-bottom: #dedede 1px solid; border-bottom: #dedede 1px solid;
} }
.left { .left {
.timeline:before{ --background: #f0efef;
left: 62px; .timelineMain:before{
left: 21px;
} }
.notification-list ion-item{ .notification-list ion-item{
padding-left: 3px; padding-left: 3px;
margin-left: -12%;
} }
.timeline-thumb{ .timelineMain-thumb{
left: 37px; left: 9%;
top: 30%;
} }
} }
.right { .right {
.timeline:before{ --background: #f0efef;
.timelineMain:before{
right: 62px; right: 62px;
} }
.notification-list ion-item{ .notification-list ion-item{
padding-right: 3px; padding-right: 3px;
} }
.timeline-thumb{ .timelineMain-thumb{
right: 37px; right: 37px;
} }
} }
.menuList{
margin-left: -40px;
height: 160%;
padding-top: 370%;
}
.colorBG{
--background: #f0efef;
}
.menuListCol{
padding-left: 50px;
margin-left: -33px;
}
.menuListItem{
padding-top: 9%;
margin: -20%;
padding-left: 13%;
}
.menuListBtn{
width: 100%;
background: white;
--background: white;
}
.activeTabMenu{
--background: #ff726f;
}
.notifincationList{
margin-left: 5%;
margin-top: 6%;
}
.itemListNotification{
padding-bottom: 18px;
}
.footerSearchBtn{
padding: 0px !important;
background: #f0efef !important;
}
.viewAndSearch{
margin-bottom: 13px;
}
.toSearchBtn{
margin-top: 4%;
}
.emptyItem{
white-space: normal;
padding-left: 10%;
}

@ -171,6 +171,13 @@ export class HomeComponent implements OnInit {
if(obj.REQUEST_TYPE == "PR"){ if(obj.REQUEST_TYPE == "PR"){
this.common.openWorklistMainPRPage(); this.common.openWorklistMainPRPage();
} }
else if(obj.REQUEST_TYPE == "PO"){
this.common.openWorklistMainPOPage();
}
else if(obj.REQUEST_TYPE == "MO"){
this.common.openWorklistMainMRPage();
}
else{ else{
this.common.openWorklistMainPage(); this.common.openWorklistMainPage();

@ -37,8 +37,8 @@
<!-- <label for="">{{ts.trPK('worklistMain','description')}} <!-- <label for="">{{ts.trPK('worklistMain','description')}}
</label> --> </label> -->
<!-- </ion-col> <!-- </ion-col>
<ion-col> --> <ion-col> {{itemHistory.OU_NAME}}-->
<label for="">{{i+1}}. {{itemHistory.OU_NAME}} </label> <label for="">{{i+1}}. </label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>

@ -63,6 +63,7 @@ export class ItemHistoryComponent implements OnInit {
if (this.cs.hasData(result.GetPoItemHistoryList)) { if (this.cs.hasData(result.GetPoItemHistoryList)) {
this.itemHistoryRes = result.GetPoItemHistoryList; this.itemHistoryRes = result.GetPoItemHistoryList;
this.P_PAGE_NUM++; this.P_PAGE_NUM++;
this.POItemHistoryReq.P_PAGE_NUM = this.P_PAGE_NUM;
let lastItemIndex = this.itemHistoryRes.length - 1; let lastItemIndex = this.itemHistoryRes.length - 1;
if (result.GetPoItemHistoryList[lastItemIndex]) { if (result.GetPoItemHistoryList[lastItemIndex]) {
let lastitem = result.GetPoItemHistoryList[lastItemIndex]; let lastitem = result.GetPoItemHistoryList[lastItemIndex];
@ -84,7 +85,7 @@ export class ItemHistoryComponent implements OnInit {
subscribe((result: any) => { subscribe((result: any) => {
if (this.cs.validResponse(result)) { if (this.cs.validResponse(result)) {
if (result.GetPoItemHistoryList != undefined) { if (result.GetPoItemHistoryList != undefined) {
this.P_PAGE_NUM++; this.POItemHistoryReq.P_PAGE_NUM=this.P_PAGE_NUM++;
(result.GetPoItemHistoryList).forEach(element => { (result.GetPoItemHistoryList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) { if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true; this.IsReachEnd = true;

@ -21,6 +21,10 @@ import { WorkListDetailsComponent } from './work-list-details/work-list-details.
import { WorklistAttachService } from '../absence/service/work-list-attach.service'; import { WorklistAttachService } from '../absence/service/work-list-attach.service';
import { WorklistMainPRComponent } from './worklist-main-pr/worklist-main-pr.component'; import { WorklistMainPRComponent } from './worklist-main-pr/worklist-main-pr.component';
import { ApplyActionModalComponent } from './apply-action-modal/apply-action-modal.component'; import { ApplyActionModalComponent } from './apply-action-modal/apply-action-modal.component';
import { WorklistMainPoComponent } from './worklist-main-po/worklist-main-po.component';
import { ItemHistoryComponent } from './item-history/item-history.component';
import { QutationAnalysisComponent } from './qutation-analysis/qutation-analysis.component';
import { WorklistMainMRComponent } from './worklist-main-mr/worklist-main-mr.component';
// import { WorklistMainComponent } from './worklist-main/worklist-main.component'; // import { WorklistMainComponent } from './worklist-main/worklist-main.component';
@ -78,6 +82,22 @@ const routes: Routes = [
{ {
path:'apply-action-modal', path:'apply-action-modal',
component:ApplyActionModalComponent component:ApplyActionModalComponent
},
{
path:'worklist-main-PO',
component:WorklistMainPoComponent
},
{
path:'item-history-PO',
component:ItemHistoryComponent
},
{
path:'qutation-analysis-PO',
component:QutationAnalysisComponent
},
{
path:'worklist-main-MR',
component:WorklistMainMRComponent
} }
] ]
} }
@ -104,7 +124,11 @@ const routes: Routes = [
WorkListActionHistoryComponent, WorkListActionHistoryComponent,
WorkListAttachComponent, WorkListAttachComponent,
WorkListDetailsComponent, WorkListDetailsComponent,
WorklistMainPRComponent WorklistMainPRComponent,
WorklistMainPoComponent,
ItemHistoryComponent,
QutationAnalysisComponent,
WorklistMainMRComponent
// WorklistMainComponent // WorklistMainComponent
], ],
providers:[WorklistService,WorklistMainService, WorklistAttachService] providers:[WorklistService,WorklistMainService, WorklistAttachService]

@ -19,20 +19,21 @@ import { QuotationAnalysisResponse } from '../models/quotationAnalysisRes';
export class QutationAnalysisComponent implements OnInit { export class QutationAnalysisComponent implements OnInit {
IsReachEnd: boolean = false; IsReachEnd: boolean = false;
P_PAGE_NUM: number = 1; P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 50; P_PAGE_LIMIT: number = 100;
POQuotationHISReq: QuotationAnalysisRequest; POQuotationHISReq: QuotationAnalysisRequest;
getPassPOItemID: any; getPassPOItemID: any;
getPassPOHeaderID: any; getPassPOHeaderID: any;
getPassItemHistoreyList: any; getPassItemHistoreyList: any;
getQutationAnalysis:any; getQutationAnalysis:any;
doInfiniteReq: any;
constructor(public worklistMainService: WorklistMainService, constructor(public worklistMainService: WorklistMainService,
private cs: CommonService, private cs: CommonService,
private ts: TranslatorService, private ts: TranslatorService,
private modalCtrl: ModalController, private modalCtrl: ModalController,
public worklistService: WorklistService) { public worklistService: WorklistService) {
this.getPassPOItemID = this.cs.sharedService.getSharedData('passPOInfo'); this.getPassPOItemID = this.cs.sharedService.getSharedData('passPOInfo',false);
this.getPassPOHeaderID = this.cs.sharedService.getSharedData('passPOHeader'); this.getPassPOHeaderID = this.cs.sharedService.getSharedData('passPOHeader',false);
this.getPassItemHistoreyList = this.cs.sharedService.getSharedData('passItemHisList'); this.getPassItemHistoreyList = this.cs.sharedService.getSharedData('passItemHisList',false);
//itemHistoryRes //itemHistoryRes
console.log("getPassPOItemID: "+this.getPassPOItemID); console.log("getPassPOItemID: "+this.getPassPOItemID);
console.log("getPassPOItemID: "+this.getPassPOHeaderID); console.log("getPassPOItemID: "+this.getPassPOHeaderID);
@ -59,8 +60,9 @@ console.log("getPassPOItemID: "+this.getPassPOHeaderID);
const request = new QuotationAnalysisRequest(); const request = new QuotationAnalysisRequest();
request.P_ITEM_ID=parseInt(itemID); request.P_ITEM_ID=parseInt(itemID);
request.P_PO_HEADER_ID=headerID; request.P_PO_HEADER_ID=headerID;
request.P_PAGE_LIMIT=50; request.P_PAGE_LIMIT=1;
request.P_PAGE_NUM=1; request.P_PAGE_NUM=50;
this.doInfiniteReq=request;
this.worklistMainService.getQutationAnalysis(request). this.worklistMainService.getQutationAnalysis(request).
subscribe((result: QuotationAnalysisResponse) => { subscribe((result: QuotationAnalysisResponse) => {
this.handleQutationAnalysisResult(result); this.handleQutationAnalysisResult(result);
@ -75,7 +77,7 @@ console.log("getPassPOItemID: "+this.getPassPOHeaderID);
//set sheard data //set sheard data
// //
this.getQutationAnalysis = result.GetQuotationAnalysisList; this.getQutationAnalysis = result.GetQuotationAnalysisList;
this.P_PAGE_NUM++; this.doInfiniteReq.P_PAGE_NUM++;
let lastItemIndex = this.getQutationAnalysis.length - 1; let lastItemIndex = this.getQutationAnalysis.length - 1;
if (result.GetQuotationAnalysisList[lastItemIndex]) { if (result.GetQuotationAnalysisList[lastItemIndex]) {
let lastitem = result.GetQuotationAnalysisList[lastItemIndex]; let lastitem = result.GetQuotationAnalysisList[lastItemIndex];
@ -92,14 +94,14 @@ console.log("getPassPOItemID: "+this.getPassPOHeaderID);
doInfinite(infiniteScroll) { doInfinite(infiniteScroll) {
console.log("hello");
if (!this.IsReachEnd) { if (!this.IsReachEnd) {
this.getQutationAnalysis.P_PAGE_NUM = this.P_PAGE_NUM; // this.getQutationAnalysis.P_PAGE_NUM = this.P_PAGE_NUM;
this.worklistService.getActionHistory(this.getQutationAnalysis). this.worklistMainService.getQutationAnalysis(this.doInfiniteReq).
subscribe((result: any) => { subscribe((result: any) => {
if (this.cs.validResponse(result)) { if (this.cs.validResponse(result)) {
if (result.GetQuotationAnalysisList != undefined) { if (result.GetQuotationAnalysisList != undefined) {
this.P_PAGE_NUM++; this.P_PAGE_NUM++;
this.doInfiniteReq.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetQuotationAnalysisList).forEach(element => { (result.GetQuotationAnalysisList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) { if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true; this.IsReachEnd = true;

@ -137,6 +137,8 @@ export class WorklistMainService {
): Observable<POItemHistoryRes> { ): Observable<POItemHistoryRes> {
const request = POItemHistoryReq; const request = POItemHistoryReq;
this.authService.authenticateRequest(request); this.authService.authenticateRequest(request);
// this.authService.setPublicFields(request);
return this.api.post( return this.api.post(
WorklistMainService.getPOItemHistory, WorklistMainService.getPOItemHistory,
request, request,

@ -19,7 +19,7 @@ export class WorkListActionHistoryComponent implements OnInit {
actionHistoryRes: any; actionHistoryRes: any;
IsReachEnd: boolean = false; IsReachEnd: boolean = false;
P_PAGE_NUM: number = 1; P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 50; P_PAGE_LIMIT: number = 100;
constructor(private cs: CommonService, private ts: TranslatorService, private modalCtrl: ModalController, public worklistService: WorklistService) { constructor(private cs: CommonService, private ts: TranslatorService, private modalCtrl: ModalController, public worklistService: WorklistService) {
this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo'); this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo');
@ -46,7 +46,8 @@ export class WorkListActionHistoryComponent implements OnInit {
if (this.cs.validResponse(result)) { if (this.cs.validResponse(result)) {
if (this.cs.hasData(result.GetActionHistoryList)) { if (this.cs.hasData(result.GetActionHistoryList)) {
this.actionHistoryRes = result.GetActionHistoryList; this.actionHistoryRes = result.GetActionHistoryList;
this.P_PAGE_NUM++; // this.P_PAGE_NUM++;
this.WorkListActionHistoryObj.P_PAGE_NUM++;
let lastItemIndex = this.actionHistoryRes.length - 1; let lastItemIndex = this.actionHistoryRes.length - 1;
if (result.GetActionHistoryList[lastItemIndex]) { if (result.GetActionHistoryList[lastItemIndex]) {
let lastitem = result.GetActionHistoryList[lastItemIndex]; let lastitem = result.GetActionHistoryList[lastItemIndex];
@ -75,12 +76,14 @@ export class WorkListActionHistoryComponent implements OnInit {
doInfinite(infiniteScroll) { doInfinite(infiniteScroll) {
if (!this.IsReachEnd) { if (!this.IsReachEnd) {
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; // this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
this.worklistService.getActionHistory(this.WorkListActionHistoryObj). this.worklistService.getActionHistory(this.WorkListActionHistoryObj).
subscribe((result: any) => { subscribe((result: any) => {
if (this.cs.validResponse(result)) { if (this.cs.validResponse(result)) {
if (result.GetActionHistoryList != undefined) { if (result.GetActionHistoryList != undefined) {
this.P_PAGE_NUM++; this.P_PAGE_NUM++;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetActionHistoryList).forEach(element => { (result.GetActionHistoryList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) { if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true; this.IsReachEnd = true;

@ -28,7 +28,7 @@ export class WorkListRfcComponent implements OnInit {
userNote: any; userNote: any;
getpassResAttr: any = []; getpassResAttr: any = [];
P_PAGE_NUM: number = 1; P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 50; P_PAGE_LIMIT: number = 100;
constructor(public worklistService: WorklistService, private cs: CommonService, private ts: TranslatorService, public workListMainService: WorklistMainService) { constructor(public worklistService: WorklistService, private cs: CommonService, private ts: TranslatorService, public workListMainService: WorklistMainService) {
this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo'); this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo');

@ -6,7 +6,7 @@
</ion-buttons> </ion-buttons>
</ion-toolbar> </ion-toolbar>
<ion-toolbar> <ion-toolbar class="slideToolBar">
<ion-segment class="segmentPR" scrollable> <ion-segment class="segmentPR" scrollable>
<ion-segment-button value="0" checked> <ion-segment-button value="0" checked>
<!-- <ion-icon name="call">arrowRight</ion-icon> --> <!-- <ion-icon name="call">arrowRight</ion-icon> -->
@ -34,10 +34,8 @@
<ion-content class="colorBG"> <ion-content class="colorBG">
<ion-slides pager="true" class="slides-gray-bullets"> <ion-slides pager="true" class="slides-gray-bullets">
<ion-slide class="slide-1"> <ion-slide class="slide-1">
<div *ngIf="pInformation && pInformation != '' " class="tipsPadding">{{pInformation}}</div> <div *ngIf="pInformation && pInformation != '' " class="tipsPadding">{{pInformation}}</div>
<ion-card class="cardContent"> <ion-card class="cardContent">
@ -168,6 +166,7 @@
</ion-grid> </ion-grid>
<button ion-button [hidden]="IsReachEnd" class="itemHISBtn" (click)="loadMoreNotificationBody()">Load More</button>
</ion-card-content> </ion-card-content>
@ -188,11 +187,12 @@
{{notificationButtons.BUTTON_LABEL}}</ion-select-option> {{notificationButtons.BUTTON_LABEL}}</ion-select-option>
</ion-select> </ion-select>
</ion-item> --> </ion-item> -->
</ion-card-content> </ion-card-content>
</ion-card> </ion-card>
</ion-slide> </ion-slide>
<ion-slide> <ion-slide>
<!-- <ion-card class="cardContent"> <!-- <ion-card class="cardContent">
<ion-card-header class="boxHdr"> <ion-card-header class="boxHdr">
@ -208,7 +208,7 @@
<div> <div>
<ion-grid class="gridItemReq"> <ion-grid class="gridItemReq">
<ion-item class="itemReqContent" *ngFor="let notificationList of notificationBodyRes; let i=index; " > <ion-item class="itemReqContent" *ngFor="let notificationList of notificationBodyRes; let i=index; ">
<div class="itemReqDiv"> <div class="itemReqDiv">
@ -409,8 +409,15 @@
</ion-list> </ion-list>
<!-- </ion-card-content> <!-- </ion-card-content>
</ion-card> --> </ion-card> -->
<!-- <ion-infinite-scroll (ionInfinite)="doInfiniteNotificationBody($event)">
<ion-infinite-scroll-content></ion-infinite-scroll-content>
</ion-infinite-scroll> -->
</ion-slide> </ion-slide>
<ion-slide> <ion-slide>
<ion-card class="cardContent"> <ion-card class="cardContent">
<ion-card-content> <ion-card-content>
@ -440,7 +447,6 @@
<!-- [ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' ,'statusGreanColor' :appointmentsArrive.Status != 1 && appointmentsArrive.Status != 2, 'statusRedColor' :appointmentsArrive.Status === 2}" --> <!-- [ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' ,'statusGreanColor' :appointmentsArrive.Status != 1 && appointmentsArrive.Status != 2, 'statusRedColor' :appointmentsArrive.Status === 2}" -->
<div <div
[ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' || actionHistory.ACTION === 'Submit' ,'bg-orange-dot' : actionHistory.ACTION === 'Pending' ,'bg-red-dot' : actionHistory.ACTION === 'Rejected','bg-green-dot' : actionHistory.ACTION != 'Pending' && actionHistory.ACTION != 'Rejected' && actionHistory.ACTION != 'Submitted' && actionHistory.ACTION != 'Submit'}" [ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' || actionHistory.ACTION === 'Submit' ,'bg-orange-dot' : actionHistory.ACTION === 'Pending' ,'bg-red-dot' : actionHistory.ACTION === 'Rejected','bg-green-dot' : actionHistory.ACTION != 'Pending' && actionHistory.ACTION != 'Rejected' && actionHistory.ACTION != 'Submitted' && actionHistory.ACTION != 'Submit'}"
class="timeline-thumb timeline-icon"> class="timeline-thumb timeline-icon">
</div> </div>
@ -458,10 +464,13 @@
</div> </div>
</ion-list> </ion-list>
</div> </div>
<button ion-button [hidden]="IsReachEnd" class="itemHISBtn" (click)="loadMoreActionHistory()">Load More</button>
</ion-card-content> </ion-card-content>
</ion-card> </ion-card>
</ion-slide> </ion-slide>
<ion-slide> <ion-slide>
<ion-card class="cardContent"> <ion-card class="cardContent">
<ion-card-content> <ion-card-content>
@ -513,13 +522,22 @@
</div> </div>
</ion-card-content> </ion-card-content>
</ion-card> </ion-card>
</ion-slide>
</ion-slide>
</ion-slides> </ion-slides>
<!-- <div id="notificationDynamicFields"> <!-- <div id="notificationDynamicFields">
</div> --> </div> -->
</ion-content> </ion-content>
<ion-footer class="footerSearchBtn"> <ion-footer class="footerSearchBtn">

@ -0,0 +1,8 @@
.itemHISBtn{
padding: 5px;
color: var(--light);
background: var(--darkgray);
border-radius: 3px;
width: 85%;
height: 40px;
}

@ -74,7 +74,7 @@ export class WorklistMainMRComponent implements OnInit {
PRLines:any;//change the tpye later PRLines:any;//change the tpye later
IsReachEnd: boolean = false; IsReachEnd: boolean = false;
P_PAGE_NUM: number = 1; P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 50; P_PAGE_LIMIT: number = 100;
headerTotal: any; headerTotal: any;
totalH: any; totalH: any;
valueH: any; valueH: any;
@ -378,13 +378,13 @@ export class WorklistMainMRComponent implements OnInit {
} }
// //this.common.confirmAlertDialogAction( this.common.confirmAlertDialogAction(
// () => { () => {
// this.applyAction(this.WorkListActionObj); this.applyAction(this.WorkListActionObj);
// }, this.ts.trPK('general', 'ok'), }, this.ts.trPK('general', 'ok'),
// () => {}, this.ts.trPK('general', 'cancel'), () => {}, this.ts.trPK('general', 'cancel'),
// this.ts.trPK('vacation-rule', 'confirmation'), this.ts.trPK('vacation-rule', 'confirmation'),
// this.confirmMsg); this.confirmMsg);
@ -665,6 +665,7 @@ export class WorklistMainMRComponent implements OnInit {
if (this.common.hasData(result.GetActionHistoryList)) { if (this.common.hasData(result.GetActionHistoryList)) {
this.actionHistoryRes = result.GetActionHistoryList; this.actionHistoryRes = result.GetActionHistoryList;
this.P_PAGE_NUM++; this.P_PAGE_NUM++;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
let lastItemIndex = this.actionHistoryRes.length - 1; let lastItemIndex = this.actionHistoryRes.length - 1;
if (result.GetActionHistoryList[lastItemIndex]) { if (result.GetActionHistoryList[lastItemIndex]) {
let lastitem = result.GetActionHistoryList[lastItemIndex]; let lastitem = result.GetActionHistoryList[lastItemIndex];
@ -697,13 +698,16 @@ export class WorklistMainMRComponent implements OnInit {
} }
doInfinite(infiniteScroll) { doInfinite(infiniteScroll) {
console.log("doInfinite action history MR");
if (!this.IsReachEnd) { if (!this.IsReachEnd) {
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
this.worklistService.getActionHistory(this.WorkListActionHistoryObj). this.worklistService.getActionHistory(this.WorkListActionHistoryObj).
subscribe((result: any) => { subscribe((result: any) => {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
if (result.GetActionHistoryList != undefined) { if (result.GetActionHistoryList != undefined) {
this.P_PAGE_NUM++; this.P_PAGE_NUM++;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetActionHistoryList).forEach(element => { (result.GetActionHistoryList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) { if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true; this.IsReachEnd = true;
@ -776,4 +780,117 @@ export class WorklistMainMRComponent implements OnInit {
} }
doInfiniteNotificationBody(infiniteScroll) {
console.log("doInfiniteNotificationBody MR");
if (!this.IsReachEnd) {
this.worklistMainService.getMONotificationBody(this.WorkListActionHistoryObj).
subscribe((result: any) => {
if (this.common.validResponse(result)) {
if (result.GetMoNotificationBodyList != undefined) {
this.P_PAGE_NUM++;
this.WorkListBodyObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetMoNotificationBodyList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.notificationBodyRes.push(element);
}, (Error) => console.log(Error), () => infiniteScroll.target.complete());
}// if list length >0
else {
this.IsReachEnd = true;
}
}// if response == 1
//this.pageNum++;
infiniteScroll.target.complete();
});
} else {
if (infiniteScroll)
infiniteScroll.target.complete();
}
}//end infiniteScroll
loadMoreNotificationBody() {
console.log("loadMoreNotificationBody MR");
if (!this.IsReachEnd) {
console.log("this.IsReachEnd"+ this.IsReachEnd);
this.worklistMainService.getMONotificationBody(this.WorkListBodyObj).
subscribe((result: any) => {
if (this.common.validResponse(result)) {
if (result.GetMoNotificationBodyList != undefined) {
this.P_PAGE_NUM++;
this.WorkListBodyObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetMoNotificationBodyList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.notificationBodyRes.push(element);
}, (Error) => console.log(Error), () =>
//infiniteScroll.target.complete()
console.log("test")
);
}// if list length >0
else {
this.IsReachEnd = true;
}
}// if response == 1
//this.pageNum++;
// infiniteScroll.target.complete();
});
} else {
// if (infiniteScroll)
// infiniteScroll.target.complete();
}
}//end infiniteScroll
loadMoreActionHistory() {
console.log("doInfinite action history MR");
if (!this.IsReachEnd) {
this.worklistService.getActionHistory(this.WorkListActionHistoryObj).
subscribe((result: any) => {
if (this.common.validResponse(result)) {
if (result.GetActionHistoryList != undefined) {
this.P_PAGE_NUM++;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetActionHistoryList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.actionHistoryRes.push(element);
}, (Error) => console.log(Error), () =>
//infiniteScroll.target.complete()
console.log("TEST"));
}// if list length >0
else {
this.IsReachEnd = true;
}
}// if response == 1
//this.pageNum++;
// infiniteScroll.target.complete();
});
} else {
//if (infiniteScroll)
//infiniteScroll.target.complete();
}
}//end infiniteScroll
} }

@ -6,13 +6,13 @@
</ion-buttons> </ion-buttons>
</ion-toolbar> </ion-toolbar>
<ion-toolbar> <ion-toolbar class="slideToolBar">
<ion-segment class="segmentPR" scrollable> <ion-segment class="segmentPR" scrollable>
<ion-segment-button value="0" checked> <ion-segment-button value="0" checked>
<ion-label> {{ts.trPK('worklistMain','info')}}</ion-label> <ion-label> {{ts.trPK('worklistMain','info')}}</ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="1"> <ion-segment-button value="1">
<ion-label> {{ts.trPK('worklistMain','itemReq')}}</ion-label> <ion-label> {{ts.trPK('worklistMain','line_details')}}</ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="2"> <ion-segment-button value="2">
<ion-label> <ion-label>
@ -165,7 +165,8 @@
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col>
<label class="colItemReq" for="">{{ts.trPK('worklistMain','ShipToLocation')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','ShipToLocation')}}
</label>
<br /> <br />
<label for="">{{header.SHIP_TO_LOCATION_NAME}} </label> <label for="">{{header.SHIP_TO_LOCATION_NAME}} </label>
@ -173,7 +174,8 @@
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col>
<label class="colItemReq" for="">{{ts.trPK('worklistMain','QuotationNumber')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','QuotationNumber')}}
</label>
<br /> <br />
<label for="">{{header.QUOTATION_NUMBER}} </label> <label for="">{{header.QUOTATION_NUMBER}} </label>
@ -181,7 +183,8 @@
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col>
<label class="colItemReq" for="">{{ts.trPK('worklistMain','QuotationDate')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','QuotationDate')}}
</label>
<br /> <br />
<label for="">{{header.QUOTATION_DATE}} </label> <label for="">{{header.QUOTATION_DATE}} </label>
@ -213,7 +216,8 @@
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col>
<label class="colItemReq" for="">{{ts.trPK('worklistMain','DiscountAmount')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','DiscountAmount')}}
</label>
<br /> <br />
<label for="">{{header.DISCOUNT_AMOUNT}} </label> <label for="">{{header.DISCOUNT_AMOUNT}} </label>
@ -221,7 +225,8 @@
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col>
<label class="colItemReq" for="">{{ts.trPK('worklistMain','TotalPODiscount')}}</label> <label class="colItemReq"
for="">{{ts.trPK('worklistMain','TotalPODiscount')}}</label>
<br /> <br />
<label for="">{{header.TOTAL_PO_DISCOUNT}} </label> <label for="">{{header.TOTAL_PO_DISCOUNT}} </label>
@ -273,7 +278,8 @@
<ion-row> <ion-row>
<ion-col> <ion-col>
<label class="colItemReq" for="">{{ts.trPK('worklistMain','TotalPOAmountWithVAT')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','TotalPOAmountWithVAT')}}
</label>
<br /> <br />
<label for="">{{header.TOT_PO_AMT}} </label> <label for="">{{header.TOT_PO_AMT}} </label>
@ -282,7 +288,8 @@
<ion-row> <ion-row>
<ion-col> <ion-col>
<label class="colItemReq" for="">{{ts.trPK('worklistMain','TotalPOAmountInWords')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','TotalPOAmountInWords')}}
</label>
<br /> <br />
<label for="">{{header.TOT_PO_AMT_WORD}} </label> <label for="">{{header.TOT_PO_AMT_WORD}} </label>
@ -323,6 +330,9 @@
</ion-grid> </ion-grid>
<!-- -->
<button ion-button [hidden]="IsReachEnd" class="itemHISBtn" (click)="loadMoreNotificationBody()">Load More</button>
</ion-card-content> </ion-card-content>
@ -349,11 +359,11 @@
</div> </div>
<ion-list class="itemReqList" *ngIf="POLines && POLines.length > 0 "> <ion-list class="itemReqList" *ngIf="POLines && POLines.length > 0 ">
<div > <div>
<ion-grid class="gridItemReq"> <ion-grid class="gridItemReq">
<ion-item class="itemReqContent" *ngFor="let Lines of POLines; let i=index;" > <ion-item class="itemReqContent" *ngFor="let Lines of POLines; let i=index;">
<div class="itemReqDiv"> <div class="itemReqDiv">
@ -382,7 +392,8 @@
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colItems"> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','LINE_TYPE')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','LINE_TYPE')}}
</label>
<br /> <br />
<ion-label class="labelValue" for="">{{Lines.LINE_TYPE}} </ion-label> <ion-label class="labelValue" for="">{{Lines.LINE_TYPE}} </ion-label>
@ -409,7 +420,8 @@
</ion-col> </ion-col>
<ion-col class="colItems"> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','LINE_AMOUNT')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','LINE_AMOUNT')}}
</label>
<br /> <br />
<ion-label class="labelValue" for="">{{Lines.LINE_AMOUNT}} </ion-label> <ion-label class="labelValue" for="">{{Lines.LINE_AMOUNT}} </ion-label>
@ -450,7 +462,8 @@
</ion-col> </ion-col>
<ion-col class="colItems"> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','PROMISED_DATE')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','PROMISED_DATE')}}
</label>
<br /> <br />
<ion-label class="labelValue" for="">{{Lines.PROMISED_DATE}} </ion-label> <ion-label class="labelValue" for="">{{Lines.PROMISED_DATE}} </ion-label>
@ -464,7 +477,8 @@
<ion-row> <ion-row>
<ion-col class="colItems"> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','DELIVER_TO')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','DELIVER_TO')}}
</label>
<br /> <br />
<ion-label class="labelValue" for="">{{Lines.DELIVER_TO_LOCATION}} </ion-label> <ion-label class="labelValue" for="">{{Lines.DELIVER_TO_LOCATION}} </ion-label>
@ -511,7 +525,8 @@
<div style="text-align: center"> <div style="text-align: center">
<button ion-button class="itemHISBtn" (click)="getItemHistory(Lines.ITEM_ID)"> <button ion-button class="itemHISBtn"
(click)="getItemHistory(Lines.ITEM_ID)">
{{ts.trPK('worklistMain','ITEM_HIS')}} {{ts.trPK('worklistMain','ITEM_HIS')}}
<!-- (click)="openNoteDetail(actionHistory.NOTE ,actionHistory.NAME)" <!-- (click)="openNoteDetail(actionHistory.NOTE ,actionHistory.NAME)"
[hidden]="actionHistory.NOTE == '' || actionHistory.NOTE == null" [hidden]="actionHistory.NOTE == '' || actionHistory.NOTE == null"
@ -554,7 +569,9 @@
<!-- </ion-card-content> <!-- </ion-card-content>
</ion-card> --> </ion-card> -->
</ion-slide> </ion-slide>
<ion-slide> <ion-slide>
<ion-card class="cardContent"> <ion-card class="cardContent">
<ion-card-content> <ion-card-content>
@ -580,8 +597,7 @@
</button> </button>
</div> </div>
<div <div [ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' || actionHistory.ACTION === 'Submit' ,'bg-orange-dot' : actionHistory.ACTION === 'Pending' ,'bg-red-dot' : actionHistory.ACTION === 'Rejected','bg-green-dot' : actionHistory.ACTION != 'Pending' && actionHistory.ACTION != 'Rejected' && actionHistory.ACTION != 'Submitted' && actionHistory.ACTION != 'Submit'}"
[ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' || actionHistory.ACTION === 'Submit' ,'bg-orange-dot' : actionHistory.ACTION === 'Pending' ,'bg-red-dot' : actionHistory.ACTION === 'Rejected','bg-green-dot' : actionHistory.ACTION != 'Pending' && actionHistory.ACTION != 'Rejected' && actionHistory.ACTION != 'Submitted' && actionHistory.ACTION != 'Submit'}"
class="timeline-thumb timeline-icon"> class="timeline-thumb timeline-icon">
</div> </div>
</div> </div>
@ -598,10 +614,13 @@
</div> </div>
</ion-list> </ion-list>
</div> </div>
<button ion-button [hidden]="IsReachEnd" class="itemHISBtn" (click)="loadMoreActionHistory()">Load More</button>
</ion-card-content> </ion-card-content>
</ion-card>
</ion-card>
</ion-slide> </ion-slide>
<ion-slide> <ion-slide>
<ion-card class="cardContent"> <ion-card class="cardContent">
<ion-card-content> <ion-card-content>

@ -80,7 +80,7 @@ export class WorklistMainPoComponent implements OnInit {
PRLines:any;//change the tpye later PRLines:any;//change the tpye later
IsReachEnd: boolean = false; IsReachEnd: boolean = false;
P_PAGE_NUM: number = 1; P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 50; P_PAGE_LIMIT: number = 100;
headerTotal: any; headerTotal: any;
totalH: any; totalH: any;
valueH: any; valueH: any;
@ -403,13 +403,13 @@ export class WorklistMainPoComponent implements OnInit {
} }
// this.common.confirmAlertDialogAction( this.common.confirmAlertDialogAction(
// () => { () => {
// this.applyAction(this.WorkListActionObj); this.applyAction(this.WorkListActionObj);
// }, this.ts.trPK('general', 'ok'), }, this.ts.trPK('general', 'ok'),
// () => {}, this.ts.trPK('general', 'cancel'), () => {}, this.ts.trPK('general', 'cancel'),
// this.ts.trPK('vacation-rule', 'confirmation'), this.ts.trPK('vacation-rule', 'confirmation'),
// this.confirmMsg); this.confirmMsg);
@ -690,6 +690,7 @@ export class WorklistMainPoComponent implements OnInit {
if (this.common.hasData(result.GetActionHistoryList)) { if (this.common.hasData(result.GetActionHistoryList)) {
this.actionHistoryRes = result.GetActionHistoryList; this.actionHistoryRes = result.GetActionHistoryList;
this.P_PAGE_NUM++; this.P_PAGE_NUM++;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
let lastItemIndex = this.actionHistoryRes.length - 1; let lastItemIndex = this.actionHistoryRes.length - 1;
if (result.GetActionHistoryList[lastItemIndex]) { if (result.GetActionHistoryList[lastItemIndex]) {
let lastitem = result.GetActionHistoryList[lastItemIndex]; let lastitem = result.GetActionHistoryList[lastItemIndex];
@ -722,13 +723,15 @@ export class WorklistMainPoComponent implements OnInit {
} }
doInfinite(infiniteScroll) { doInfinite(infiniteScroll) {
console.log("doInfinite action history");
if (!this.IsReachEnd) { if (!this.IsReachEnd) {
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
this.worklistService.getActionHistory(this.WorkListActionHistoryObj). this.worklistService.getActionHistory(this.WorkListActionHistoryObj).
subscribe((result: any) => { subscribe((result: any) => {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
if (result.GetActionHistoryList != undefined) { if (result.GetActionHistoryList != undefined) {
this.P_PAGE_NUM++; this.P_PAGE_NUM++;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetActionHistoryList).forEach(element => { (result.GetActionHistoryList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) { if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true; this.IsReachEnd = true;
@ -772,7 +775,7 @@ export class WorklistMainPoComponent implements OnInit {
this.IsReachEnd = false; this.IsReachEnd = false;
const request = new POItemHistoryRequest(); const request = new POItemHistoryRequest();
request.P_ITEM_ID=parseInt(itemID); request.P_ITEM_ID=parseInt(itemID);
request.P_PAGE_LIMIT=50; request.P_PAGE_LIMIT=100;
request.P_PAGE_NUM=1; request.P_PAGE_NUM=1;
this.worklistMainService.getPOItemHistory(request). this.worklistMainService.getPOItemHistory(request).
subscribe((result: POItemHistoryRes) => { subscribe((result: POItemHistoryRes) => {
@ -786,27 +789,23 @@ export class WorklistMainPoComponent implements OnInit {
); );
//open page //open page
// this.common.openItemHistoryPage(); // this.common.openItemHistoryPage();
//this.handleItemHistoryResult(result); this.handleItemHistoryResult(result);
}); });
} }
handleItemHistoryResult(result) { handleItemHistoryResult(result) {
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
if (this.common.hasData(result.GetItemHistoryList)) { if (this.common.hasData(result.GetPoItemHistoryList)) {
this.itemHistoryRes = result.GetItemHistoryList; this.common.openItemHistoryPage();
this.P_PAGE_NUM++;
let lastItemIndex = this.itemHistoryRes.length - 1;
if (result.GetItemHistoryList[lastItemIndex]) {
let lastitem = result.GetItemHistoryList[lastItemIndex];
if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
}
} }
} }
else{
this.common.presentAlert(
this.ts.trPK("general", "empty")
); }
} }
getQutationAnalysis(headerID,itemID) { getQutationAnalysis(headerID,itemID) {
@ -815,7 +814,7 @@ export class WorklistMainPoComponent implements OnInit {
const request = new QuotationAnalysisRequest(); const request = new QuotationAnalysisRequest();
request.P_ITEM_ID=parseInt(itemID); request.P_ITEM_ID=parseInt(itemID);
request.P_PO_HEADER_ID=headerID; request.P_PO_HEADER_ID=headerID;
request.P_PAGE_LIMIT=50; request.P_PAGE_LIMIT=100;
request.P_PAGE_NUM=1; request.P_PAGE_NUM=1;
this.worklistMainService.getQutationAnalysis(request). this.worklistMainService.getQutationAnalysis(request).
subscribe((result: QuotationAnalysisResponse) => { subscribe((result: QuotationAnalysisResponse) => {
@ -842,7 +841,7 @@ export class WorklistMainPoComponent implements OnInit {
//set sheard data //set sheard data
// //
//this.common.openQutationAnalysisPage(); this.common.openQutationAnalysisPage();
// this.QutationAnalysisRes = result.GetQutationAnalysisList; // this.QutationAnalysisRes = result.GetQutationAnalysisList;
@ -858,12 +857,86 @@ export class WorklistMainPoComponent implements OnInit {
// } // }
}//hasData }//hasData
else{ else{
alert("No DATA") this.common.presentAlert(
this.ts.trPK("general", "empty")
); }
} }
}
loadMoreNotificationBody() {
console.log("loadMoreNotificationBody PO");
if (!this.IsReachEnd) {
console.log("this.IsReachEnd"+ this.IsReachEnd);
this.worklistMainService.getPONotificationBody(this.WorkListBodyObj).
subscribe((result: any) => {
if (this.common.validResponse(result)) {
if (result.GetPoNotificationBodyList != undefined) {
this.P_PAGE_NUM++;
this.WorkListBodyObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetPoNotificationBodyList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
} }
this.notificationBodyRes.push(element);
}, (Error) => console.log(Error), () =>
//infiniteScroll.target.complete()
console.log("test")
);
}// if list length >0
else {
this.IsReachEnd = true;
} }
}// if response == 1
//this.pageNum++;
// infiniteScroll.target.complete();
});
} else {
// if (infiniteScroll)
// infiniteScroll.target.complete();
}
}//end infiniteScroll
loadMoreActionHistory() {
console.log("doInfinite action history MR");
if (!this.IsReachEnd) {
this.worklistService.getActionHistory(this.WorkListActionHistoryObj).
subscribe((result: any) => {
if (this.common.validResponse(result)) {
if (result.GetActionHistoryList != undefined) {
this.P_PAGE_NUM++;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetActionHistoryList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.actionHistoryRes.push(element);
}, (Error) => console.log(Error), () =>
//infiniteScroll.target.complete()
console.log("TEST"));
}// if list length >0
else {
this.IsReachEnd = true;
}
}// if response == 1
//this.pageNum++;
// infiniteScroll.target.complete();
});
} else {
//if (infiniteScroll)
//infiniteScroll.target.complete();
}
}//end infiniteScroll
//infinite scrolling
} }

@ -6,7 +6,7 @@
</ion-buttons> </ion-buttons>
</ion-toolbar> </ion-toolbar>
<ion-toolbar> <ion-toolbar class="slideToolBar">
<ion-segment class="segmentPR" scrollable> <ion-segment class="segmentPR" scrollable>
<ion-segment-button value="0" checked> <ion-segment-button value="0" checked>
<!-- <ion-icon name="call">arrowRight</ion-icon> --> <!-- <ion-icon name="call">arrowRight</ion-icon> -->
@ -130,7 +130,8 @@
<div *ngFor="let header of PRHeader"> <div *ngFor="let header of PRHeader">
<ion-row *ngIf="header.HDR_ATTRIBUTE_NAME != 'Requisition Total' && header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'"> <ion-row
*ngIf="header.HDR_ATTRIBUTE_NAME != 'Requisition Total' && header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'">
<!-- *ngIf="header.HDR_ATTRIBUTE_NAME != 'Requisition Total' && header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'"> --> <!-- *ngIf="header.HDR_ATTRIBUTE_NAME != 'Requisition Total' && header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'"> -->
<ion-col> <ion-col>
@ -147,8 +148,8 @@
<ion-grid> <ion-grid>
<div > <div>
<ion-row style="text-align: center !important" > <ion-row style="text-align: center !important">
<ion-col *ngIf="totalH"> <ion-col *ngIf="totalH">
<div class="colItemReq" style="text-align: center !important">{{totalH}}</div> <div class="colItemReq" style="text-align: center !important">{{totalH}}</div>
<div class="labelTotal">{{valueH}}</div> <div class="labelTotal">{{valueH}}</div>
@ -167,6 +168,7 @@
</ion-grid> </ion-grid>
<button [hidden]="IsReachEnd" ion-button class="itemHISBtn" (click)="loadMoreNotificationBody()">Load More</button>
</ion-card-content> </ion-card-content>
@ -193,17 +195,22 @@
</ion-slide> </ion-slide>
<ion-slide> <ion-slide>
<ion-card class="cardContent"> <!-- <ion-card class="cardContent"> -->
<!-- <ion-card-header class="boxHdr"> <!-- <ion-card-header class="boxHdr">
<div class="hrTitle"> {{ts.trPK('worklistMain','info')}} </div> <div class="hrTitle"> {{ts.trPK('worklistMain','info')}} </div>
</ion-card-header> --> </ion-card-header> -->
<ion-card-content> <!-- <ion-card-content> -->
<div [hidden]="PRLines && PRLines.length > 0"> <div [hidden]="PRLines && PRLines.length > 0">
<p>{{ 'general, empty' | translate}}</p> <p>{{ 'general, empty' | translate}}</p>
</div> </div>
<div *ngIf="PRLines && PRLines.length > 0 "> <ion-list class="itemReqList" *ngIf="PRLines && PRLines.length > 0 ">
<ion-grid> <div>
<div *ngFor="let Lines of PRLines; let i=index; " style="text-align: left"> <ion-grid class="gridItemReq">
<ion-item class="itemReqContent" *ngFor="let Lines of PRLines; let i=index; ">
<div class="itemReqDiv">
<ion-row> <ion-row>
<ion-col class="colItemReqHeader"> <ion-col class="colItemReqHeader">
<!-- <label for="">{{ts.trPK('worklistMain','description')}} <!-- <label for="">{{ts.trPK('worklistMain','description')}}
@ -214,76 +221,79 @@
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','cost-center')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','cost-center')}}
</label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
<ion-col> --> <ion-col> -->
<label for="">{{Lines.COST_CENTER}} </label> <ion-label class="labelValue" for="">{{Lines.COST_CENTER}} </ion-label>
</ion-col> </ion-col>
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','code')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','code')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
<ion-col> --> <ion-col> -->
<label for="">{{Lines.ITEM_CODE}} </label> <ion-label class="labelValue" for="">{{Lines.ITEM_CODE}} </ion-label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','unit')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','unit')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
<ion-col> --> <ion-col> -->
<label for="">{{Lines.UOM}} </label> <ion-label class="labelValue" for="">{{Lines.UOM}} </ion-label>
</ion-col> </ion-col>
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','price')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','price')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
<ion-col> --> <ion-col> -->
<label for="">{{Lines.UNIT_PRICE}} </label> <ion-label class="labelValue" for="">{{Lines.UNIT_PRICE}} </ion-label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('payslip','amount')}} </label> <label class="colItemReq" for="">{{ts.trPK('payslip','amount')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
<ion-col> --> <ion-col> -->
<label for="">{{Lines.LINE_AMOUNT}} </label> <ion-label class="labelValue" for="">{{Lines.LINE_AMOUNT}} </ion-label>
</ion-col> </ion-col>
<!-- </ion-row> <!-- </ion-row>
<ion-row> --> <ion-row> -->
<ion-col> <ion-col class="colItems">
<label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity')}} </label> <label class="colItemReq" for="">{{ts.trPK('worklistMain','quantity')}} </label>
<br /> <br />
<!-- </ion-col> <!-- </ion-col>
<ion-col> --> <ion-col> -->
<label for="">{{Lines.QUANTITY}} </label> <ion-label class="labelValue" for="">{{Lines.QUANTITY}} </ion-label>
</ion-col> </ion-col>
</ion-row> </ion-row>
</div> </div>
</ion-item>
</ion-grid> </ion-grid>
</div> </div>
</ion-card-content> </ion-list>
</ion-card> <!-- </ion-card-content> -->
<!-- </ion-card> -->
</ion-slide> </ion-slide>
<ion-slide> <ion-slide>
<ion-card class="cardContent"> <ion-card class="cardContent">
@ -303,7 +313,8 @@
<div> <div>
<button ion-button (click)="openNoteDetail(actionHistory.NOTE ,actionHistory.NAME)" <button ion-button
(click)="openNoteDetail(actionHistory.NOTE ,actionHistory.NAME)"
[hidden]="actionHistory.NOTE == '' || actionHistory.NOTE == null" [hidden]="actionHistory.NOTE == '' || actionHistory.NOTE == null"
style=" background: none;width: 60%;"> style=" background: none;width: 60%;">
@ -314,15 +325,15 @@
</div> </div>
<!-- [ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' ,'statusGreanColor' :appointmentsArrive.Status != 1 && appointmentsArrive.Status != 2, 'statusRedColor' :appointmentsArrive.Status === 2}" --> <!-- [ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' ,'statusGreanColor' :appointmentsArrive.Status != 1 && appointmentsArrive.Status != 2, 'statusRedColor' :appointmentsArrive.Status === 2}" -->
<div <div [ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' || actionHistory.ACTION === 'Submit' ,'bg-orange-dot' : actionHistory.ACTION === 'Pending' ,'bg-red-dot' : actionHistory.ACTION === 'Rejected','bg-green-dot' : actionHistory.ACTION != 'Pending' && actionHistory.ACTION != 'Rejected' && actionHistory.ACTION != 'Submitted' && actionHistory.ACTION != 'Submit'}"
[ngClass]="{'bg-blue-dot' : actionHistory.ACTION === 'Submitted' ,'bg-orange-dot' : actionHistory.ACTION === 'Pending' ,'bg-red-dot' : actionHistory.ACTION === 'Rejected','bg-green-dot' : actionHistory.ACTION != 'Pending' && actionHistory.ACTION != 'Rejected' && actionHistory.ACTION != 'Submitted'}"
class="timeline-thumb timeline-icon"> class="timeline-thumb timeline-icon">
</div> </div>
</div> </div>
<ion-col> <ion-col>
<ion-label [ngClass]="{'bg-blue-txt' : actionHistory.ACTION === 'Submitted' ,'bg-orange-txt' : actionHistory.ACTION === 'Pending' ,'bg-red-txt' : actionHistory.ACTION === 'Rejected','bg-green-txt' : actionHistory.ACTION != 'Pending' && actionHistory.ACTION != 'Rejected' && actionHistory.ACTION != 'Submitted'}" <ion-label
[ngClass]="{'bg-blue-txt' : actionHistory.ACTION === 'Submitted' || actionHistory.ACTION === 'Submit' ,'bg-orange-txt' : actionHistory.ACTION === 'Pending' ,'bg-red-txt' : actionHistory.ACTION === 'Rejected','bg-green-txt' : actionHistory.ACTION != 'Pending' && actionHistory.ACTION != 'Rejected' && actionHistory.ACTION != 'Submitted' && actionHistory.ACTION != 'Submit'}"
class=""> {{actionHistory.ACTION}}</ion-label> class=""> {{actionHistory.ACTION}}</ion-label>
<ion-label > {{actionHistory.NAME}} <ion-label> {{actionHistory.NAME}}
</ion-label> </ion-label>
<ion-label> {{actionHistory.NOTIFICATION_DATE| dateString }} </ion-label> <ion-label> {{actionHistory.NOTIFICATION_DATE| dateString }} </ion-label>
@ -331,6 +342,9 @@
</div> </div>
</ion-list> </ion-list>
</div> </div>
<button ion-button [hidden]="IsReachEnd" class="itemHISBtn" (click)="loadMoreActionHistory()">Load More</button>
</ion-card-content> </ion-card-content>
</ion-card> </ion-card>
@ -353,13 +367,20 @@
<div *ngFor="let attachList of attachmentRes"> <div *ngFor="let attachList of attachmentRes">
<ion-row (click)="OpenAttachFiles(attachList.FILE_DATA,attachList.FILE_CONTENT_TYPE)"> <ion-row (click)="OpenAttachFiles(attachList.FILE_DATA,attachList.FILE_CONTENT_TYPE)">
<ion-col col-12> <ion-col col-12>
<div *ngIf="attachList.FILE_CONTENT_TYPE === 'pdf' || attachList.FILE_CONTENT_TYPE === 'PDF'"> <img float-start class="attachImg" src="../assets/imgs/pdf.png"> <div
*ngIf="attachList.FILE_CONTENT_TYPE === 'pdf' || attachList.FILE_CONTENT_TYPE === 'PDF'">
<img float-start class="attachImg" src="../assets/imgs/pdf.png">
</div> </div>
<div *ngIf="attachList.FILE_CONTENT_TYPE === 'txt'"> <img float-start class="attachImg" src="../assets/imgs/doc.png"> <div *ngIf="attachList.FILE_CONTENT_TYPE === 'txt'"> <img float-start
class="attachImg" src="../assets/imgs/doc.png">
</div> </div>
<div *ngIf="attachList.FILE_CONTENT_TYPE != 'txt' && attachList.FILE_CONTENT_TYPE != 'PDF' && attachList.FILE_CONTENT_TYPE != 'pdf' && attachList.FILE_CONTENT_TYPE != 'png' && attachList.FILE_CONTENT_TYPE != 'jpeg' && attachList.FILE_CONTENT_TYPE != 'jpg' && attachList.FILE_CONTENT_TYPE != 'PNG' && attachList.FILE_CONTENT_TYPE != 'JPEG' && attachList.FILE_CONTENT_TYPE != 'JPG'"> <img float-start class="attachImg" src="../assets/imgs/nonfile.png"> <div
*ngIf="attachList.FILE_CONTENT_TYPE != 'txt' && attachList.FILE_CONTENT_TYPE != 'PDF' && attachList.FILE_CONTENT_TYPE != 'pdf' && attachList.FILE_CONTENT_TYPE != 'png' && attachList.FILE_CONTENT_TYPE != 'jpeg' && attachList.FILE_CONTENT_TYPE != 'jpg' && attachList.FILE_CONTENT_TYPE != 'PNG' && attachList.FILE_CONTENT_TYPE != 'JPEG' && attachList.FILE_CONTENT_TYPE != 'JPG'">
<img float-start class="attachImg" src="../assets/imgs/nonfile.png">
</div> </div>
<div *ngIf="attachList.FILE_CONTENT_TYPE === 'png' || attachList.FILE_CONTENT_TYPE === 'jpeg' || attachList.FILE_CONTENT_TYPE === 'jpg'|| attachList.FILE_CONTENT_TYPE === 'PNG' || attachList.FILE_CONTENT_TYPE === 'JPEG'|| attachList.FILE_CONTENT_TYPE === 'JPG'"> <img float-start class="attachImg" src="../assets/imgs/img.png"> <div
*ngIf="attachList.FILE_CONTENT_TYPE === 'png' || attachList.FILE_CONTENT_TYPE === 'jpeg' || attachList.FILE_CONTENT_TYPE === 'jpg'|| attachList.FILE_CONTENT_TYPE === 'PNG' || attachList.FILE_CONTENT_TYPE === 'JPEG'|| attachList.FILE_CONTENT_TYPE === 'JPG'">
<img float-start class="attachImg" src="../assets/imgs/img.png">
</div> </div>
<ion-label> <ion-label>
{{attachList.SEQ_NUM }}. {{attachList.FILE_NAME}} </ion-label> {{attachList.SEQ_NUM }}. {{attachList.FILE_NAME}} </ion-label>
@ -391,14 +412,14 @@
<ion-footer class="footerSearchBtn"> <ion-footer class="footerSearchBtn">
<ion-row> <ion-row>
<ion-col col-12> <ion-col col-12>
<div id="notificationDynamicFields"> <div id="notificationDynamicFields">
</div> </div>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<!-- <div class="centerDiv"> --> <!-- <div class="centerDiv"> -->
<ion-col col-2> <ion-col col-2>
</ion-col> </ion-col>
@ -408,8 +429,8 @@
<ion-item *ngIf="notificationButtonRes?.length >0" class="requiredItem actionList"> <ion-item *ngIf="notificationButtonRes?.length >0" class="requiredItem actionList">
<ion-label class="boldTxtNav">{{'actionHis, action' | translate}} </ion-label> <ion-label class="boldTxtNav">{{'actionHis, action' | translate}} </ion-label>
<ion-select (ionChange)="actionButton()" okText="{{ts.trPK('general','ok')}}" cancelText="{{ts.trPK('general','cancel')}}" <ion-select (ionChange)="actionButton()" okText="{{ts.trPK('general','ok')}}"
[(ngModel)]="actionType" required> cancelText="{{ts.trPK('general','cancel')}}" [(ngModel)]="actionType" required>
<ion-select-option value="{{notificationButtons.BUTTON_ACTION}}" <ion-select-option value="{{notificationButtons.BUTTON_ACTION}}"
*ngFor="let notificationButtons of notificationButtonRes; let i=index;"> *ngFor="let notificationButtons of notificationButtonRes; let i=index;">
{{notificationButtons.BUTTON_LABEL}}</ion-select-option> {{notificationButtons.BUTTON_LABEL}}</ion-select-option>
@ -419,25 +440,17 @@
</ion-col> </ion-col>
<!-- </div> --> <!-- </div> -->
<ion-col col-2> <ion-col col-2 style="bottom: -8px">
<ion-button class="skipbutton" (click)="nextNotfification()"> <ion-button class="skipbutton" (click)="nextNotfification()">
{{'worklistMain, skip' | translate}} {{'worklistMain, skip' | translate}}
<img style="width:20px" src="../assets/imgs/arrowRight.png"> <img class="arrowIcon" src="../assets/imgs/arrowRight.png">
</ion-button> </ion-button>
</ion-col> </ion-col>
</ion-row> </ion-row>
<!-- <div class="centerDiv">
<ion-button color="customnavy" class="gridBtn" (click)="actionButton()"> {{ts.trPK('general','submit')}}
</ion-button>
</div> -->
<!-- <div class="centerDiv">
<ion-button color="customnavy" class="gridBtn" (click)="nextNotfification()">
{{'worklistMain, skip' | translate}}
</ion-button>
</div> -->

@ -1,306 +1,8 @@
.colorBG{ .itemHISBtn{
--background: #f0efef; padding: 5px;
} color: var(--light);
.footerSearchBtn{ background: var(--darkgray);
padding: 0px !important; border-radius: 3px;
background: #f0efef !important; width: 85%;
}
.actionList{
// position: fixed;
// bottom: 0px;
width: 215px;
border-top-left-radius: 7px;
border-top-right-radius: 7px
}
.cardContent{
width:100%;
margin-top: 33px
}
.colItemReq{
color: var(--dark);
font-weight: bold;
font-size: 15px;
text-align: left;
}
.colItemReqHeader{
text-align: left;
color: var(--primary);
font-weight: bold;
}
.labelTotal{
color: var(--danger);
font-weight: bold;
font-size: 17px;
}
.labelAction{
color:var(--customnavy) !important;
font-weight:bold;
}
.segmentPR{
// --background-hover: rgba(var(--ion-color-contrast-rgb),0.04);
// --background-activated: var(--danger);
// --color: rgba(--primary);
--color-checked: var(--dark);
--indicator-color-checked: var(--secondary);
--background: #f0efef;
--background-activated: #f0efef;
--background-hover:#f0efef;
--background-activated:#f0efef;
--background-checked:#f0efef;
}
.ion-modal#ion-overlay-1 {
width: 90%;
height: 50%;
top: 20%;
left: 5%;
right: 5%;
bottom: 5%;
border: solid 1px red;
}
// .swiper-pagination.swiper-pagination-bullets{
// top: 6px;
// bottom: inherit;
// }
// .swiper-pagination.swiper-pagination-bullets {
// top: 6px !important;
// bottom: 0px !important;
// }
// .swiper-pagination {
// top: 6px;
// }
.bar-stable {
background-color: var(--cusgray) !important;
}
.tabs{
background-color: var(--cusgray) !important;
}
.icon-size-lg {
font-size: 40px;
}
/*Timeline*/
.pos-absolute-right {
position: absolute;
right: 8px;
}
.timeline {
position: relative;
margin: 15px 0 0 0;
}
.timeline:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
width: 4px;
background: #e4e4e4;
z-index: 1;
left: 66px;
/* margin-left: -10px; */
/* z-index: 1; */
}
.timeline .timeline-thumb {
border-radius: 500px;
width: 40px !important;
z-index: 2;
position: absolute;
left: 48px;
// :root[dir="ltr"]{
// left: 37px;
// }
// :root[dir="rtl"]{
// right: 37px;
// }
float: right;
top: 9px;
}
.timeline .timeline-thumb.timeline-icon {
height: 40px; height: 40px;
// text-align: center;
// color: white;
// border: 5px solid #CBD0D3;
// transform: scale(0.2);
}
.timeline .timeline-item {
width: 50px;
}
.timeline .timeline-stats {
position: relative;
font-size: 12px;
color: var(--darkgray);
}
.divider-title {
background: #e4e4e4;
padding: 5px 15px;
}
.color-red {
color: var(--danger) !important;
}
.bg-color-dot {
background: var(--gray);
/* background: linear-gradient(45deg, var(--primary) 0%, #19a163 36%, var(--secondary) 59%, var(--customnavy) 100%); */
// border: var(--secondary) solid 1px;
// background-color: #ff3b30 !important;
// background: var(--primary);
//background: -moz-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%);
//background: -webkit-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%);
//background: linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%);
}
.bg-blue-dot {
border: var(--blue) solid 1px;
background: var(--gray);
}
.bg-orange-dot {
border: var(--orange) solid 1px;
background: var(--gray);
}
.bg-red-dot {
border: var(--red) solid 1px;
background: var(--gray);
}
.bg-green-dot {
border: var(--green) solid 1px;
background: var(--gray);
}
.bg-blue-txt {
color: var(--blue) !important;
font-weight:bold;
}
.bg-orange-txt {
font-weight:bold;
color: var(--orange) !important;
}
.bg-red-txt {
font-weight:bold;
color: var(--red) !important;
}
.bg-green-txt {
font-weight:bold;
color: var(--green) !important;
}
.notification-list{
ion-item{
// margin-top: 5px;
// margin-bottom: 5px;
background-color: transparent;
.item-date{
width: 55px;
font-size: 14px;
font-weight: bold;
text-align: center;
padding: 0;
margin: 0;
position: absolute;
left: 0;
top: 0;
}
ion-label , [item-end]{
white-space: normal;
font-size: 14px;
// :root[dir="ltr"]{
// margin-left: 10px;
// }
// :root[dir="rtl"]{
// margin-right: 10px;
// }
}
}
}
.input-wrapper {
--flex:none;
}
ion-input ,ion-datetime{
border-bottom: #dedede 1px solid;
}
.left {
.timeline:before{
left: 66px;
}
.notification-list ion-item{
padding-left: 3px;
}
.timeline-thumb{
left: 37px;
}
}
.right {
.timeline:before{
right: 62px;
}
.notification-list ion-item{
padding-right: 3px;
}
.timeline-thumb{
right: 37px;
}
} }

@ -40,7 +40,7 @@ export class WorklistMainPRComponent implements OnInit {
private WorkListActionObj: WorkListActionRequest; private WorkListActionObj: WorkListActionRequest;
private WorkListActionHistoryObj: WorkListActionHistoryRequest; private WorkListActionHistoryObj: WorkListActionHistoryRequest;
private WorkListAttachObj: WorkListButtonRequest; private WorkListAttachObj: WorkListButtonRequest;
private PRList:PRNotificatonBodyList private PRList: PRNotificatonBodyList
public static PASS_NOTIFICATION_INFO = "passNotificationInfo"; public static PASS_NOTIFICATION_INFO = "passNotificationInfo";
public static PASS_ACTION_MODE = "passActionMode"; public static PASS_ACTION_MODE = "passActionMode";
getPassNotificationDetails: any; getPassNotificationDetails: any;
@ -64,16 +64,16 @@ export class WorklistMainPRComponent implements OnInit {
selEmployeeID: any; selEmployeeID: any;
actionType: string = ""; actionType: string = "";
notificationArray: any; notificationArray: any;
notificationDynamicAttributeArr:any; notificationDynamicAttributeArr: any;
private textInput: TextInput; private textInput: TextInput;
private textArea: TextAreaInput; private textArea: TextAreaInput;
notificationCount: any; notificationCount: any;
attachmentRes:any; attachmentRes: any;
PRHeader:any;//change the tpye later PRHeader: any;//change the tpye later
PRLines:any;//change the tpye later PRLines: any;//change the tpye later
IsReachEnd: boolean = false; IsReachEnd: boolean = false;
P_PAGE_NUM: number = 1; P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 50; P_PAGE_LIMIT: number = 100;
headerTotal: any; headerTotal: any;
totalH: any; totalH: any;
valueH: any; valueH: any;
@ -117,12 +117,12 @@ export class WorklistMainPRComponent implements OnInit {
// On Segment change slide to the matching slide // On Segment change slide to the matching slide
function onSegmentChange(ev) { function onSegmentChange(ev) {
console.log("ev.detail.value"+ev.detail.value); console.log("ev.detail.value" + ev.detail.value);
slideTo(ev.detail.value); slideTo(ev.detail.value);
} }
function slideTo(index) { function slideTo(index) {
console.log("index: "+index); console.log("index: " + index);
slides.slideTo(index); slides.slideTo(index);
} }
@ -130,7 +130,7 @@ export class WorklistMainPRComponent implements OnInit {
// On Slide change update segment to the matching value // On Slide change update segment to the matching value
async function onSlideDidChange(ev) { async function onSlideDidChange(ev) {
var index = await slides.getActiveIndex(); var index = await slides.getActiveIndex();
console.log("index: "+index); console.log("index: " + index);
clickSegment(index); clickSegment(index);
} }
@ -145,7 +145,7 @@ export class WorklistMainPRComponent implements OnInit {
intializeNotificationDetail() { intializeNotificationDetail() {
document.getElementById("notificationDynamicFields").innerHTML=""; document.getElementById("notificationDynamicFields").innerHTML = "";
console.log("intializeNotificationDetail"); console.log("intializeNotificationDetail");
this.getPassNotificationDetails = this.common.sharedService.getSharedData( this.getPassNotificationDetails = this.common.sharedService.getSharedData(
HomeComponent.NOTIFICATION_DATA, HomeComponent.NOTIFICATION_DATA,
@ -189,16 +189,16 @@ export class WorklistMainPRComponent implements OnInit {
this.getEITNotificationDetails(this.WorkListBodyObj); this.getEITNotificationDetails(this.WorkListBodyObj);
} else if (this.getPassNotificationDetails.REQUEST_TYPE == "ABSENCE") { } else if (this.getPassNotificationDetails.REQUEST_TYPE == "ABSENCE") {
this.getAbsenceNotificationDetails(this.WorkListBodyObj); this.getAbsenceNotificationDetails(this.WorkListBodyObj);
} else if (this.getPassNotificationDetails.REQUEST_TYPE == "PO"){ } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PO") {
this.getPONotificationDetails(this.WorkListBodyObj); this.getPONotificationDetails(this.WorkListBodyObj);
} else if (this.getPassNotificationDetails.REQUEST_TYPE == "MO"){ } else if (this.getPassNotificationDetails.REQUEST_TYPE == "MO") {
this.getMONotificationDetails(this.WorkListBodyObj); this.getMONotificationDetails(this.WorkListBodyObj);
} else if (this.getPassNotificationDetails.REQUEST_TYPE == "PR"){ } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PR") {
this.getPRNotificationDetails(this.WorkListBodyObj); this.getPRNotificationDetails(this.WorkListBodyObj);
} }
} }
getPRNotificationDetails(notificationBodyObj){ getPRNotificationDetails(notificationBodyObj) {
this.worklistMainService this.worklistMainService
.getPRNotificationBody(notificationBodyObj) .getPRNotificationBody(notificationBodyObj)
.subscribe((result: PRNotificatonBodyResponse) => { .subscribe((result: PRNotificatonBodyResponse) => {
@ -206,7 +206,7 @@ export class WorklistMainPRComponent implements OnInit {
}); });
} }
getMONotificationDetails(notificationBodyObj){ getMONotificationDetails(notificationBodyObj) {
this.worklistMainService this.worklistMainService
.getMONotificationBody(notificationBodyObj) .getMONotificationBody(notificationBodyObj)
.subscribe((result: MONotificatonBodyResponse) => { .subscribe((result: MONotificatonBodyResponse) => {
@ -214,12 +214,12 @@ export class WorklistMainPRComponent implements OnInit {
}); });
} }
getPONotificationDetails(notificationBodyObj){ getPONotificationDetails(notificationBodyObj) {
this.worklistMainService this.worklistMainService
.getPONotificationBody(notificationBodyObj) .getPONotificationBody(notificationBodyObj)
.subscribe((result: PONotificatonBodyResponse) => { .subscribe((result: PONotificatonBodyResponse) => {
// console.log(result.GetPoNotificationBodyList.POHeader[0].BUYER); console.log(result.GetPoNotificationBodyList.POHeader[0].BUYER);
// this.handleWorkListBodyResult(result, "PO"); this.handleWorkListBodyResult(result, "PO");
}); });
} }
@ -255,22 +255,22 @@ export class WorklistMainPRComponent implements OnInit {
this.notificationBodyRes = this.notificationBodyRes =
result.GetAbsenceCollectionNotificationBodyList; result.GetAbsenceCollectionNotificationBodyList;
} }
}else if (Type == "PR") { } else if (Type == "PR") {
if (result.GetPrNotificationBodyList) { if (result.GetPrNotificationBodyList) {
console.log("PR"); console.log("PR");
this.PRHeader=result.GetPrNotificationBodyList.PRHeader; this.PRHeader = result.GetPrNotificationBodyList.PRHeader;
this.PRLines=result.GetPrNotificationBodyList.PRLines; this.PRLines = result.GetPrNotificationBodyList.PRLines;
for( var i = 0; i < this.PRHeader.length; i++){ for (var i = 0; i < this.PRHeader.length; i++) {
if(this.PRHeader[i].HDR_ATTRIBUTE_NAME === 'Requisition Total'){ if (this.PRHeader[i].HDR_ATTRIBUTE_NAME === 'Requisition Total') {
this.totalH=this.PRHeader[i].HDR_ATTRIBUTE_NAME; this.totalH = this.PRHeader[i].HDR_ATTRIBUTE_NAME;
this.valueH=this.PRHeader[i].HDR_ATTRIBUTE_VALUE; this.valueH = this.PRHeader[i].HDR_ATTRIBUTE_VALUE;
//this. header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'" //this. header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'"
} }
if(this.PRHeader[i].HDR_ATTRIBUTE_NAME === 'Non-Recoverable Tax'){ if (this.PRHeader[i].HDR_ATTRIBUTE_NAME === 'Non-Recoverable Tax') {
this.taxH=this.PRHeader[i].HDR_ATTRIBUTE_NAME; this.taxH = this.PRHeader[i].HDR_ATTRIBUTE_NAME;
this.taxvalueH=this.PRHeader[i].HDR_ATTRIBUTE_VALUE; this.taxvalueH = this.PRHeader[i].HDR_ATTRIBUTE_VALUE;
} }
@ -352,7 +352,7 @@ export class WorklistMainPRComponent implements OnInit {
let ButtonAction: string = this.actionType; let ButtonAction: string = this.actionType;
var responseAttrDic = this.notExampleJsonObject; var responseAttrDic = this.notExampleJsonObject;
this.P_RESPOND_ATTRIBUTES_TBL = []; this.P_RESPOND_ATTRIBUTES_TBL = [];
for (let i=0;i<this.notificationDynamicAttributeArr.length;i++) { for (let i = 0; i < this.notificationDynamicAttributeArr.length; i++) {
let obj: any = {}; let obj: any = {};
obj.ATTRIBUTE_NAME = this.notificationDynamicAttributeArr[i].ATTRIBUTE_NAME; obj.ATTRIBUTE_NAME = this.notificationDynamicAttributeArr[i].ATTRIBUTE_NAME;
if (this.notificationDynamicAttributeArr[i].ATTRIBUTE_TYPE === "number") { if (this.notificationDynamicAttributeArr[i].ATTRIBUTE_TYPE === "number") {
@ -361,8 +361,8 @@ export class WorklistMainPRComponent implements OnInit {
// else if (isDate(responseAttrDic[key])) { // else if (isDate(responseAttrDic[key])) {
// obj.ATTRIBUTE_DATE_VALUE = responseAttrDic[key]; // obj.ATTRIBUTE_DATE_VALUE = responseAttrDic[key];
// } // }
else if(this.notificationDynamicAttributeArr[i].ATTRIBUTE_TYPE=="VARCHAR2") { else if (this.notificationDynamicAttributeArr[i].ATTRIBUTE_TYPE == "VARCHAR2") {
obj.ATTRIBUTE_TEXT_VALUE =(document.getElementById(this.notificationDynamicAttributeArr[i].ATTRIBUTE_NAME) as HTMLInputElement).value; obj.ATTRIBUTE_TEXT_VALUE = (document.getElementById(this.notificationDynamicAttributeArr[i].ATTRIBUTE_NAME) as HTMLInputElement).value;
} }
this.P_RESPOND_ATTRIBUTES_TBL.push(obj); this.P_RESPOND_ATTRIBUTES_TBL.push(obj);
} }
@ -390,27 +390,27 @@ export class WorklistMainPRComponent implements OnInit {
// this.WorkListActionObj, // this.WorkListActionObj,
// WorklistMainPRComponent.PASS_NOTIFICATION_INFO // WorklistMainPRComponent.PASS_NOTIFICATION_INFO
// ); // );
if (ButtonAction == "APPROVE"){ if (ButtonAction == "APPROVE") {
this.confirmMsg =this.ts.trPK('worklistMain', 'approveMsg') this.confirmMsg = this.ts.trPK('worklistMain', 'approveMsg')
} }
else if (ButtonAction == "REJECT"){ else if (ButtonAction == "REJECT") {
this.confirmMsg =this.ts.trPK('worklistMain', 'rejectMsg') this.confirmMsg = this.ts.trPK('worklistMain', 'rejectMsg')
} }
else if (ButtonAction == "DEL"){ else if (ButtonAction == "DEL") {
this.confirmMsg =this.ts.trPK('worklistMain', 'delMsg') this.confirmMsg = this.ts.trPK('worklistMain', 'delMsg')
} }
else if (ButtonAction == "CLOSE"){ else if (ButtonAction == "CLOSE") {
this.confirmMsg =this.ts.trPK('worklistMain', 'closeMsg') this.confirmMsg = this.ts.trPK('worklistMain', 'closeMsg')
} }
this.common.confirmAlertDialog( this.common.confirmAlertDialogAction(
() => { () => {
this.applyAction(this.WorkListActionObj); this.applyAction(this.WorkListActionObj);
}, this.ts.trPK('general', 'ok'), }, this.ts.trPK('general', 'ok'),
() => {}, this.ts.trPK('general', 'cancel'), () => { }, this.ts.trPK('general', 'cancel'),
this.ts.trPK('vacation-rule', 'confirmation'), this.ts.trPK('vacation-rule', 'confirmation'),
this.confirmMsg); this.confirmMsg);
@ -590,28 +590,28 @@ export class WorklistMainPRComponent implements OnInit {
this.hideForwordEmployee = result.NotificationRespondRolesList[0]; this.hideForwordEmployee = result.NotificationRespondRolesList[0];
} }
this.notificationDynamicFields(result.NotificationGetRespondAttributesList); this.notificationDynamicFields(result.NotificationGetRespondAttributesList);
this.NotificationGetRespondAttributesList=result.NotificationGetRespondAttributesList; this.NotificationGetRespondAttributesList = result.NotificationGetRespondAttributesList;
this.common.sharedService.setSharedData( this.common.sharedService.setSharedData(
this.NotificationGetRespondAttributesList, this.NotificationGetRespondAttributesList,
WorklistMainPRComponent.PASS_RES_ATTR WorklistMainPRComponent.PASS_RES_ATTR
); );
this.notificationDynamicAttributeArr=result.NotificationGetRespondAttributesList; this.notificationDynamicAttributeArr = result.NotificationGetRespondAttributesList;
if (result.P_Schema) this.schemaNotific = JSON.parse(result.P_Schema); if (result.P_Schema) this.schemaNotific = JSON.parse(result.P_Schema);
} // valid it } // valid it
} // End handleWorkListButtonsResult } // End handleWorkListButtonsResult
notificationDynamicFields(notificationAttr){ notificationDynamicFields(notificationAttr) {
const containerId = 'notificationDynamicFields'; const containerId = 'notificationDynamicFields';
for(let i=0;i<notificationAttr.length;i++){ for (let i = 0; i < notificationAttr.length; i++) {
if(notificationAttr[i].ATTRIBUTE_TYPE=="VARCHAR2"){ if (notificationAttr[i].ATTRIBUTE_TYPE == "VARCHAR2") {
this.textArea = new TextAreaInput(notificationAttr[i].ATTRIBUTE_DISPLAY_NAME, notificationAttr[i].ATTRIBUTE_NAME, "", containerId,"","",""); this.textArea = new TextAreaInput(notificationAttr[i].ATTRIBUTE_DISPLAY_NAME, notificationAttr[i].ATTRIBUTE_NAME, "", containerId, "", "", "");
}else if(notificationAttr[i].ATTRIBUTE_TYPE=="ROLE"){ } else if (notificationAttr[i].ATTRIBUTE_TYPE == "ROLE") {
}else if(notificationAttr[i].ATTRIBUTE_TYPE=="DATE"){ } else if (notificationAttr[i].ATTRIBUTE_TYPE == "DATE") {
}else if(notificationAttr[i].ATTRIBUTE_TYPE=="NUMBER"){ } else if (notificationAttr[i].ATTRIBUTE_TYPE == "NUMBER") {
} }
} }
@ -706,17 +706,17 @@ export class WorklistMainPRComponent implements OnInit {
} }
} }
async openNoteDetail(note,sender) { async openNoteDetail(note, sender) {
// let modalPage = this.modalCtrl.create('ViewNoteModalPage', { textNote: note }); // let modalPage = this.modalCtrl.create('ViewNoteModalPage', { textNote: note });
// modalPage.present(); // modalPage.present();
console.log("note"+note); console.log("note" + note);
this.common.sharedService.setSharedData(note, 'ViewNoteModalPage') this.common.sharedService.setSharedData(note, 'ViewNoteModalPage')
this.common.sharedService.setSharedData(sender,'ViewNoteModalPageSender') this.common.sharedService.setSharedData(sender, 'ViewNoteModalPageSender')
const modal = await this.modalCtrl.create({ const modal = await this.modalCtrl.create({
component: ViewNoteModalComponent, component: ViewNoteModalComponent,
backdropDismiss:false, backdropDismiss: false,
}); });
modal.cssClass = 'note-modal'; modal.cssClass = 'note-modal';
@ -755,7 +755,7 @@ export class WorklistMainPRComponent implements OnInit {
} }
}//end infiniteScroll }//end infiniteScroll
//**********Attachment *****************// //**********Attachment *****************//
async OpenAttachFiles(value, Type) { async OpenAttachFiles(value, Type) {
@ -776,7 +776,7 @@ export class WorklistMainPRComponent implements OnInit {
// let modalPage = this.modalCtrl.create('ViewNoteModalPage', { textNote: note }); // let modalPage = this.modalCtrl.create('ViewNoteModalPage', { textNote: note });
// modalPage.present(); // modalPage.present();
// console.log("note"+note); // console.log("note"+note);
this.common.sharedService.setSharedData( this.getPassNotificationDetails,WorklistMainPRComponent.PASS_NOTIFICATION_INFO); this.common.sharedService.setSharedData(this.getPassNotificationDetails, WorklistMainPRComponent.PASS_NOTIFICATION_INFO);
this.common.sharedService.setSharedData(WorkListActionObj, 'ApplyActionModalPage') this.common.sharedService.setSharedData(WorkListActionObj, 'ApplyActionModalPage')
// this.common.sharedService.setSharedData( // this.common.sharedService.setSharedData(
// this.WorkListActionObj, // this.WorkListActionObj,
@ -785,7 +785,7 @@ export class WorklistMainPRComponent implements OnInit {
const modal = await this.modalCtrl.create({ const modal = await this.modalCtrl.create({
component: ApplyActionModalComponent, component: ApplyActionModalComponent,
backdropDismiss:false, backdropDismiss: false,
}); });
modal.cssClass = 'note-modal'; modal.cssClass = 'note-modal';
@ -804,6 +804,80 @@ export class WorklistMainPRComponent implements OnInit {
} }
loadMoreNotificationBody() {
console.log("loadMoreNotificationBody PR");
if (!this.IsReachEnd) {
console.log("this.IsReachEnd" + this.IsReachEnd);
this.worklistMainService.getPRNotificationBody(this.WorkListBodyObj).
subscribe((result: any) => {
if (this.common.validResponse(result)) {
if (result.GetPrNotificationBodyList != undefined) {
this.P_PAGE_NUM++;
this.WorkListBodyObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetPrNotificationBodyList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.notificationBodyRes.push(element);
}, (Error) => console.log(Error), () =>
//infiniteScroll.target.complete()
console.log("test")
);
}// if list length >0
else {
this.IsReachEnd = true;
}
}// if response == 1
//this.pageNum++;
// infiniteScroll.target.complete();
});
} else {
// if (infiniteScroll)
// infiniteScroll.target.complete();
}
}//end infiniteScroll
loadMoreActionHistory() {
console.log("doInfinite action history MR");
if (!this.IsReachEnd) {
this.worklistService.getActionHistory(this.WorkListActionHistoryObj).
subscribe((result: any) => {
if (this.common.validResponse(result)) {
if (result.GetActionHistoryList != undefined) {
this.P_PAGE_NUM++;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetActionHistoryList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.actionHistoryRes.push(element);
}, (Error) => console.log(Error), () =>
//infiniteScroll.target.complete()
console.log("TEST"));
}// if list length >0
else {
this.IsReachEnd = true;
}
}// if response == 1
//this.pageNum++;
// infiniteScroll.target.complete();
});
} else {
//if (infiniteScroll)
//infiniteScroll.target.complete();
}
}//end infiniteScroll
} }

@ -131,6 +131,6 @@
<ion-button color="customnavy" class="gridBtn" (click)="actionButton()"> {{ts.trPK('general','submit')}}</ion-button> <ion-button color="customnavy" class="gridBtn" (click)="actionButton()"> {{ts.trPK('general','submit')}}</ion-button>
</div> </div>
<div class="centerDiv" > <div class="centerDiv" >
<ion-button color="customnavy" class="gridBtn" (click)="nextNotfification()"> {{ts.trPK('worklistMain','skip')}}</ion-button> <ion-button color="customnavy" class="gridBtn" (click)="nextNotfification()">{{'worklistMain, skip' | translate}}</ion-button>
</div> </div>
</ion-footer> </ion-footer>

@ -87,7 +87,7 @@ export class WorklistMainComponent implements OnInit {
this.WorkListBodyObj.P_TRANSACTION_ID = this.TransactionID; this.WorkListBodyObj.P_TRANSACTION_ID = this.TransactionID;
this.WorkListBodyObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListBodyObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
this.WorkListBodyObj.P_PAGE_NUM = 1; this.WorkListBodyObj.P_PAGE_NUM = 1;
this.WorkListBodyObj.P_PAGE_LIMIT = 50; this.WorkListBodyObj.P_PAGE_LIMIT = 100;
this.WorkListButtonsObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListButtonsObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;

@ -6,16 +6,19 @@
<ion-title color="light" >{{ts.trPK('payslip','title')}}</ion-title> <ion-title color="light" >{{ts.trPK('payslip','title')}}</ion-title>
</ion-toolbar> </ion-toolbar>
</ion-header> </ion-header>
<ion-content padding> <ion-content class="colorBG">
<ion-item> <ion-item style="margin: 10px;border-radius: 5px;">
<ion-label>choose payslip</ion-label> <ion-label>choose payslip</ion-label>
<ion-select (ionChange)="showInfo($event)" okText="{{ts.trPK('general','ok')}}" cancelText="{{ts.trPK('general','cancel')}}" [(ngModel)]="choosePayslip"> <ion-select (ionChange)="showInfo($event)" okText="{{ts.trPK('general','ok')}}" cancelText="{{ts.trPK('general','cancel')}}" [(ngModel)]="choosePayslip">
<ion-select-option value="{{i}}" *ngFor="let options of GetPayslipList; let i=index">{{options.PAYSLIP_CHOICE}} </ion-select-option> <ion-select-option value="{{i}}" selected="{{(i==0).toString()}}" *ngFor="let options of GetPayslipList; let i=index">{{options.PAYSLIP_CHOICE}} </ion-select-option>
</ion-select> </ion-select>
</ion-item> </ion-item>
<!-- <ion-list *ngIf="showPaySlip !=''" > <!-- <ion-list *ngIf="showPaySlip !=''" >
<ion-item> <ion-item>
<ion-row><ion-label>PERIOD NAME</ion-label><ion-label>{{showPaySlip.PERIOD_NAME}}</ion-label></ion-row> <ion-row><ion-label>PERIOD NAME</ion-label><ion-label>{{showPaySlip.PERIOD_NAME}}</ion-label></ion-row>
@ -23,10 +26,60 @@
<ion-row> <ion-label>PERIOD END DATE</ion-label><ion-label>{{showPaySlip.PERIOD_END_DATE}}</ion-label> </ion-row> <ion-row> <ion-label>PERIOD END DATE</ion-label><ion-label>{{showPaySlip.PERIOD_END_DATE}}</ion-label> </ion-row>
</ion-item> </ion-item>
</ion-list> --> </ion-list> -->
<div *ngIf="showPaySlip !=''">
<accordin-custom >
<accordin-tab-custom [header]="'payslip,payroll-info' | translate " >
<!-- special results -->
<!-- <ion-card >
<ion-card-header class="boxHdr">
<div class="hrTitle"> {{ts.trPK('payslip','payroll-info')}} </div>
</ion-card-header>
<ion-card-content> -->
<div *ngIf="showPaySlip !=''">
<ion-grid class="">
<ion-row class="">
<ion-col class="">
<label for=""> {{ts.trPK('payslip','peroid-name')}}
</label>
</ion-col>
<ion-col class="colPayslip">
<label for="">{{showPaySlip.PERIOD_NAME}}</label>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="">
<label for="">{{ts.trPK('payslip','start-date')}}
</label>
</ion-col>
<ion-col class="colPayslip">
<label for="">{{showPaySlip.PERIOD_START_DATE}}</label>
</ion-col>
</ion-row>
<ion-card *ngIf="showPaySlip !=''"> <ion-row>
<ion-col class="">
<label for="">{{ts.trPK('payslip','end-date')}}
</label>
</ion-col>
<ion-col class="colPayslip">
<label for="">{{showPaySlip.PERIOD_END_DATE}}</label>
</ion-col>
</ion-row>
</ion-grid>
</div>
<empty-data *ngIf="showPaySlip.length <= 0 "></empty-data>
<!-- </ion-card-content>
</ion-card> -->
</accordin-tab-custom>
</accordin-custom>
<!-- <ion-card *ngIf="showPaySlip !=''">
<ion-card-header class="boxHdr"> <ion-card-header class="boxHdr">
<div class="hrTitle"> {{ts.trPK('payslip','payroll-info')}} </div> <div class="hrTitle"> {{ts.trPK('payslip','payroll-info')}} </div>
</ion-card-header> </ion-card-header>
@ -68,69 +121,71 @@
</div> </div>
</ion-card-content> </ion-card-content>
</ion-card> </ion-card> -->
<ion-card *ngIf="GetSummaryOfPaymentList !='' " > <accordin-custom >
<accordin-tab-custom [header]="'payslip,summary-payment' | translate" >
<!-- <ion-card *ngIf="GetSummaryOfPaymentList !='' " >
<ion-card-header class="boxHdr"> <ion-card-header class="boxHdr">
<div class="hrTitle"> {{ts.trPK('payslip','summary-payment')}} </div> <div class="hrTitle"> {{ts.trPK('payslip','summary-payment')}} </div>
</ion-card-header> </ion-card-header>
<ion-card-content> <ion-card-content> -->
<div> <div *ngIf="GetSummaryOfPaymentList !=''">
<ion-grid> <ion-grid>
<ion-row > <ion-row >
<ion-col class="colBold"> <ion-col class="">
<label for=""> {{ts.trPK('payslip','deductions-Amount')}} <label for=""> {{ts.trPK('payslip','deductions-Amount')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetSummaryOfPaymentList.TOTAL_DEDUCTIONS_AMOUNT}}</label> <label for="">{{GetSummaryOfPaymentList.TOTAL_DEDUCTIONS_AMOUNT}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colBold"> <ion-col class="">
<label for="">{{ts.trPK('payslip','deductions-percentage')}} <label for="">{{ts.trPK('payslip','deductions-percentage')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetSummaryOfPaymentList.TOTAL_DEDUCTIONS_PERCENTAGE}}</label> <label for="">{{GetSummaryOfPaymentList.TOTAL_DEDUCTIONS_PERCENTAGE}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colBold"> <ion-col class="">
<label for="">{{ts.trPK('payslip','earings-Amount')}} <label for="">{{ts.trPK('payslip','earings-Amount')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetSummaryOfPaymentList.TOTAL_EARNINGS_AMOUNT}}</label> <label for="">{{GetSummaryOfPaymentList.TOTAL_EARNINGS_AMOUNT}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colBold"> <ion-col class="">
<label for="">{{ts.trPK('payslip','earings-percentage')}} <label for="">{{ts.trPK('payslip','earings-percentage')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetSummaryOfPaymentList.TOTAL_EARNINGS_PERCENTAGE}}</label> <label for="">{{GetSummaryOfPaymentList.TOTAL_EARNINGS_PERCENTAGE}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colBold"> <ion-col class="">
<label for="">{{ts.trPK('payslip','pay-Amount')}} <label for="">{{ts.trPK('payslip','pay-Amount')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetSummaryOfPaymentList.TOTAL_PAY_AMOUNT}}</label> <label for="">{{GetSummaryOfPaymentList.TOTAL_PAY_AMOUNT}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colBold"> <ion-col class="">
<label for="">{{ts.trPK('payslip','pay-percentage')}} <label for="">{{ts.trPK('payslip','pay-percentage')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetSummaryOfPaymentList.TOTAL_PAY_PERCENTAGE}}</label> <label for="">{{GetSummaryOfPaymentList.TOTAL_PAY_PERCENTAGE}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
@ -138,60 +193,169 @@
</ion-grid> </ion-grid>
</div> </div>
</ion-card-content> <empty-data *ngIf="GetSummaryOfPaymentList.length <= 0 "></empty-data>
</ion-card>
<ion-card *ngIf="GetPaymentInformationList !='' " > <!-- </ion-card-content>
</ion-card> -->
</accordin-tab-custom>
</accordin-custom >
<accordin-custom >
<accordin-tab-custom [header]="'payslip,earnings' | translate" [subHeadergreen]=true [subHeader]="earingTotal" >
<!-- <ion-card *ngIf="GetEarningsList !='' " >
<ion-card-header class="boxHdr"> <ion-card-header class="boxHdr">
<div class="hrTitle"> {{ts.trPK('payslip','payment-information')}} </div> <div class="hrTitle"> {{ts.trPK('payslip','total')}} </div>
</ion-card-header>
<ion-card-content> -->
<div *ngIf="GetEarningsList !=''">
<ion-grid>
<ion-row *ngFor="let list of GetEarningsList" >
<ion-col class="">
<label for="">{{list.ELEMENT_NAME}}</label>
</ion-col>
<ion-col class="colPayslip">
<label for="">{{list.AMOUNT}}</label>
</ion-col>
</ion-row>
<ion-row>
<ion-col col-6 class="earingTotH">
<label style="font-size: 20px !important" for="">{{ts.trPK('payslip','total')}}</label>
</ion-col>
<ion-col col-6 class="earingTotG">
<label style="font-size: 20px !important" for="">{{earingTotal}}</label>
</ion-col>
</ion-row>
</ion-grid>
</div>
<empty-data *ngIf="GetEarningsList.length <= 0 "></empty-data>
<!-- </ion-card-content>
</ion-card> -->
<!-- <ion-infinite-scroll (ionInfinite)="doInfiniteEarning($event)">
<ion-infinite-scroll-content></ion-infinite-scroll-content>
</ion-infinite-scroll> -->
</accordin-tab-custom>
</accordin-custom >
<!-- <accordin-custom *ngIf="GetDeductionsList !=''"> -->
<accordin-custom >
<accordin-tab-custom [header]="'payslip,deductions' | translate" [subHeadergreen]=false [subHeader]="deductionTotal" >
<!-- <ion-card *ngIf="GetDeductionsList !='' " >
<ion-card-header class="boxHdr">
<div class="hrTitle"> {{ts.trPK('payslip','deductions')}} </div>
</ion-card-header> </ion-card-header>
<ion-card-content> <ion-card-content>
<div> colBold -->
<div *ngIf="GetDeductionsList !=''">
<ion-grid>
<ion-row *ngFor="let list of GetDeductionsList" >
<ion-col class="">
<label for="">{{list.ELEMENT_NAME}}</label>
</ion-col>
<ion-col class="colPayslip">
<label for="">{{list.AMOUNT}}</label>
</ion-col>
</ion-row>
<ion-row>
<ion-col col-6 class="earingTotH">
<label style="font-size: 20px !important" for="">{{ts.trPK('payslip','total')}}</label>
</ion-col>
<ion-col col-6 class="earingTotR">
<label style="font-size: 20px !important" for="">{{deductionTotal}}</label>
</ion-col >
</ion-row>
</ion-grid>
</div>
<empty-data *ngIf="GetDeductionsList.length <= 0 "></empty-data>
<!-- </ion-card-content>
</ion-card> -->
<!-- <ion-infinite-scroll (ionInfinite)="doInfiniteDeduction($event)">
<ion-infinite-scroll-content></ion-infinite-scroll-content>
</ion-infinite-scroll> -->
</accordin-tab-custom>
</accordin-custom >
<accordin-custom >
<accordin-tab-custom [header]="'payslip,payment-information' | translate" >
<!-- <ion-card *ngIf="GetPaymentInformationList !='' " >
<ion-card-header class="boxHdr">
<div class="hrTitle"> {{ts.trPK('payslip','payment-information')}} </div>
</ion-card-header>
<ion-card-content> -->
<div *ngIf="GetPaymentInformationList !=''">
<ion-grid> <ion-grid>
<ion-row > <ion-row >
<ion-col class="colBold"> <ion-col class="">
<label for=""> {{ts.trPK('payslip','payment-method')}} <label for=""> {{ts.trPK('payslip','payment-method')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetPaymentInformationList.PAYMENT_METHOD_NAME}}</label> <label for="">{{GetPaymentInformationList.PAYMENT_METHOD_NAME}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colBold"> <ion-col class="">
<label for="">{{ts.trPK('payslip','bank-name')}} <label for="">{{ts.trPK('payslip','bank-name')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetPaymentInformationList.BANK_NAME}}</label> <label for="">{{GetPaymentInformationList.BANK_NAME}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colBold"> <ion-col class="">
<label for="">{{ts.trPK('payslip','branch-name')}} <label for="">{{ts.trPK('payslip','branch-name')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetPaymentInformationList.BRANCH_NAME}}</label> <label for="">{{GetPaymentInformationList.BRANCH_NAME}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colBold"> <ion-col class="">
<label for="">{{ts.trPK('payslip','account-no')}} <label for="">{{ts.trPK('payslip','account-no')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetPaymentInformationList.ACCOUNT_NUMBER}}</label> <label for="">{{GetPaymentInformationList.ACCOUNT_NUMBER}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col class="colBold"> <ion-col class="">
<label for="">{{ts.trPK('payslip','amount')}} <label for="">{{ts.trPK('payslip','amount')}}
</label> </label>
</ion-col> </ion-col>
<ion-col> <ion-col class="colPayslip">
<label for="">{{GetPaymentInformationList.AMOUNT}}</label> <label for="">{{GetPaymentInformationList.AMOUNT}}</label>
</ion-col> </ion-col>
</ion-row> </ion-row>
@ -200,10 +364,17 @@
</ion-grid> </ion-grid>
</div> </div>
</ion-card-content>
</ion-card>
<ion-row *ngIf="showPaySlip !=''" style="text-align: center;"> <empty-data *ngIf="GetPaymentInformationList.length <= 0 "></empty-data>
<!-- </ion-card-content>
</ion-card> -->
</accordin-tab-custom>
</accordin-custom >
</div>
<!-- <ion-row *ngIf="showPaySlip !=''" style="text-align: center;">
<ion-col class="greenTxt" col-6> <ion-col class="greenTxt" col-6>
<button ion-button block class="notColBtn" (click)="openEarings()"> <button ion-button block class="notColBtn" (click)="openEarings()">
<p>{{ts.trPK('payslip','earnings')}}</p> <p>{{ts.trPK('payslip','earnings')}}</p>
@ -216,6 +387,6 @@
<ion-img class="serviceItemImg" src="../assets/imgs/details.png"></ion-img> <ion-img class="serviceItemImg" src="../assets/imgs/details.png"></ion-img>
</button> </button>
</ion-col> </ion-col>
</ion-row> </ion-row> -->
</ion-content> </ion-content>

@ -0,0 +1,41 @@
.rowAccordin{
border: none;
}
.gridAccordin{
margin: 10px;
background: #ffffff;
border-radius: 5px;
}
.colPayslip{
text-align: center;
color: var(--labelColor);
}
.earingTotH{
text-align: right;
font-weight: bold;
font-size:20px !important;
padding-right: 15px;
}
.earingTotG{
text-align: left;
padding-left: 15px;
font-weight: bold;
font-size: 20px !important;
color: var(--green);
}
.earingTotR{
text-align: left;
padding-left: 15px;
font-weight: bold;
font-size: 20px !important;
color: var(--red);
}

@ -1,9 +1,11 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import {PayslipService} from '../service/payslip.service' import {PayslipService} from '../service/payslip.service'
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { CommonService } from 'src/app/hmg-common/services/common/common.service'; import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response'; import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response';
import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service';
import { DeductionRequest } from '../model/deductionReq';
import { IonInfiniteScroll } from '@ionic/angular';
@Component({ @Component({
selector: 'app-home', selector: 'app-home',
@ -20,6 +22,18 @@ export class HomeComponent implements OnInit {
showPaySlip:any=[]; showPaySlip:any=[];
ActionContextID:any; ActionContextID:any;
public static ACTION_CONTEXT_ID = "passActionContectID"; public static ACTION_CONTEXT_ID = "passActionContectID";
GetEarningsList: any='';
GetDeductionsList: any='';
earingTotal: any;
deductionTotal: any;
firstPayslip: any;
defultSelected: any;
IsReachEnd: any;
private deductionReq: DeductionRequest;
doinfiniteDedReq:any;
doinfinitEarReq:any;
@ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;
constructor( constructor(
public payslipService:PayslipService, public payslipService:PayslipService,
@ -74,7 +88,6 @@ export class HomeComponent implements OnInit {
// P_PAGE_NUM: this.P_PAGE_NUM, // P_PAGE_NUM: this.P_PAGE_NUM,
// P_PAGE_LIMIT: this.P_PAGE_LIMIT // P_PAGE_LIMIT: this.P_PAGE_LIMIT
}; };
this.payslipService.getPayslip(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=> this.payslipService.getPayslip(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{ {
this.handleRespondGetPayslipResult(result); this.handleRespondGetPayslipResult(result);
@ -86,9 +99,11 @@ export class HomeComponent implements OnInit {
if (result.GetPayslipList != null) { if (result.GetPayslipList != null) {
this.GetPayslipList = result.GetPayslipList; this.GetPayslipList = result.GetPayslipList;
this.firstPayslip= this.GetPayslipList[0]
this.defultSelected=this.firstPayslip.PAYSLIP_CHOICE
} }
this.showPaySlip = this.GetPayslipList[0];
this.getAllPayslipData(this.GetPayslipList[0].ACTION_CONTEXT_ID);
} }
// showPaymentInfo // showPaymentInfo
@ -97,10 +112,15 @@ export class HomeComponent implements OnInit {
const index = parseInt(event.detail.value); const index = parseInt(event.detail.value);
this.showPaySlip =this.GetPayslipList[index]; this.showPaySlip =this.GetPayslipList[index];
this.ActionContextID=this.GetPayslipList[index].ACTION_CONTEXT_ID; this.ActionContextID=this.GetPayslipList[index].ACTION_CONTEXT_ID;
this.common.sharedService.setSharedData(this.ActionContextID,HomeComponent.ACTION_CONTEXT_ID); this.getAllPayslipData(this.ActionContextID);
this.getSummeryOfPayment(this.ActionContextID); }
this.getPaymentInfo(this.ActionContextID)
getAllPayslipData(ActionContextID){
this.common.sharedService.setSharedData(ActionContextID,HomeComponent.ACTION_CONTEXT_ID);
this.getSummeryOfPayment(ActionContextID);
this.getPaymentInfo(ActionContextID);
this.getDeduction(ActionContextID);
this.getEarings(ActionContextID);
} }
getSummeryOfPayment(ActionContextID){ getSummeryOfPayment(ActionContextID){
@ -118,6 +138,9 @@ export class HomeComponent implements OnInit {
handleSummeryOfPaymentResult(result){ handleSummeryOfPaymentResult(result){
if (result.GetSummaryOfPaymentList != null) { if (result.GetSummaryOfPaymentList != null) {
this.GetSummaryOfPaymentList = result.GetSummaryOfPaymentList[0]; this.GetSummaryOfPaymentList = result.GetSummaryOfPaymentList[0];
this.earingTotal = this.GetSummaryOfPaymentList.TOTAL_EARNINGS_AMOUNT;
this.deductionTotal = this.GetSummaryOfPaymentList.TOTAL_DEDUCTIONS_AMOUNT;
} }
} }
@ -148,4 +171,123 @@ openDeductions(){
this.common.openDeductionsPage(); this.common.openDeductionsPage();
} }
getEarings(ActionContextID){
console.log("getEarings");
// this.deductionReq.P_ACTION_CONTEXT_ID=ActionContextID;
// this.deductionReq.P_PAGE_NUM=1;
// this.deductionReq.P_PAGE_LIMIT=100;
const request ={
P_ACTION_CONTEXT_ID:ActionContextID,
P_PAGE_NUM:1,
P_PAGE_LIMIT:100
}
this.doinfinitEarReq=request;
this.payslipService.getEarings(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{
this.handleGetEaringsResult(result);
}
);
}
handleGetEaringsResult(result){
if (result.GetEarningsList != null) {
this.GetEarningsList = result.GetEarningsList;
}
}
getDeduction(ActionContextID){
console.log("getDeduction");
const request ={
P_ACTION_CONTEXT_ID:ActionContextID,
P_PAGE_NUM:1,
P_PAGE_LIMIT:100
}
// this.deductionReq.P_ACTION_CONTEXT_ID=ActionContextID;
// this.deductionReq.P_PAGE_NUM=1;
// this.deductionReq.P_PAGE_LIMIT=100;
this.doinfiniteDedReq=request;
this.payslipService.getDeduction(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{
this.handleGetDeductionResult(result);
}
);
}
handleGetDeductionResult(result){
if (result.GetDeductionsList != null) {
this.GetDeductionsList = result.GetDeductionsList;
}
}
doInfiniteDeduction(infiniteScroll) {
//this.pageNum= this.pageNum + 1;
if (!this.IsReachEnd) {
this.payslipService.getDeduction(this.doinfiniteDedReq).subscribe(
(result: any) => {
if (this.common.validResponse(result)) {
this.doinfiniteDedReq.P_PAGE_NUM++;
if (this.common.hasData(result.GetDeductionsList)) {
result.GetDeductionsList.forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.GetDeductionsList.push(element);
});
} // if list length >0
else {
this.IsReachEnd = true;
}
} // if response == 1
//this.pageNum++;
this.infiniteScroll.complete();
}
);
} else {
if (this.infiniteScroll) this.infiniteScroll.complete();
}
} //end infiniteScroll
doInfiniteEarning(infiniteScroll) {
//this.pageNum= this.pageNum + 1;
if (!this.IsReachEnd) {
this.payslipService.getEarings(this.doinfinitEarReq).subscribe(
(result: any) => {
if (this.common.validResponse(result)) {
this.doinfinitEarReq.P_PAGE_NUM++;
if (this.common.hasData(result.GetEarningsList)) {
result.GetEarningsList.forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.GetEarningsList.push(element);
});
} // if list length >0
else {
this.IsReachEnd = true;
}
} // if response == 1
//this.pageNum++;
this.infiniteScroll.complete();
}
);
} else {
if (this.infiniteScroll) this.infiniteScroll.complete();
}
} //end infiniteScroll
} }

@ -0,0 +1,9 @@
import { Request } from 'src/app/hmg-common/services/models/request';
export class DeductionRequest extends Request{
//public static SHARED_DATA = '';
public P_ACTION_CONTEXT_ID :any;
public P_PAGE_NUM:number ;//number
public P_PAGE_LIMIT:number;//number
}

@ -2,6 +2,7 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms'; import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router'; import { Routes, RouterModule } from '@angular/router';
import { HmgCommonModule } from 'src/app/hmg-common/hmg-common.module';
import { IonicModule } from '@ionic/angular'; import { IonicModule } from '@ionic/angular';
import {EarningsComponent}from './earnings/earnings.component' import {EarningsComponent}from './earnings/earnings.component'
@ -35,6 +36,7 @@ const routes: Routes = [
CommonModule, CommonModule,
FormsModule, FormsModule,
IonicModule, IonicModule,
HmgCommonModule,
RouterModule.forChild(routes) RouterModule.forChild(routes)
], ],
providers:[ providers:[

@ -1,7 +1,7 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ConnectorService } from '../../hmg-common/services/connector/connector.service'; import { ConnectorService } from '../../hmg-common/services/connector/connector.service';
import { AuthenticationService } from '../../hmg-common/services/authentication/authentication.service'; import { AuthenticationService } from '../../hmg-common/services/authentication/authentication.service';
import { Observable } from 'node_modules/@angular/cli/node_modules/rxjs'; import { Observable } from 'rxjs';
@Injectable({ @Injectable({

@ -78,6 +78,10 @@
</ion-card-content> </ion-card-content>
</ion-card> </ion-card>
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content></ion-infinite-scroll-content>
</ion-infinite-scroll>
</ion-content> </ion-content>
<ion-footer> <ion-footer>

@ -4,10 +4,11 @@ import { DeleteVacationRuleRequest } from './../model/deleteVacationRule.Request
import { CommonService } from 'src/app/hmg-common/services/common/common.service'; import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { VacationRuleServiceService } from './../service/vacation-rule-service.service'; import { VacationRuleServiceService } from './../service/vacation-rule-service.service';
import { VacationRuleRequest } from './../model/VacationRuleRequest'; import { VacationRuleRequest } from './../model/VacationRuleRequest';
import { Component, OnInit } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { ButtonInput } from 'src/app/uI-elements/button.input'; import { ButtonInput } from 'src/app/uI-elements/button.input';
import { IonInfiniteScroll } from '@ionic/angular';
@Component({ @Component({
selector: 'app-home', selector: 'app-home',
@ -15,6 +16,7 @@ import { ButtonInput } from 'src/app/uI-elements/button.input';
styleUrls: ['./home.component.scss'], styleUrls: ['./home.component.scss'],
}) })
export class HomeComponent implements OnInit { export class HomeComponent implements OnInit {
@ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;
userName: any; userName: any;
P_PAGE_NUM: number; P_PAGE_NUM: number;
@ -35,7 +37,7 @@ export class HomeComponent implements OnInit {
constructor(public vacationRuleService: VacationRuleServiceService, public ts: TranslatorService, public cs: CommonService, private router: Router) { constructor(public vacationRuleService: VacationRuleServiceService, public ts: TranslatorService, public cs: CommonService, private router: Router) {
this.P_PAGE_NUM = 1; this.P_PAGE_NUM = 1;
this.P_PAGE_LIMIT = 50; this.P_PAGE_LIMIT = 1;
//this.button = new ButtonInput('btnSubmit', 'Submit', 'containerDiv', 'Y'); //this.button = new ButtonInput('btnSubmit', 'Submit', 'containerDiv', 'Y');
// this.dateTime = new DateTimeInput('Start Date', 'SDate', '', 'containerDiv', 'Y', 'Y', 'Y'); // this.dateTime = new DateTimeInput('Start Date', 'SDate', '', 'containerDiv', 'Y', 'Y', 'Y');
@ -96,6 +98,7 @@ export class HomeComponent implements OnInit {
}, this.ts.trPK('general', 'retry')).subscribe((result) => { }, this.ts.trPK('general', 'retry')).subscribe((result) => {
if (this.cs.validResponse(result)) { if (this.cs.validResponse(result)) {
this.GetVacationRulesList = result.GetVacationRulesList; this.GetVacationRulesList = result.GetVacationRulesList;
this.P_PAGE_NUM++;
} else { } else {
this.cs.presentAlert(result.ErrorEndUserMessage); this.cs.presentAlert(result.ErrorEndUserMessage);
} }
@ -162,5 +165,40 @@ export class HomeComponent implements OnInit {
} }
} }
doInfinite(infiniteScroll) {
let request: VacationRuleRequest = new VacationRuleRequest();
request.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
request.P_PAGE_NUM = this.P_PAGE_NUM;
if (!this.IsReachEnd) {
this.vacationRuleService.getVacationRule(request, () => {
// this.getVacationRules();
}, this.ts.trPK('general', 'retry')).subscribe((result) => {
if (this.cs.validResponse(result)) {
this.P_PAGE_NUM++;
request.P_PAGE_NUM = this.P_PAGE_NUM;
if (this.cs.hasData(result.GetVacationRulesList)) {
result.GetVacationRulesList.forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.GetVacationRulesList.push(element);
});
} // if list length >0
else {
this.IsReachEnd = true;
}
} // if response == 1
//this.pageNum++;
this.infiniteScroll.complete();
}
);
} else {
if (this.infiniteScroll) this.infiniteScroll.complete();
}
} //end infiniteScroll
} }

@ -1727,8 +1727,274 @@
"closeMsg":{ "closeMsg":{
"en": "Are you sure to close this purchase requisition ?", "en": "Are you sure to close this purchase requisition ?",
"ar":"العناصر المطلوبة" "ar":"العناصر المطلوبة"
},
"Supplier":{
"en": "Supplier",
"ar":"Supplier"
},
"Site":{
"en": "Site",
"ar":"Site"
},
"Preparer":{
"en": "Preparer",
"ar":"Preparer"
},
"Buyer":{
"en": "Buyer",
"ar":"Buyer"
},
"CreationDate":{
"en": "Creation Date",
"ar":"Creation Date"
},
"ShipToLocation":{
"en": "Ship To Location",
"ar":"Ship To Location "
},
"QuotationNumber":{
"en": "Quotation Number",
"ar":"Quotation Number"
},
"QuotationDate":{
"en": "Quotation Date",
"ar":"Quotation Date"
},
"PaymentTerms":{
"en": "Payment Terms",
"ar":"Payment Terms "
},
"GrossAmount":{
"en": "Gross Amount",
"ar":"Gross Amount"
},
"DiscountAmount":{
"en": "Discount Amount",
"ar":"Discount Amount"
},
"TotalPODiscount":{
"en": "Total PO Discount",
"ar":"Total PO Discount"
},
"VATAmount":{
"en": "VAT Amount",
"ar":"VAT Amount"
},
"CustomDuty":{
"en": "Custom Duty",
"ar":"Custom Duty"
},
"ShipHandle":{
"en": "Ship Handle",
"ar":"Ship Handle"
},
"OtherCharges":{
"en": "Other Charges",
"ar":"Other Charges"
},
"TotalPOAmountWithVAT":{
"en": "Total PO Amount with VAT",
"ar":"Total PO Amount with VAT"
},
"TotalPOAmountInWords":{
"en": "Total PO Amount in Words",
"ar":"Total PO Amount in Words"
},
"Currency":{
"en": "Currency",
"ar":"Currency"
},
"PONumber":{
"en": "PO NUMBER",
"ar":"PO NUMBER"
},
"des-PO":{
"en": "Standard Purchase Order",
"ar":"Standard Purchase Order"
},
"MFG":{
"en": "MFG",
"ar":"MFG"
},
"LINE_TYPE":{
"en": "Line Type",
"ar":"Line Type"
},
"LINE_DIS":{
"en": "Line Discount %",
"ar":"Line Discount %"
},
"LINE_AMOUNT":{
"en": "Line Amount",
"ar":"Line Amount"
},
"NEED_TO":{
"en": "Need By Date",
"ar":"Need By Date"
},
"PROMISED_DATE":{
"en": "Promised Date",
"ar":"Promised Date"
},
"DELIVER_TO":{
"en": "Deliver To Location",
"ar":"Deliver To Location"
},
"PR_NO":{
"en": "Requisition Number",
"ar":"Requisition Number"
},
"REQUEST":{
"en": "Requestor",
"ar":"Requestor"
},
"ITEM_HIS":{
"en": "Item History",
"ar":"Item History"
},
"QUOTATION_ANALYSIS":{
"en": "Quotation Analysis",
"ar":"Quotation Analysis"
},
"Date_Req":{
"en": "Date Required",
"ar":"Date Required"
},
"line_status":{
"en": "Line Status",
"ar":"Line Status"
},
"date_status":{
"en": "Status Date",
"ar":"Status Date"
},
"trans_type":{
"en": "Transaction Type",
"ar":"Transaction Type"
},
"operating_unit":{
"en": "Operating Unit",
"ar":"Operating Unit"
},
"to_locator":{
"en": "To Locator",
"ar":"To Locator"
},
"to_subinventory":{
"en": "To Subinventory",
"ar":"To Subinventory"
},
"from_locator":{
"en": "From Locator",
"ar":"From Locator"
},
"from_subinventory":{
"en": "From Subinventory",
"ar":"From Subinventory"
},
"organization":{
"en": "Organization",
"ar":"Organization"
},
"organization_code":{
"en": "Organization Code",
"ar":"Organization Code"
},
"revision":{
"en": "Revision",
"ar":"Revision "
},
"uom":{
"en": "UOM",
"ar":"UOM"
},
"quantity_ordered":{
"en": "Quantity Ordered",
"ar":"Quantity Ordered"
},
"quantity_received":{
"en": "Quantity Received",
"ar":"Quantity Received"
},
"bonus_quantity":{
"en": "Bonus Quantity",
"ar":"Bonus Quantity"
},
"purchase_price":{
"en": "Purchase Price",
"ar":"Purchase Price"
},
"discount":{
"en": "Discount %",
"ar":"Discount %"
},
"balance_quantity":{
"en": "Balance Quantity",
"ar":"Balance Quantity"
},
"net_price":{
"en": "Net Price",
"ar":"Net Price"
},
"closure_status":{
"en": "Closure Status",
"ar":"Closure Status"
},
"vendor_name":{
"en": "Vendor Name",
"ar":"Vendor Name"
},
"item_code":{
"en": "Item Code",
"ar":"Item Code"
},
"QUOTATION_QTY":{
"en": "Quotation Qty",
"ar":"Quotation Qty"
},
"quotation_uom":{
"en": "Quotation UOM",
"ar":"Quotation UOM"
},
"quotatio_net_price":{
"en": "Quotatio Net Price",
"ar":"Quotatio Net Price"
},
"quotatio_line_tot":{
"en": "Quotation Line Total",
"ar":"Quotation Line Total"
},
"quotatio_bonus_quantity":{
"en": "Quotation Bonus Quantity",
"ar":"Quotation Bonus Quantity"
},
"quotation_delivery_date":{
"en": "Quotation Delivery Date",
"ar":"Quotation Delivery Date"
},
"MFG_part_number":{
"en": "Quotation MFG Part Number",
"ar":"Quotation MFG Part Number"
},
"RFQ_number":{
"en": "RFQ Number",
"ar":"RFQ Number"
},
"RFQ_qty":{
"en": "RFQ Qty",
"ar":"RFQ Qty"
},
"RFQ_UOM":{
"en": "RFQ UOM",
"ar":"RFQ UOM"
},
"line_details":{
"en": "Line Details",
"ar":"Line Details"
} }
}, },
"payslip": { "payslip": {
"title":{ "title":{
@ -1810,6 +2076,11 @@
"payroll-info":{ "payroll-info":{
"en": "Payroll Processing Information", "en": "Payroll Processing Information",
"ar":"معلومات كشف الراتب " "ar":"معلومات كشف الراتب "
},
"total":{
"en": "Total",
"ar":"المجموع "
} }
} }
} }

@ -10,3 +10,4 @@
@import '~@ionic/angular/css/text-transformation.css'; @import '~@ionic/angular/css/text-transformation.css';
@import '~@ionic/angular/css/flex-utils.css'; @import '~@ionic/angular/css/flex-utils.css';
@import "theme/styles.scss"; @import "theme/styles.scss";
@import "theme/worklist.scss";

@ -778,10 +778,11 @@ color: var(--dark);
--bullet-background: var(--cusgray) !important; //var(--primary) !important; --bullet-background: var(--cusgray) !important; //var(--primary) !important;
--bullet-background-active: var(--darkgray) !important; --bullet-background-active: var(--darkgray) !important;
--bullet-border: solid 1px var(--cusgray) !important;
} }
.slides-gray-bullets .swiper-pagination { .slides-gray-bullets .swiper-pagination {
top: 0.4cm !important; top: 0.2cm !important;
} }
@ -795,11 +796,14 @@ color: var(--dark);
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet { .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
margin: 5px; margin: 5px;
width: 12px;
height: 12px;
} }
// .skipbutton,.button-md, button-ios{ // .skipbutton,.button-md, button-ios{
.skipbutton{ .skipbutton{
width: 100px;
--background: var(--orange); --background: var(--orange);
white-space: normal; white-space: normal;
color: var(--light); color: var(--light);
@ -815,27 +819,33 @@ color: var(--dark);
} }
.cancelBtn { .cancelBtn {
background:var(--red); background:var(--red) !important;
white-space: normal; white-space: normal !important;
color:var(--light); color:var(--light) !important;
text-transform: capitalize; text-transform: capitalize !important;
// min-width: 200px; // min-width: 200px;
min-height: 45px; min-height: 45px !important;
border-radius: 5px; border-radius: 5px !important;
width:125px; width:125px !important;
} min-width: 5px !important;
.confirmBtn { width: 10px !important;
background:var(--green); margin: 8px !important;
white-space: normal; }
color:var(--light); .confirmBtn {
text-transform: capitalize; background:var(--green) !important;
white-space: normal !important;
color:var(--light) !important;
text-transform: capitalize !important;
// min-width: 200px; // min-width: 200px;
min-height: 45px; min-height: 45px !important;
border-radius: 5px; border-radius: 5px !important;
width:125px; width:125px !important;
min-width: 5px !important;
width: 10px !important;
margin: 8px !important;
} }
// .slides-gray-bullets .swiper-wrapper { // .slides-gray-bullets .swiper-wrapper {
// margin-top: 14px !important; // margin-top: 14px !important;
// } // }
@ -844,4 +854,4 @@ color: var(--dark);
// /* bottom: 10px; */ // /* bottom: 10px; */
// left: 0; // left: 0;
// width: 100%; // width: 100%;
// } //

@ -68,6 +68,7 @@
--green:#209B48; --green:#209B48;
--red:#BE1E2D; --red:#BE1E2D;
--blue:#223262; --blue:#223262;
--cyanblue:#1b75bc;
// $font-family-base: $fontFamilyMediumEN !default; // $font-family-base: $fontFamilyMediumEN !default;
// $font-family-ios-base: $fontFamilyMediumEN !default; // $font-family-ios-base: $fontFamilyMediumEN !default;

@ -23,7 +23,7 @@
.itemReqContent{ .itemReqContent{
margin-top: 17px; // margin-top: 17px;
margin-bottom: 10px; margin-bottom: 10px;
border-radius: 7px; border-radius: 7px;
text-align: left; text-align: left;

@ -1 +0,0 @@
Subproject commit 2d03ed75f3f34aac5e80668b6a2b75849b18de51
Loading…
Cancel
Save