Merge remote-tracking branch 'aros/main' into remote-aros
This commit is contained in:
Generated
+309
-6
@@ -16,6 +16,9 @@
|
||||
"bootstrap": "^5.1.3",
|
||||
"bootstrap-icons": "^1.8.1",
|
||||
"core-js": "^3.8.3",
|
||||
"html2canvas": "^1.4.1",
|
||||
"jspdf": "^2.5.1",
|
||||
"jspdf-autotable": "^3.5.28",
|
||||
"libphonenumber-js": "^1.10.14",
|
||||
"maz-ui": "^3.0.7",
|
||||
"postcss": "^8",
|
||||
@@ -1614,7 +1617,6 @@
|
||||
"version": "7.17.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
|
||||
"integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"regenerator-runtime": "^0.13.4"
|
||||
},
|
||||
@@ -2059,6 +2061,12 @@
|
||||
"integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/raf": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.0.tgz",
|
||||
"integrity": "sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/@types/range-parser": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
|
||||
@@ -3288,6 +3296,17 @@
|
||||
"node": ">= 4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/atob": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
||||
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
|
||||
"bin": {
|
||||
"atob": "bin/atob.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 4.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/autoprefixer": {
|
||||
"version": "10.4.4",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz",
|
||||
@@ -3415,6 +3434,14 @@
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/base64-arraybuffer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
||||
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==",
|
||||
"engines": {
|
||||
"node": ">= 0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
@@ -3609,6 +3636,17 @@
|
||||
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
||||
}
|
||||
},
|
||||
"node_modules/btoa": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
|
||||
"integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
|
||||
"bin": {
|
||||
"btoa": "bin/btoa.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
@@ -3719,6 +3757,25 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/canvg": {
|
||||
"version": "3.0.10",
|
||||
"resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.10.tgz",
|
||||
"integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
"@types/raf": "^3.4.0",
|
||||
"core-js": "^3.8.3",
|
||||
"raf": "^3.4.1",
|
||||
"regenerator-runtime": "^0.13.7",
|
||||
"rgbcolor": "^1.0.1",
|
||||
"stackblur-canvas": "^2.0.0",
|
||||
"svg-pathdata": "^6.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/case-sensitive-paths-webpack-plugin": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz",
|
||||
@@ -4296,6 +4353,14 @@
|
||||
"postcss": "^8.0.9"
|
||||
}
|
||||
},
|
||||
"node_modules/css-line-break": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz",
|
||||
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
|
||||
"dependencies": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/css-loader": {
|
||||
"version": "6.7.1",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz",
|
||||
@@ -4879,6 +4944,12 @@
|
||||
"url": "https://github.com/fb55/domhandler?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/dompurify": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.1.tgz",
|
||||
"integrity": "sha512-ewwFzHzrrneRjxzmK6oVz/rZn9VWspGFRDb4/rRtIsM1n36t9AKma/ye8syCpcw+XJ25kOK/hOG7t1j2I2yBqA==",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/domutils": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
|
||||
@@ -5653,6 +5724,11 @@
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/fflate": {
|
||||
"version": "0.4.8",
|
||||
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz",
|
||||
"integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA=="
|
||||
},
|
||||
"node_modules/figures": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
|
||||
@@ -6132,6 +6208,18 @@
|
||||
"webpack": "^5.20.0"
|
||||
}
|
||||
},
|
||||
"node_modules/html2canvas": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz",
|
||||
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
|
||||
"dependencies": {
|
||||
"css-line-break": "^2.1.0",
|
||||
"text-segmentation": "^1.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/htmlparser2": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
|
||||
@@ -6625,6 +6713,31 @@
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/jspdf": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/jspdf/-/jspdf-2.5.1.tgz",
|
||||
"integrity": "sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"atob": "^2.1.2",
|
||||
"btoa": "^1.2.1",
|
||||
"fflate": "^0.4.8"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"canvg": "^3.0.6",
|
||||
"core-js": "^3.6.0",
|
||||
"dompurify": "^2.2.0",
|
||||
"html2canvas": "^1.0.0-rc.5"
|
||||
}
|
||||
},
|
||||
"node_modules/jspdf-autotable": {
|
||||
"version": "3.5.28",
|
||||
"resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-3.5.28.tgz",
|
||||
"integrity": "sha512-eNYt5mUxCGa1Y0bmOhGXU+Va/P2jNkgOgUPGIpZp2rbZUauU34s0q3S59Jps5zi2u90nQy7DmD/D+sdesJLIEA==",
|
||||
"peerDependencies": {
|
||||
"jspdf": "^2.5.1"
|
||||
}
|
||||
},
|
||||
"node_modules/kind-of": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||
@@ -7890,6 +8003,12 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||
@@ -8630,6 +8749,15 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/raf": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
|
||||
"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"performance-now": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/randombytes": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
|
||||
@@ -8760,8 +8888,7 @@
|
||||
"node_modules/regenerator-runtime": {
|
||||
"version": "0.13.9",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
|
||||
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
|
||||
},
|
||||
"node_modules/regenerator-transform": {
|
||||
"version": "0.15.0",
|
||||
@@ -8919,6 +9046,15 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/rgbcolor": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz",
|
||||
"integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8.15"
|
||||
}
|
||||
},
|
||||
"node_modules/rimraf": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||
@@ -9364,6 +9500,15 @@
|
||||
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/stackblur-canvas": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.5.0.tgz",
|
||||
"integrity": "sha512-EeNzTVfj+1In7aSLPKDD03F/ly4RxEuF/EX0YcOG0cKoPXs+SLZxDawQbexQDBzwROs4VKLWTOaZQlZkGBFEIQ==",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.1.14"
|
||||
}
|
||||
},
|
||||
"node_modules/stackframe": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz",
|
||||
@@ -9491,6 +9636,15 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/svg-pathdata": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz",
|
||||
"integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/svg-tags": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
|
||||
@@ -9639,6 +9793,14 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/text-segmentation": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz",
|
||||
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
|
||||
"dependencies": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/thenify": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
|
||||
@@ -9882,6 +10044,14 @@
|
||||
"node": ">= 0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/utrie": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz",
|
||||
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
|
||||
"dependencies": {
|
||||
"base64-arraybuffer": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
@@ -11846,7 +12016,6 @@
|
||||
"version": "7.17.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
|
||||
"integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.13.4"
|
||||
}
|
||||
@@ -12226,6 +12395,12 @@
|
||||
"integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/raf": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.0.tgz",
|
||||
"integrity": "sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==",
|
||||
"optional": true
|
||||
},
|
||||
"@types/range-parser": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
|
||||
@@ -13202,6 +13377,11 @@
|
||||
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
|
||||
"dev": true
|
||||
},
|
||||
"atob": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
||||
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
|
||||
},
|
||||
"autoprefixer": {
|
||||
"version": "10.4.4",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz",
|
||||
@@ -13293,6 +13473,11 @@
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||
"dev": true
|
||||
},
|
||||
"base64-arraybuffer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
||||
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
|
||||
},
|
||||
"base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
@@ -13435,6 +13620,11 @@
|
||||
"picocolors": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"btoa": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
|
||||
"integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g=="
|
||||
},
|
||||
"buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
@@ -13506,6 +13696,22 @@
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001328.tgz",
|
||||
"integrity": "sha512-Ue55jHkR/s4r00FLNiX+hGMMuwml/QGqqzVeMQ5thUewznU2EdULFvI3JR7JJid6OrjJNfFvHY2G2dIjmRaDDQ=="
|
||||
},
|
||||
"canvg": {
|
||||
"version": "3.0.10",
|
||||
"resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.10.tgz",
|
||||
"integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
"@types/raf": "^3.4.0",
|
||||
"core-js": "^3.8.3",
|
||||
"raf": "^3.4.1",
|
||||
"regenerator-runtime": "^0.13.7",
|
||||
"rgbcolor": "^1.0.1",
|
||||
"stackblur-canvas": "^2.0.0",
|
||||
"svg-pathdata": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"case-sensitive-paths-webpack-plugin": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz",
|
||||
@@ -13940,6 +14146,14 @@
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"css-line-break": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz",
|
||||
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
|
||||
"requires": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"css-loader": {
|
||||
"version": "6.7.1",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz",
|
||||
@@ -14346,6 +14560,12 @@
|
||||
"domelementtype": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"dompurify": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.1.tgz",
|
||||
"integrity": "sha512-ewwFzHzrrneRjxzmK6oVz/rZn9VWspGFRDb4/rRtIsM1n36t9AKma/ye8syCpcw+XJ25kOK/hOG7t1j2I2yBqA==",
|
||||
"optional": true
|
||||
},
|
||||
"domutils": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
|
||||
@@ -14859,6 +15079,11 @@
|
||||
"websocket-driver": ">=0.5.1"
|
||||
}
|
||||
},
|
||||
"fflate": {
|
||||
"version": "0.4.8",
|
||||
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz",
|
||||
"integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA=="
|
||||
},
|
||||
"figures": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
|
||||
@@ -15211,6 +15436,15 @@
|
||||
"tapable": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"html2canvas": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz",
|
||||
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
|
||||
"requires": {
|
||||
"css-line-break": "^2.1.0",
|
||||
"text-segmentation": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
|
||||
@@ -15562,6 +15796,27 @@
|
||||
"universalify": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"jspdf": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/jspdf/-/jspdf-2.5.1.tgz",
|
||||
"integrity": "sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"atob": "^2.1.2",
|
||||
"btoa": "^1.2.1",
|
||||
"canvg": "^3.0.6",
|
||||
"core-js": "^3.6.0",
|
||||
"dompurify": "^2.2.0",
|
||||
"fflate": "^0.4.8",
|
||||
"html2canvas": "^1.0.0-rc.5"
|
||||
}
|
||||
},
|
||||
"jspdf-autotable": {
|
||||
"version": "3.5.28",
|
||||
"resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-3.5.28.tgz",
|
||||
"integrity": "sha512-eNYt5mUxCGa1Y0bmOhGXU+Va/P2jNkgOgUPGIpZp2rbZUauU34s0q3S59Jps5zi2u90nQy7DmD/D+sdesJLIEA==",
|
||||
"requires": {}
|
||||
},
|
||||
"kind-of": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||
@@ -16509,6 +16764,12 @@
|
||||
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
||||
"dev": true
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
|
||||
"optional": true
|
||||
},
|
||||
"picocolors": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||
@@ -16986,6 +17247,15 @@
|
||||
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
||||
"dev": true
|
||||
},
|
||||
"raf": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
|
||||
"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"performance-now": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"randombytes": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
|
||||
@@ -17090,8 +17360,7 @@
|
||||
"regenerator-runtime": {
|
||||
"version": "0.13.9",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
|
||||
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
|
||||
},
|
||||
"regenerator-transform": {
|
||||
"version": "0.15.0",
|
||||
@@ -17214,6 +17483,12 @@
|
||||
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
|
||||
"dev": true
|
||||
},
|
||||
"rgbcolor": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz",
|
||||
"integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==",
|
||||
"optional": true
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||
@@ -17586,6 +17861,12 @@
|
||||
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
|
||||
"dev": true
|
||||
},
|
||||
"stackblur-canvas": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.5.0.tgz",
|
||||
"integrity": "sha512-EeNzTVfj+1In7aSLPKDD03F/ly4RxEuF/EX0YcOG0cKoPXs+SLZxDawQbexQDBzwROs4VKLWTOaZQlZkGBFEIQ==",
|
||||
"optional": true
|
||||
},
|
||||
"stackframe": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz",
|
||||
@@ -17671,6 +17952,12 @@
|
||||
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
||||
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
|
||||
},
|
||||
"svg-pathdata": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz",
|
||||
"integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==",
|
||||
"optional": true
|
||||
},
|
||||
"svg-tags": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
|
||||
@@ -17769,6 +18056,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"text-segmentation": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz",
|
||||
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
|
||||
"requires": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"thenify": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
|
||||
@@ -17952,6 +18247,14 @@
|
||||
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
|
||||
"dev": true
|
||||
},
|
||||
"utrie": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz",
|
||||
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
|
||||
"requires": {
|
||||
"base64-arraybuffer": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
"bootstrap": "^5.1.3",
|
||||
"bootstrap-icons": "^1.8.1",
|
||||
"core-js": "^3.8.3",
|
||||
"html2canvas": "^1.4.1",
|
||||
"jspdf": "^2.5.1",
|
||||
"jspdf-autotable": "^3.5.28",
|
||||
"libphonenumber-js": "^1.10.14",
|
||||
"maz-ui": "^3.0.7",
|
||||
"postcss": "^8",
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');
|
||||
</style>
|
||||
<!-- <title><%= htmlWebpackPlugin.options.title %></title> -->
|
||||
<title>ArrahnBid</title>
|
||||
<title>ArrahnBid - Lelongan Atas Talian</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 64 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 420 KiB |
@@ -13,7 +13,7 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">
|
||||
Terma & Syarat Sistem Lelong
|
||||
Terma & Syarat
|
||||
</h5>
|
||||
<button
|
||||
type="button"
|
||||
@@ -23,85 +23,14 @@
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-12 lg:col-6 paragraph-align">
|
||||
<ol class="pr-3">
|
||||
<li>Daftar secara atas talian.</li>
|
||||
<li>Berumur 18 tahun ke atas.</li>
|
||||
<li>
|
||||
Marhun lelongan boleh dilihat dalam sistem untuk dibida.
|
||||
</li>
|
||||
<li>
|
||||
Harga yang disenaraikan dalam web kami adalah
|
||||
<strong>muktamad</strong> dan tidak boleh dirunding.
|
||||
</li>
|
||||
<li>
|
||||
Harga <strong>minimum bidaan</strong> adalah
|
||||
<strong>RM1.00</strong> dari Harga Asas.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Nilai bidaan hendaklah genap</strong> dan penggunaan
|
||||
<strong>nilaian sen adalah tidak dibenarkan.</strong>
|
||||
</li>
|
||||
<li>
|
||||
Waktu <strong>tamat lelongan</strong> adalah
|
||||
<strong>2 jam</strong> selepas waktu dibuka.
|
||||
</li>
|
||||
<li>
|
||||
Sebelum meningggalkan premis, sila semak dan pastikan marhun
|
||||
yang <strong>diterima adalah betul.</strong> Sekiranya
|
||||
terdapat kekurangan dan masalah
|
||||
<strong>setelah marhun dibawa keluar</strong> dari premis,
|
||||
pihak Permodalan Kelantan Berhad
|
||||
<strong
|
||||
>tidak akan bertanggungjawab dan marhun tidak boleh
|
||||
dikembalikan</strong
|
||||
>.
|
||||
</li>
|
||||
<li>
|
||||
Setiap bidaan atas talian yang telah dihantar tidak boleh
|
||||
diubah, sila pastikan nombor siri dan harga yang dibida diisi
|
||||
secara atas talian adalah betul, pihak kami tidak akan
|
||||
bertanggungjawab atas kesilapan pelanggan mengisi harga bidaan
|
||||
atas talian.
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6 paragraph-align">
|
||||
<ol class="pr-3" start="10">
|
||||
<li style="text-transform: uppercase">
|
||||
<strong
|
||||
>Kaedah pembayaran melalui perbankan atas talian (Online
|
||||
Banking).</strong
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
Pembayaran bidaan hendaklah diselesaikan
|
||||
<strong>sebelum jam 4.00</strong>
|
||||
petang pada hari lelongan.
|
||||
</li>
|
||||
<li>
|
||||
Sila serahkan bukti pembayaran semasa menuntut marhun lelongan
|
||||
(di kaunter atau melalui media elektronik sama ada emel atau
|
||||
whatsapp dan marhun lelong hendaklah dituntut sebelum jam 4.00
|
||||
petang).
|
||||
</li>
|
||||
<li>
|
||||
Pembida yang menang di dalam bidaan tetapi gagal melakukan
|
||||
pembayaran pada hari lelongan akan
|
||||
<strong>disenarai hitamkan.</strong>
|
||||
</li>
|
||||
<li>
|
||||
Semua terma dan syarat di atas adalah tertakluk kepada pindaan
|
||||
dan boleh diubah dari masa ke semasa tanpa dimaklumkan kepada
|
||||
pembida.
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<terms-and-conditions-details></terms-and-conditions-details>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<Button data-bs-dismiss="modal" class="p-button-sm" label="Kembali"></Button>
|
||||
<Button
|
||||
data-bs-dismiss="modal"
|
||||
class="p-button-sm"
|
||||
label="Kembali"
|
||||
></Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -109,7 +38,12 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {};
|
||||
import TermsAndConditionsDetails from './TermsAndConditionsDetails.vue'
|
||||
export default {
|
||||
components: {
|
||||
"terms-and-conditions-details": TermsAndConditionsDetails,
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
<template>
|
||||
<div class="row text-left">
|
||||
<div class="col-12 lg:col-6 paragraph-align">
|
||||
<p>
|
||||
Para pembida yang dihargai, anda dinasihatkan untuk memahami segala
|
||||
terma dan syarat bidaan sebelum membuat sebarang bidaan secara atas
|
||||
talian.
|
||||
</p>
|
||||
<ol class="pr-3">
|
||||
<li>Pendaftaran adalah secara atas talian.</li>
|
||||
<li>
|
||||
Bidaan terbuka kepada semua warganegara berumur 18 tahun ke atas dan
|
||||
syarikat/koperasi yang berdaftar di Malaysia.
|
||||
</li>
|
||||
<li>
|
||||
Nilai bidaan hendaklah genap dan penggunaan nilaian sen adalah tidak
|
||||
dibenarkan.
|
||||
</li>
|
||||
<li>
|
||||
Waktu tamat bidaan adalah pada jam 12.30 petang (bergantung kepada
|
||||
perubahan dari masa ke semasa).
|
||||
</li>
|
||||
<li>
|
||||
Pembida berjaya hendaklah menyelesaikan keseluruhan amaun bidaan dan
|
||||
mengambil marhun pada/sebelum jam 4.00 petang.
|
||||
</li>
|
||||
<li>
|
||||
Setiap bidaan atas talian yang telah dihantar tidak boleh diubah. Sila
|
||||
pastikan nombor siri dan harga bidaan adalah betul. Pihak kami tidak
|
||||
akan bertanggungjawab di atas kesilapan pelanggan mengisi harga
|
||||
bidaan.
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6 paragraph-align">
|
||||
<ol class="pr-3" start="7">
|
||||
<li>
|
||||
Kaedah pembayaran adalah melalui perbankan atas talian (Online
|
||||
Banking) sahaja.
|
||||
</li>
|
||||
<li>
|
||||
Sila serahkan bukti pembayaran semasa menuntut marhun bidaan (di
|
||||
kaunter atau melalui media elektronik sama ada emel atau Whatsapp).
|
||||
</li>
|
||||
<li>
|
||||
Pembida yang menang di dalam bidaan tetapi gagal melakukan pembayaran
|
||||
pada masa yang telah ditetapkan akan disenarai hitamkan.
|
||||
</li>
|
||||
<li>
|
||||
Semua Terma & Syarat diatas adalah tertakluk kepada pindaan dan boleh
|
||||
diubah dari masa ke semasa tanpa dimaklumkan kepada pembida.
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -20,6 +20,7 @@
|
||||
md:w-10
|
||||
lg:w-8
|
||||
xl:w-7
|
||||
content-bg
|
||||
"
|
||||
>
|
||||
<div class="text-center mb-5">
|
||||
@@ -211,10 +212,16 @@ export default {
|
||||
#9599e2 100%
|
||||
),
|
||||
url("/src/assets/background_arrahn.jpg"); */
|
||||
/* background: url("/src/assets/bg1.jpg"); */
|
||||
background: url("/src/assets/bg3.JPG");
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.content-bg {
|
||||
background: #fff9f9eb !important;
|
||||
}
|
||||
|
||||
.logo-img {
|
||||
width: 84px;
|
||||
height: 44px;
|
||||
|
||||
@@ -1,203 +1,45 @@
|
||||
<template>
|
||||
<Toast :breakpoints="{ '767px': { width: '100%', right: '0', left: '0' } }" />
|
||||
<div
|
||||
class="
|
||||
flex
|
||||
main-container
|
||||
min-h-screen
|
||||
align-items-center
|
||||
justify-content-center
|
||||
m-5
|
||||
"
|
||||
>
|
||||
<div class="main-container">
|
||||
<div
|
||||
class="
|
||||
surface-card
|
||||
fadein
|
||||
p-4
|
||||
shadow-2
|
||||
border-round
|
||||
w-11
|
||||
md:w-10
|
||||
lg:w-10
|
||||
xl:w-8
|
||||
"
|
||||
class="flex min-h-screen align-items-center justify-content-center p-5"
|
||||
>
|
||||
<div class="text-center mb-5">
|
||||
<div class="text-900 text-3xl font-semibold mb-3">
|
||||
ArrahnBid
|
||||
<img class="logo-img" src="img/logo_arrahn.png" alt="arrahn-logo" />
|
||||
</div>
|
||||
<span class="text-600 font-medium line-height-3"
|
||||
>Sudah punyai akaun?</span
|
||||
>
|
||||
<router-link
|
||||
v-bind:to="{ name: 'login' }"
|
||||
class="font-medium no-underline ml-2 text-blue-500 cursor-pointer"
|
||||
>Log masuk sekarang!</router-link
|
||||
>
|
||||
</div>
|
||||
<h5>Daftar Akaun</h5>
|
||||
<div class="grid">
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<label for="name">Nama</label>
|
||||
<InputText
|
||||
id="name"
|
||||
type="text"
|
||||
v-model="form.name"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
"
|
||||
></InputText>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.name.$error"
|
||||
>Nama diperlukan</InlineMessage
|
||||
>
|
||||
<div
|
||||
class="
|
||||
surface-card
|
||||
fadein
|
||||
p-4
|
||||
shadow-2
|
||||
border-round
|
||||
w-11
|
||||
md:w-10
|
||||
lg:w-10
|
||||
xl:w-8
|
||||
"
|
||||
>
|
||||
<div class="text-center mb-5">
|
||||
<div class="text-900 text-3xl font-semibold mb-3">
|
||||
ArrahnBid
|
||||
<img class="logo-img" src="img/logo_arrahn.png" alt="arrahn-logo" />
|
||||
</div>
|
||||
<span class="text-600 font-medium line-height-3"
|
||||
>Sudah punyai akaun?</span
|
||||
>
|
||||
<router-link
|
||||
v-bind:to="{ name: 'login' }"
|
||||
class="font-medium no-underline ml-2 text-blue-500 cursor-pointer"
|
||||
>Log masuk sekarang!</router-link
|
||||
>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<!-- <label for="nokp">No Kad Pengenalan</label> -->
|
||||
<select
|
||||
class="p-0 mb-2 form-select"
|
||||
style="width: 190px; border: none"
|
||||
>
|
||||
<option selected value="nokp">No Kad Pengenalan</option>
|
||||
<option value="passpor">No Passport</option>
|
||||
</select>
|
||||
<InputText
|
||||
id="nokp"
|
||||
type="text"
|
||||
v-model="form.nokp"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
"
|
||||
></InputText>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.nokp.$error"
|
||||
>No KP diperlukan</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<label for="notelbimbit">No Telefon</label>
|
||||
<!-- <InputText
|
||||
id="notelbimbit"
|
||||
type="text"
|
||||
v-model="form.notelbimbit"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
"
|
||||
></InputText> -->
|
||||
<MazPhoneNumberInput
|
||||
v-model="form.notelbimbit"
|
||||
show-code-on-list
|
||||
:preferred-countries="['MY']"
|
||||
:translations="{
|
||||
countrySelector: {
|
||||
placeholder: 'Pilih Negara',
|
||||
error: 'Choose country',
|
||||
},
|
||||
phoneInput: {
|
||||
placeholder: 'Nombor Telefon',
|
||||
},
|
||||
}"
|
||||
:no-example="true"
|
||||
@update="results = $event"
|
||||
/>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.notelbimbit.$error"
|
||||
>No telefon diperlukan</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<label for="email">Emel</label>
|
||||
<InputText
|
||||
id="email"
|
||||
type="text"
|
||||
v-model="form.email"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
h-match-phone-number
|
||||
"
|
||||
></InputText>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.email.$error"
|
||||
>Sila isi emel yang sah</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<p class="mb-0" for="username">Username</p>
|
||||
<InputText
|
||||
id="username"
|
||||
type="text"
|
||||
v-model="form.username"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
h-match-password
|
||||
"
|
||||
></InputText>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.username.$error"
|
||||
>Username diperlukan</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<p class="mb-0">Kata Laluan</p>
|
||||
<div class="p-input-icon-right">
|
||||
<i class="pi pi-user" />
|
||||
<!-- <InputText
|
||||
id="password"
|
||||
<h5>Daftar Akaun</h5>
|
||||
<div class="grid">
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<label for="name">Nama</label>
|
||||
<InputText
|
||||
id="name"
|
||||
type="text"
|
||||
v-model="form.password"
|
||||
v-model="form.name"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
@@ -210,240 +52,264 @@
|
||||
focus:border-primary
|
||||
w-full
|
||||
"
|
||||
></InputText> -->
|
||||
<Password
|
||||
v-model="form.password"
|
||||
toggleMask
|
||||
:feedback="false"
|
||||
></InputText>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.name.$error"
|
||||
>Nama diperlukan</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<label for="nokp">No Kad Pengenalan</label>
|
||||
<!-- <select
|
||||
class="p-0 mb-2 form-select"
|
||||
style="width: 190px; border: none"
|
||||
>
|
||||
<option selected value="nokp">No Kad Pengenalan</option>
|
||||
<option value="passpor">No Passport</option>
|
||||
</select> -->
|
||||
<InputText
|
||||
id="nokp"
|
||||
type="text"
|
||||
v-model="form.nokp"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay surface-border
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
"
|
||||
/>
|
||||
></InputText>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.nokp.$error"
|
||||
>Semak No KP</InlineMessage
|
||||
>
|
||||
</div>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.password.$error"
|
||||
>Kata laluan diperlukan & mestilah 8 huruf</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<label for="confirmpassword">Tetapkan Kata Laluan</label>
|
||||
<InputText
|
||||
id="confirmpassword"
|
||||
type="text"
|
||||
v-model="form.password_confirmation"
|
||||
disabled
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
"
|
||||
></InputText>
|
||||
<InlineMessage class="mt-1"
|
||||
>Tetapkan kata laluan diperlukan</InlineMessage
|
||||
>
|
||||
<div class="col-12">
|
||||
<div class="field">
|
||||
<label for="alamat">Alamat</label>
|
||||
<Textarea
|
||||
id="alamat"
|
||||
v-model="form.alamat"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
"
|
||||
></Textarea>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.alamat.$error"
|
||||
>Alamat diperlukan</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="col-12">
|
||||
<div class="field">
|
||||
<label for="frontic">Kad Pengenalan Hadapan</label>
|
||||
<!-- <FileUpload
|
||||
name="demo[]"
|
||||
url="./upload"
|
||||
:maxFileSize="1500000"
|
||||
:fileLimit="1"
|
||||
:multiple="false"
|
||||
:showUploadButton="false"
|
||||
:showCancelButton="false"
|
||||
v-model="form.images.file1"
|
||||
/> -->
|
||||
<input
|
||||
class="form-control"
|
||||
type="file"
|
||||
id="formFile"
|
||||
ref="formFileRef"
|
||||
@change="readImage()"
|
||||
/>
|
||||
<!-- <InlineMessage class="mt-1" v-if="v$.form.images.file1.$error"
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<label for="notelbimbit">No Telefon</label>
|
||||
<MazPhoneNumberInput
|
||||
v-model="form.notelbimbit"
|
||||
show-code-on-list
|
||||
:fetch-country="true"
|
||||
:preferred-countries="['MY']"
|
||||
:translations="{
|
||||
countrySelector: {
|
||||
placeholder: 'Pilih Negara',
|
||||
error: 'Choose country',
|
||||
},
|
||||
phoneInput: {
|
||||
placeholder: 'Nombor Telefon',
|
||||
},
|
||||
}"
|
||||
:no-example="true"
|
||||
@update="results = $event"
|
||||
/>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.notelbimbit.$error"
|
||||
>No telefon diperlukan</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<label for="email">Emel</label>
|
||||
<InputText
|
||||
id="email"
|
||||
type="text"
|
||||
v-model="form.email"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
h-match-phone-number
|
||||
"
|
||||
></InputText>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.email.$error"
|
||||
>Sila isi emel yang sah</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<p class="mb-0" for="username">Username</p>
|
||||
<InputText
|
||||
id="username"
|
||||
type="text"
|
||||
v-model="form.username"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay
|
||||
p-2
|
||||
border-1 border-solid
|
||||
surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
h-match-password
|
||||
"
|
||||
></InputText>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.username.$error"
|
||||
>Username diperlukan</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 lg:col-6">
|
||||
<div class="field">
|
||||
<p class="mb-0">Kata Laluan</p>
|
||||
<div class="p-input-icon-right">
|
||||
<i class="pi pi-user" />
|
||||
<Password
|
||||
v-model="form.password"
|
||||
toggleMask
|
||||
:feedback="false"
|
||||
class="
|
||||
text-base text-color
|
||||
surface-overlay surface-border
|
||||
border-round
|
||||
appearance-none
|
||||
outline-none
|
||||
focus:border-primary
|
||||
w-full
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.password.$error"
|
||||
>Kata laluan diperlukan & mestilah 8 huruf</InlineMessage
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="col-12">
|
||||
<div class="field">
|
||||
<label for="frontic">Kad Pengenalan Hadapan</label>
|
||||
<input
|
||||
class="form-control"
|
||||
type="file"
|
||||
id="formFile"
|
||||
ref="formFileRef"
|
||||
@change="readImage()"
|
||||
/>
|
||||
<InlineMessage class="mt-1" v-if="v$.form.images.file1.$error"
|
||||
>Kad pengenalan hadapan diperlukan</InlineMessage
|
||||
> -->
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="field">
|
||||
<label for="backic">Kad Pengenalan Belakang</label>
|
||||
<input class="form-control" type="file" />
|
||||
<!-- <InlineMessage class="mt-1" v-if="v$.form.images.file2.$error"
|
||||
<div class="col-12">
|
||||
<div class="field">
|
||||
<label for="backic">Kad Pengenalan Belakang</label>
|
||||
<input class="form-control" type="file" />
|
||||
<InlineMessage class="mt-1" v-if="v$.form.images.file2.$error"
|
||||
>Kad pengenalan belakang diperlukan</InlineMessage
|
||||
> -->
|
||||
>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="col-12">
|
||||
<div class="mt-3 mb-1">
|
||||
<label>
|
||||
<input type="checkbox" v-model="form.register_agree" />
|
||||
Setuju Dengan <terms-and-conditions></terms-and-conditions>
|
||||
</label>
|
||||
</div>
|
||||
<InlineMessage v-if="v$.form.register_agree.$error"
|
||||
>Anda mestilah bersetuju dengan terma & syarat.</InlineMessage
|
||||
>
|
||||
</div>
|
||||
<div class="col-12 text-center">
|
||||
<Button
|
||||
class="p-button-sm"
|
||||
label="Teruskan"
|
||||
icon="pi pi-sign-in"
|
||||
iconPos="right"
|
||||
@click="openModalTNC()"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="mt-3 mb-1">
|
||||
<label>
|
||||
<input type="checkbox" v-model="form.register_agree" />
|
||||
Setuju Dengan <terms-and-conditions></terms-and-conditions>
|
||||
</label>
|
||||
</div>
|
||||
<InlineMessage v-if="v$.form.register_agree.$error"
|
||||
>Anda mestilah bersetuju dengan terma & syarat.</InlineMessage
|
||||
>
|
||||
</div>
|
||||
<Dialog
|
||||
header="Terma & Syarat"
|
||||
v-model:visible="isDisplayTNC"
|
||||
:style="{ width: '80vw' }"
|
||||
:modal="true"
|
||||
>
|
||||
<div>
|
||||
<terms-and-conditions-details></terms-and-conditions-details>
|
||||
</div>
|
||||
<div class="col-12 text-center">
|
||||
<template #footer>
|
||||
<Button
|
||||
label="Batal Pendaftaran"
|
||||
icon="pi pi-times"
|
||||
iconPos="right"
|
||||
@click="closeModalTNC()"
|
||||
class="p-button-text"
|
||||
/>
|
||||
<Button
|
||||
class="p-button-sm"
|
||||
label="Daftar"
|
||||
label="Daftar Sekarang"
|
||||
:loading="isLoading"
|
||||
icon="pi pi-sign-in"
|
||||
iconPos="right"
|
||||
@click="doRegister()"
|
||||
></Button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="container-fluid p-2">
|
||||
<div class="row justify-content-center p-5 rounded">
|
||||
<h1 class="mb-5 text-primary">Sistem Lelong</h1>
|
||||
<h4>Daftar Akaun</h4>
|
||||
<form @submit.prevent="submit">
|
||||
<div class="row">
|
||||
<div class="col-6 mb-1">
|
||||
<div class="form-floating">
|
||||
<input type="text" class="form-control" v-model="form.name" />
|
||||
<label>Nama</label>
|
||||
</div>
|
||||
<div style="font-size: 15px" class="fst-italic text-danger">
|
||||
<div class="text-start">
|
||||
*Minimum tambahan harga bida adalah RM1.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 mb-1">
|
||||
<div class="form-floating">
|
||||
<input type="text" class="form-control" v-model="form.nokp" />
|
||||
<label>No KP</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6 mb-1">
|
||||
<div class="form-floating">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
v-model="form.notelbimbit"
|
||||
/>
|
||||
<label>No. Telefon</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 mb-1">
|
||||
<div class="form-floating">
|
||||
<input type="email" class="form-control" v-model="form.email" />
|
||||
<label>E-mel</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6 mb-1">
|
||||
<div class="form-floating">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
autocomplete="off"
|
||||
v-model="form.username"
|
||||
/>
|
||||
<label>Username</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 mb-1">
|
||||
<div class="form-floating"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6 mb-1">
|
||||
<div class="form-floating">
|
||||
<input
|
||||
type="password"
|
||||
class="form-control"
|
||||
v-model="form.password"
|
||||
/>
|
||||
<label>Password</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 mb-1">
|
||||
<div class="form-floating">
|
||||
<input
|
||||
type="password"
|
||||
class="form-control"
|
||||
v-model="form.password_confirmation"
|
||||
/>
|
||||
<label>Password Confirmation</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6 mb-1">
|
||||
<label>Kad Pengenalan Hadapan</label>
|
||||
<input type="file" class="form-control" />
|
||||
</div>
|
||||
<div class="col-6 mb-1">
|
||||
<label>Kad Pengenalan Belakang</label>
|
||||
<input type="file" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="checkbox mt-3 mb-3">
|
||||
<label>
|
||||
<input type="checkbox" value="1" id="register_agree" /> Setuju
|
||||
Dengan
|
||||
<terms-and-conditions></terms-and-conditions>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-3">
|
||||
<button
|
||||
@click="doRegister"
|
||||
class="w-100 mt-4 mb-5 btn btn-primary"
|
||||
type="submit"
|
||||
>
|
||||
Daftar
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<router-link to="/login">Log Masuk</router-link>
|
||||
</div>
|
||||
</div> -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import axios from "axios";
|
||||
import useVuelidate from "@vuelidate/core";
|
||||
import { required, email, minLength } from "@vuelidate/validators";
|
||||
import { required, email, minLength, maxLength } from "@vuelidate/validators";
|
||||
import TermsAndConditionsDetails from "./TermsAndConditionsDetails.vue";
|
||||
|
||||
export default {
|
||||
name: "Register",
|
||||
components: {
|
||||
"terms-and-conditions-details": TermsAndConditionsDetails,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
v$: useVuelidate(),
|
||||
alertMessages: Array,
|
||||
isLoading: false,
|
||||
isDisplayTNC: false,
|
||||
form: {
|
||||
name: "",
|
||||
username: "",
|
||||
@@ -452,6 +318,7 @@ export default {
|
||||
email: "",
|
||||
notelbimbit: "",
|
||||
register_agree: null,
|
||||
alamat: "",
|
||||
// password_confirmation: "",
|
||||
images: {
|
||||
file1: {
|
||||
@@ -478,8 +345,8 @@ export default {
|
||||
axios
|
||||
.post("/register", this.form)
|
||||
.then((response) => {
|
||||
// console.log("doRegister", response);
|
||||
if (response.data.success == true) {
|
||||
console.log(response);
|
||||
localStorage.setItem("token", response.data.token);
|
||||
localStorage.setItem("id", response.data.user.id);
|
||||
localStorage.setItem("nokp", response.data.user.nokp);
|
||||
@@ -494,6 +361,7 @@ export default {
|
||||
this.isLoading = false;
|
||||
} else if (response.data.success == false) {
|
||||
this.isLoading = false;
|
||||
this.isDisplayTNC = false;
|
||||
this.alertMessages = response.data.message;
|
||||
Object.values(this.alertMessages).forEach((val) =>
|
||||
this.$toast.add({
|
||||
@@ -502,6 +370,14 @@ export default {
|
||||
detail: val[0],
|
||||
})
|
||||
);
|
||||
} else if (response.data.success == "Staff") {
|
||||
this.isLoading = false;
|
||||
this.isDisplayTNC = false;
|
||||
this.$toast.add({
|
||||
severity: "warn",
|
||||
summary: "Failed to register!",
|
||||
detail: response.data.message,
|
||||
});
|
||||
} else {
|
||||
this.isLoading = false;
|
||||
alert(response);
|
||||
@@ -515,6 +391,15 @@ export default {
|
||||
});
|
||||
}
|
||||
},
|
||||
openModalTNC() {
|
||||
this.v$.$validate();
|
||||
if (!this.v$.$error) {
|
||||
this.isDisplayTNC = true;
|
||||
}
|
||||
},
|
||||
closeModalTNC() {
|
||||
this.isDisplayTNC = false;
|
||||
},
|
||||
readImage() {},
|
||||
},
|
||||
validations() {
|
||||
@@ -522,11 +407,12 @@ export default {
|
||||
form: {
|
||||
name: { required },
|
||||
username: { required },
|
||||
nokp: { required },
|
||||
nokp: { required, minLengthValue: minLength(12), maxLengthValue: maxLength(12) },
|
||||
password: { required, minLengthValue: minLength(8) },
|
||||
email: { required, email },
|
||||
notelbimbit: { required },
|
||||
notelbimbit: { required, minLengthValue: minLength(8) },
|
||||
register_agree: { required },
|
||||
alamat: { required },
|
||||
// images: {
|
||||
// file1: {
|
||||
// filename: { required },
|
||||
@@ -542,6 +428,12 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.main-container {
|
||||
background: url("/src/assets/bg3.JPG");
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.logo-img {
|
||||
width: 84px;
|
||||
height: 44px;
|
||||
|
||||
@@ -8,11 +8,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
v-else
|
||||
style="min-height: 70vh"
|
||||
class="fadein animation-duration-400"
|
||||
>
|
||||
<div v-else style="min-height: 70vh" class="fadein animation-duration-400">
|
||||
<div v-if="isSuccess" class="grid justify-content-center">
|
||||
<div class="col-12 lg:col-11">
|
||||
<Card>
|
||||
@@ -23,7 +19,18 @@
|
||||
<Accordion :multiple="true">
|
||||
<AccordionTab v-for="bid in listBid" v-bind:key="bid">
|
||||
<template #header>
|
||||
<span>{{ bid.caw_name }}</span>
|
||||
<div class="flex justify-content-between w-100">
|
||||
<div class="align-self-center" style="margin: 5px">
|
||||
{{ bid.caw_name }}
|
||||
</div>
|
||||
<div class="style-info">
|
||||
Jumlah RM{{
|
||||
bid.total_bidaan
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="table text-center table-bordered table-hover">
|
||||
@@ -61,12 +68,14 @@
|
||||
</tr>
|
||||
<tr style="text-transform: uppercase">
|
||||
<th colspan="3">Jumlah</th>
|
||||
<th>{{bid.total_berat}}g</th>
|
||||
<th>RM{{
|
||||
<th>{{ bid.total_berat }}g</th>
|
||||
<th>
|
||||
RM{{
|
||||
bid.total_bidaan
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}</th>
|
||||
}}
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -76,70 +85,6 @@
|
||||
</template>
|
||||
</Card>
|
||||
</div>
|
||||
<!-- <div class="accordion" id="accordionExample">
|
||||
<div v-for="bid in listBid" v-bind:key="bid" class="accordion-item">
|
||||
<h2 class="accordion-header" id="headingOne">
|
||||
<button
|
||||
class="accordion-button"
|
||||
type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseOne"
|
||||
aria-expanded="true"
|
||||
aria-controls="collapseOne"
|
||||
>
|
||||
{{ bid.caw_name }}
|
||||
</button>
|
||||
</h2>
|
||||
<div
|
||||
id="collapseOne"
|
||||
class="accordion-collapse collapse show"
|
||||
aria-labelledby="headingOne"
|
||||
data-bs-parent="#accordionExample"
|
||||
>
|
||||
<div class="accordion-body">
|
||||
<table class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Bil</th>
|
||||
<th scope="col">No Rujukan</th>
|
||||
<th scope="col">Tarikh/Masa Bidaan</th>
|
||||
<th scope="col">Berat</th>
|
||||
<th scope="col">Harga Bida</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in bid.lelongbid" v-bind:key="item">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>
|
||||
<a
|
||||
href="#"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#marhunModal"
|
||||
v-on:click="marhunModal(item)"
|
||||
>{{ item.norujukan }}</a
|
||||
>
|
||||
</td>
|
||||
<td>{{ item.masa_bidaan }}</td>
|
||||
<td>{{ item.berat }}g</td>
|
||||
<td>
|
||||
RM{{
|
||||
item.hargabida
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="text-transform: uppercase">
|
||||
<th colspan="3">Jumlah</th>
|
||||
<th>xxxg</th>
|
||||
<th>RMxxxxx</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div v-else>
|
||||
<div
|
||||
@@ -156,7 +101,7 @@
|
||||
<span class="text-400"
|
||||
>Sila rujuk halaman
|
||||
<router-link v-bind:to="{ name: 'home' }">Utama</router-link>
|
||||
untuk jadual lelong.</span
|
||||
untuk jadual lelongan.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
@@ -193,25 +138,32 @@
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid rgba(0, 0, 0, 0.125);
|
||||
min-height: 300px;
|
||||
min-width: 300px;
|
||||
max-height: 600px;
|
||||
max-width: 600px;
|
||||
"
|
||||
>
|
||||
-gambar marhun-
|
||||
<item-master-image-modal
|
||||
v-if="theData.filemarhun"
|
||||
v-bind:key="reloadImageComponent"
|
||||
v-bind:norujukan="theData.norujukan"
|
||||
v-bind:filemarhun_id="theData.filemarhun[0].id"
|
||||
></item-master-image-modal>
|
||||
<p v-else style="text-align: center; width: 100%">
|
||||
Image Unavailable
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-12 text-center lg:col-6">
|
||||
<div class="overflow-x-auto">
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr class="table-light">
|
||||
<td>Bil</td>
|
||||
<td style="min-width: 115px">Jenis Marhun</td>
|
||||
<td style="min-width: 42px">Karat</td>
|
||||
<td style="min-width: 42px">Berat</td>
|
||||
<td style="min-width: 102px">Harga Asas</td>
|
||||
<th>Bil</th>
|
||||
<th style="min-width: 115px">Jenis Marhun</th>
|
||||
<th style="min-width: 42px">Karat</th>
|
||||
<th style="min-width: 42px">Berat</th>
|
||||
<th style="min-width: 102px">Harga Asas</th>
|
||||
</tr>
|
||||
<tr
|
||||
v-for="(marhun, index) in theData.lelongbidmarhun"
|
||||
@@ -276,9 +228,13 @@
|
||||
|
||||
<script>
|
||||
import axios from "axios";
|
||||
import ItemMasterImageModal from "../list/ItemMasterImageModal.vue";
|
||||
|
||||
export default {
|
||||
name: "BidDetail",
|
||||
components: {
|
||||
"item-master-image-modal": ItemMasterImageModal
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
listBid: [],
|
||||
@@ -286,6 +242,7 @@ export default {
|
||||
isSuccess: false,
|
||||
theData: "",
|
||||
date: "",
|
||||
reloadImageComponent: 0,
|
||||
// userId: localStorage.getItem("id"),
|
||||
};
|
||||
},
|
||||
@@ -300,7 +257,7 @@ export default {
|
||||
var mm = String(today.getMonth() + 1).padStart(2, "0"); //January is 0!
|
||||
var yyyy = today.getFullYear();
|
||||
|
||||
today = yyyy + "-" + mm + "-" + dd;
|
||||
today = dd + "-" + mm + "-" + yyyy;
|
||||
this.date = today;
|
||||
},
|
||||
bidRecord() {
|
||||
@@ -310,11 +267,9 @@ export default {
|
||||
headers: {
|
||||
Authorization: "Bearer " + localStorage.getItem("token"),
|
||||
},
|
||||
params: {
|
||||
lelongId: localStorage.getItem("lelong_id"),
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
// console.log("bidRecord", response);
|
||||
if (response.data.success == true) {
|
||||
this.isLoading = false;
|
||||
this.isSuccess = true;
|
||||
@@ -330,6 +285,7 @@ export default {
|
||||
},
|
||||
marhunModal(value) {
|
||||
this.theData = value;
|
||||
this.reloadImageComponent += 1;
|
||||
console.log(value);
|
||||
},
|
||||
},
|
||||
@@ -340,4 +296,18 @@ export default {
|
||||
.container-height {
|
||||
min-height: 70vh;
|
||||
}
|
||||
|
||||
.style-info {
|
||||
background: #e4f8f0;
|
||||
border: solid #1ea97c;
|
||||
border-width: 0px;
|
||||
color: #1ea97c;
|
||||
font-size: 1rem;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
padding: 0.4rem 0.9rem;
|
||||
margin: 0;
|
||||
border-radius: 6px;
|
||||
font-weight: 400;
|
||||
}
|
||||
</style>
|
||||
@@ -15,108 +15,6 @@
|
||||
>
|
||||
<div v-if="isSuccess" class="row">
|
||||
<div class="col-12 lg:col-9">
|
||||
<!-- <div class="card">
|
||||
<div class="card-header"><h5>SENARAI TROLI</h5></div>
|
||||
<div class="accordion" id="accordionExample">
|
||||
<div
|
||||
v-for="item in listItems"
|
||||
v-bind:key="item"
|
||||
class="accordion-item"
|
||||
>
|
||||
<h2 class="accordion-header" id="headingOne">
|
||||
<button
|
||||
class="accordion-button"
|
||||
type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseOne"
|
||||
aria-expanded="true"
|
||||
aria-controls="collapseOne"
|
||||
>
|
||||
{{ item.caw_name }}
|
||||
</button>
|
||||
</h2>
|
||||
<div
|
||||
id="collapseOne"
|
||||
class="accordion-collapse collapse show"
|
||||
aria-labelledby="headingOne"
|
||||
data-bs-parent="#accordionExample"
|
||||
>
|
||||
<div class="accordion-body">
|
||||
<table class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Bil</th>
|
||||
<th>No Rujukan</th>
|
||||
<th>Berat</th>
|
||||
<th>Harga Asas</th>
|
||||
<th>Harga Bida</th>
|
||||
<th>Tindakan</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr
|
||||
v-for="(surat, index) in item.lelongbid"
|
||||
v-bind:key="surat"
|
||||
>
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>
|
||||
<a
|
||||
href="#"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#marhunModal"
|
||||
v-on:click="openModal(surat)"
|
||||
>
|
||||
{{ surat.norujukan }}
|
||||
</a>
|
||||
</td>
|
||||
<td>{{ surat.berat }}g</td>
|
||||
<td>
|
||||
RM{{
|
||||
surat.hargaasas
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</td>
|
||||
<td>
|
||||
RM{{
|
||||
surat.hargabida
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</td>
|
||||
<td>
|
||||
<button
|
||||
class="btn me-1 ms-1 btn-warning"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#editModal"
|
||||
v-on:click="openModal(surat)"
|
||||
>
|
||||
Ubah Bidaan
|
||||
</button>
|
||||
<button
|
||||
class="btn me-1 ms-1 btn-danger"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#deleteModal"
|
||||
v-on:click="openModal(surat)"
|
||||
>
|
||||
Padam Surat
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="text-transform: uppercase">
|
||||
<th colspan="2">JUMLAH</th>
|
||||
<th>xxxg</th>
|
||||
<th></th>
|
||||
<th>RMxxxxxx</th>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<Card>
|
||||
<template #title>
|
||||
<div class="font-normal">Senarai Troli</div>
|
||||
@@ -125,8 +23,18 @@
|
||||
<Accordion :multiple="true">
|
||||
<AccordionTab v-for="item in listItems" v-bind:key="item">
|
||||
<template #header>
|
||||
<span>{{ item.caw_name }}</span>
|
||||
<!-- <span class="ml-2">Jumlah:RMXXXX</span> -->
|
||||
<div class="flex justify-content-between w-100">
|
||||
<div class="align-self-center" style="margin: 5px">
|
||||
{{ item.caw_name }}
|
||||
</div>
|
||||
<div class="style-info">
|
||||
Jumlah RM{{
|
||||
item.total_bidaan
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="table text-center table-bordered table-hover">
|
||||
@@ -232,12 +140,6 @@
|
||||
}}
|
||||
</p>
|
||||
</div>
|
||||
<!-- <Button
|
||||
label="Teruskan"
|
||||
class="p-button-sm w-full"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#bidModal"
|
||||
/> -->
|
||||
<Button
|
||||
label="Teruskan"
|
||||
class="p-button-sm w-full"
|
||||
@@ -299,18 +201,23 @@
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid rgba(0, 0, 0, 0.125);
|
||||
min-height: 300px;
|
||||
min-width: 300px;
|
||||
max-height: 600px;
|
||||
max-width: 600px;
|
||||
"
|
||||
>
|
||||
-gambar marhun-
|
||||
<item-master-image-modal
|
||||
v-if="theSurat.filemarhun"
|
||||
v-bind:key="reloadImageComponent"
|
||||
v-bind:norujukan="theSurat.norujukan"
|
||||
v-bind:filemarhun_id="theSurat.filemarhun[0].id"
|
||||
></item-master-image-modal>
|
||||
<p v-else style="text-align: center; width: 100%">
|
||||
Image Unavailable
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-12 text-center lg:col-6">
|
||||
<!-- <p>Marhun: {{ theSurat.marhun }}</p>
|
||||
<p>Jumlah Berat: {{ theSurat.berat }}g</p> -->
|
||||
<div class="overflow-x-auto">
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
@@ -351,62 +258,6 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- <div class="row justify-content-center">
|
||||
<div class="col-3">
|
||||
<label class="col-form-label text-end"
|
||||
>Jumlah Harga Asas</label
|
||||
>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-3">
|
||||
<span class="input-group-text">RM</span>
|
||||
<div
|
||||
style="background-color: #e9ecef; padding-bottom: 0px"
|
||||
class="form-control text-start justify-content-start"
|
||||
disabled
|
||||
>
|
||||
{{ theSurat.hargaasas }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center mb-3">
|
||||
<div class="col-3">
|
||||
<label class="col-form-label">Tambahan Harga Bida</label>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">RM</span>
|
||||
<input
|
||||
type="text"
|
||||
id="tambahanbida"
|
||||
class="form-control"
|
||||
@keyup="calcTotal()"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-7">
|
||||
<div style="font-size: 15px" class="fst-italic text-danger">
|
||||
<div class="text-end">
|
||||
*Minimum tambahan harga bida adalah RM1.
|
||||
</div>
|
||||
<div class="text-end">
|
||||
*Gandaan ringgit sahaja dibenarkan.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-3">
|
||||
<label class="col-form-label">Jumlah Harga Bida</label>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-3">
|
||||
<span class="input-group-text">RM</span>
|
||||
<input type="text" class="form-control" disabled />
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-6">
|
||||
<label class="col-form-label">Jumlah Harga Bida</label>
|
||||
@@ -440,23 +291,6 @@
|
||||
v-on:click="openModal(theSurat)"
|
||||
class="p-button-warning p-button-text"
|
||||
/>
|
||||
|
||||
<!-- <button
|
||||
class="btn me-1 ms-1 btn-warning"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#editModal"
|
||||
v-on:click="openModal(theSurat)"
|
||||
>
|
||||
Ubah Bidaan
|
||||
</button>
|
||||
<button
|
||||
class="btn me-1 ms-1 btn-danger"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#deleteModal"
|
||||
v-on:click="openModal(theSurat)"
|
||||
>
|
||||
Padam Surat
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -465,20 +299,7 @@
|
||||
class="p-button-sm"
|
||||
label="Kembali"
|
||||
data-bs-dismiss="modal"
|
||||
icon="pi pi-angle-right"
|
||||
iconPos="right"
|
||||
/>
|
||||
|
||||
<!-- <button
|
||||
type="submit"
|
||||
class="btn btn-secondary"
|
||||
data-bs-dismiss="modal"
|
||||
>
|
||||
Kembali
|
||||
</button> -->
|
||||
<!-- <button type="submit" class="btn btn-success" @click="updateItem()">
|
||||
Terima
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -597,20 +418,6 @@
|
||||
:loading="isLoadingUbah"
|
||||
@click="updateItem(theSurat)"
|
||||
/>
|
||||
<!-- <button
|
||||
type="submit"
|
||||
class="btn btn-danger me-2"
|
||||
data-bs-dismiss="modal"
|
||||
>
|
||||
Batal
|
||||
</button>
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-success"
|
||||
@click="updateItem(theSurat)"
|
||||
>
|
||||
Ubah
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -680,20 +487,6 @@
|
||||
:loading="isLoadingPadam"
|
||||
@click="deleteItem(theSurat)"
|
||||
/>
|
||||
<!-- <button
|
||||
type="submit"
|
||||
class="btn btn-secondary me-2"
|
||||
data-bs-dismiss="modal"
|
||||
>
|
||||
Kembali
|
||||
</button>
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-danger"
|
||||
@click="deleteItem(theSurat)"
|
||||
>
|
||||
Padam
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -742,19 +535,6 @@
|
||||
<p class="text-danger">
|
||||
<i>*Bidaan tidak dapat diubah selepas dihantar.</i>
|
||||
</p>
|
||||
|
||||
<!-- <table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr class="bg-light">
|
||||
<th>Jumlah Surat</th>
|
||||
<th>Jumlah Bidaan</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ total_sag }}</td>
|
||||
<td>RM{{ total_bidaan }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table> -->
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button
|
||||
@@ -774,10 +554,7 @@
|
||||
<p
|
||||
class="fst-italic mt-3 fw-lighter"
|
||||
style="text-align: right; font-size: small"
|
||||
>
|
||||
<!-- *Pelayar akan dialihkan ke halaman pembayaran jika butang 'Bayar'
|
||||
ditekan. -->
|
||||
</p>
|
||||
></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -893,9 +670,13 @@
|
||||
import axios from "axios";
|
||||
import useVuelidate from "@vuelidate/core";
|
||||
import { required, integer, numeric, minValue } from "@vuelidate/validators";
|
||||
import ItemMasterImageModal from "../list/ItemMasterImageModal.vue";
|
||||
|
||||
export default {
|
||||
emits: ["reloadComponent"],
|
||||
components: {
|
||||
"item-master-image-modal": ItemMasterImageModal,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
v$: useVuelidate(),
|
||||
@@ -910,6 +691,7 @@ export default {
|
||||
listItems: "",
|
||||
theSurat: "",
|
||||
tambahanBidaan: "",
|
||||
reloadImageComponent: 0,
|
||||
jumlahBidaan: "",
|
||||
akadLelong: null,
|
||||
hargaAsas: "",
|
||||
@@ -955,9 +737,9 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
// console.log("listCart", response);
|
||||
this.isLoading = false;
|
||||
if (response.data.success == true) {
|
||||
console.log(response);
|
||||
this.isSuccess = true;
|
||||
this.listItems = response.data.cart;
|
||||
this.masterTotalSurat = response.data.master_total_surat;
|
||||
@@ -965,7 +747,6 @@ export default {
|
||||
} else if (response.data.success == false) {
|
||||
this.isSuccess = false;
|
||||
}
|
||||
console.log(response);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
@@ -976,6 +757,7 @@ export default {
|
||||
this.tambahanBidaan = value.hargabida - value.hargaasas;
|
||||
this.jumlahBidaan = parseFloat(value.hargabida);
|
||||
this.hargaAsas = value.hargaasas;
|
||||
this.reloadImageComponent += 1;
|
||||
},
|
||||
deleteItem(value) {
|
||||
this.isLoadingPadam = true;
|
||||
@@ -1041,10 +823,10 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
// console.log("updateItem", response);
|
||||
this.isLoadingUbah = false;
|
||||
// this.isLoading = true;
|
||||
this.$refs.editClose.click();
|
||||
console.log(response);
|
||||
this.$swal.fire({
|
||||
icon: "success",
|
||||
title: "Bidaan Berjaya Diubah",
|
||||
@@ -1087,7 +869,7 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
console.log(response);
|
||||
// console.log("bidderSelectBidItem", response);
|
||||
if (response.data.success == "success") {
|
||||
this.isLoadingDaftar = false;
|
||||
this.$refs.daftarBidaanClose.click();
|
||||
@@ -1101,7 +883,6 @@ export default {
|
||||
allowEscapeKey: false,
|
||||
});
|
||||
// this.loading = false;
|
||||
console.log(response);
|
||||
this.$emit("reloadComponent");
|
||||
} else {
|
||||
this.isLoadingDaftar = false;
|
||||
@@ -1156,4 +937,18 @@ export default {
|
||||
.container-height {
|
||||
min-height: 70vh;
|
||||
}
|
||||
|
||||
.style-info {
|
||||
background: #e4f8f0;
|
||||
border: solid #1ea97c;
|
||||
border-width: 0px;
|
||||
color: #1ea97c;
|
||||
font-size: 1rem;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
padding: 0.4rem 0.9rem;
|
||||
margin: 0;
|
||||
border-radius: 6px;
|
||||
font-weight: 400;
|
||||
}
|
||||
</style>
|
||||
@@ -8,15 +8,17 @@
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="responseData" class="fadein animation-duration-400">
|
||||
<InlineMessage class="mb-2" severity="info">Kemaskini pada {{ updatedTime }}</InlineMessage>
|
||||
<InlineMessage class="mb-2" severity="info"
|
||||
>Kemaskini pada {{ updatedTime }}</InlineMessage
|
||||
>
|
||||
|
||||
<div class="overflow-x-auto">
|
||||
<table class="table table-bordered table-hover">
|
||||
<tbody>
|
||||
<tr class="table-light">
|
||||
<td>Bil</td>
|
||||
<td>Karat</td>
|
||||
<td style="min-width: 100px">Harga</td>
|
||||
<th>Bil</th>
|
||||
<th>Karat</th>
|
||||
<th style="min-width: 100px">Harga</th>
|
||||
</tr>
|
||||
<tr v-for="(data, index) in listKarat" v-bind:key="data.id">
|
||||
<td>{{ index + 1 }}</td>
|
||||
@@ -69,7 +71,7 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
console.log(response);
|
||||
// console.log("getKarat", response);
|
||||
if (response.data.success == true) {
|
||||
this.updatedTime = response.data.update_time;
|
||||
this.listKarat = response.data.karat;
|
||||
@@ -79,7 +81,6 @@ export default {
|
||||
this.isLoading = false;
|
||||
this.responseData = false;
|
||||
}
|
||||
//
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
>
|
||||
<tbody>
|
||||
<tr class="table-light">
|
||||
<td>Bil</td>
|
||||
<td style="min-width: 200px">Cawangan</td>
|
||||
<td style="min-width: 120px">Tarikh</td>
|
||||
<th>Bil</th>
|
||||
<th style="min-width: 200px">Cawangan</th>
|
||||
<th style="min-width: 120px" class="text-center">Tarikh</th>
|
||||
</tr>
|
||||
<tr v-for="(data, index) in response" :key="data.id">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ data.caw_name }}</td>
|
||||
<td>{{ data.tarikh_lelong }}</td>
|
||||
<td class="text-center">{{ data.tarikh_lelong }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -65,11 +65,10 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
console.log(response);
|
||||
// console.log("liveData", response);
|
||||
if (response.data.success == true) {
|
||||
this.responseData = true;
|
||||
this.response = response.data.lelong;
|
||||
// console.log(response.data);
|
||||
this.isLoading = false;
|
||||
} else {
|
||||
this.isLoading = false;
|
||||
|
||||
@@ -43,7 +43,7 @@ export default {
|
||||
var mm = String(today.getMonth() + 1).padStart(2, "0"); //January is 0!
|
||||
var yyyy = today.getFullYear();
|
||||
|
||||
today = yyyy + "-" + mm + "-" + dd;
|
||||
today = dd + "-" + mm + "-" + yyyy;
|
||||
this.date = today;
|
||||
},
|
||||
},
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
<table class="table table-sm table-bordered table-hover">
|
||||
<tbody>
|
||||
<tr class="table-light">
|
||||
<td>Bil</td>
|
||||
<td style="min-width: 200px">Cawangan</td>
|
||||
<td style="min-width: 120px">Masa Mula</td>
|
||||
<td style="min-width: 120px">Masa Tamat</td>
|
||||
<th>Bil</th>
|
||||
<th style="min-width: 200px">Cawangan</th>
|
||||
<th style="min-width: 120px" class="text-center">Masa Mula</th>
|
||||
<th style="min-width: 120px" class="text-center">Masa Tamat</th>
|
||||
</tr>
|
||||
<tr v-for="(item, index) in response" :key="item.id">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ item.caw_name }}</td>
|
||||
<td>{{ item.masamula_lelong }}</td>
|
||||
<td>{{ item.masatamat_lelong }}</td>
|
||||
<td class="text-center">{{ item.masamula_lelong }}</td>
|
||||
<td class="text-center">{{ item.masatamat_lelong }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -70,6 +70,7 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
console.log("liveData", response);
|
||||
if (response.data.success == true) {
|
||||
this.responseData = true;
|
||||
this.response = response.data.lelong;
|
||||
@@ -80,7 +81,6 @@ export default {
|
||||
this.isLoading = false;
|
||||
} else {
|
||||
this.isLoading = false;
|
||||
console.log(response.data.success);
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
<div v-if="isSuccess">
|
||||
<div v-if="notPay">
|
||||
<Message severity="success" :closable="false">
|
||||
<div class="font-bold">Tahniah, bidaan anda menang!
|
||||
<a class="ml-1 text-blue" @click="toResult()" href="#">
|
||||
<span class="underline">Selesaikan pembayaran sekarang.</span>
|
||||
</a></div>
|
||||
<div class="font-bold">
|
||||
Tahniah, bidaan anda menang!
|
||||
<a class="ml-1 text-blue" @click="toResult()" href="#">
|
||||
<span class="underline">Selesaikan pembayaran sekarang.</span>
|
||||
</a>
|
||||
</div>
|
||||
</Message>
|
||||
</div>
|
||||
</div>
|
||||
@@ -43,7 +45,7 @@ export default {
|
||||
|
||||
.then((response) => {
|
||||
this.loading = false;
|
||||
console.log(response);
|
||||
// console.log("getLelong", response);
|
||||
if (response.data.success === true) {
|
||||
this.isSuccess = true;
|
||||
if (response.data.lelong[0].status == null) {
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
</footer> -->
|
||||
<div class="layout-footer">
|
||||
<div class="layout-footer-left">
|
||||
<span>Sistem ArrahnBid</span>
|
||||
<span>ArrahnBid</span>
|
||||
</div>
|
||||
|
||||
<div class="layout-footer-right">
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<template>
|
||||
<!-- Navbar for laptop screen size (width>992px) -->
|
||||
<Toast :breakpoints="{ '500px': { width: '100%', right: '0', left: '0' } }" />
|
||||
<div class="card sticky-top lg:flex hidden border-none">
|
||||
<Toast
|
||||
:breakpoints="{ '992px': { display: 'none' }, }"
|
||||
/>
|
||||
<div
|
||||
class="
|
||||
flex
|
||||
@@ -36,8 +38,8 @@
|
||||
<router-link class="nav-button" v-bind:to="{ name: 'result' }"
|
||||
>Keputusan</router-link
|
||||
>
|
||||
<router-link class="nav-button" v-bind:to="{ name: 'login' }"
|
||||
>Login</router-link
|
||||
<router-link class="nav-button" v-bind:to="{ name: 'policy' }"
|
||||
>Polisi</router-link
|
||||
>
|
||||
</nav>
|
||||
</div>
|
||||
@@ -92,6 +94,11 @@
|
||||
"
|
||||
>
|
||||
<div class="flex align-items-center justify-content-center">
|
||||
<i
|
||||
class="pi pi-bars text-white lg:hidden mr-3"
|
||||
style="cursor: pointer"
|
||||
@click="visibleRight = true"
|
||||
></i>
|
||||
<div class="company-title" type="button" v-on:click="toHome()">
|
||||
<div class="logo-title">ArrahnBid</div>
|
||||
<img class="logo-img" src="img/logo_arrahn.png" alt="arrahn-logo" />
|
||||
@@ -99,19 +106,40 @@
|
||||
</div>
|
||||
|
||||
<div class="flex align-items-center justify-content-center">
|
||||
<i
|
||||
class="pi pi-bars text-white lg:hidden"
|
||||
<!-- <i
|
||||
class="pi pi-shopping-cart text-white lg:hidden"
|
||||
style="cursor: pointer"
|
||||
@click="visibleRight = true"
|
||||
></i> -->
|
||||
<!-- <i
|
||||
class="pi pi-shopping-cart mr-1 p-text-primary"
|
||||
style="font-size: 1.5rem; color: #eaf0f9"
|
||||
v-badge.success="itemInCart"
|
||||
v-on:click="toCart()"
|
||||
v-if="isSuccessCart"
|
||||
></i> -->
|
||||
<i
|
||||
class="pi pi-shopping-cart mr-1 p-text-primary"
|
||||
style="font-size: 1.5rem; color: #eaf0f9"
|
||||
v-on:click="toCart()"
|
||||
></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div>
|
||||
<div class="flex justify-content-center h-2rem bg-red-500">
|
||||
Countdown 00:00:00
|
||||
<div v-if="lelongOnline != ''">
|
||||
<div
|
||||
class="
|
||||
flex
|
||||
align-items-center
|
||||
justify-content-center
|
||||
notification-mobile
|
||||
"
|
||||
>
|
||||
<i class="pi pi-info-circle mr-2"></i> Lelongan akan tamat pada
|
||||
{{ lelongOnline }}
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<Sidebar v-model:visible="visibleRight" position="right">
|
||||
<Sidebar v-model:visible="visibleRight" position="left">
|
||||
<div class="grid">
|
||||
<div class="col-12">
|
||||
<div class="text-center">
|
||||
@@ -156,16 +184,23 @@
|
||||
<div class="col-12">
|
||||
<router-link
|
||||
class="main-nav-link main-nav-link-sidebar"
|
||||
v-bind:to="{ name: 'profile' }"
|
||||
>Profil</router-link
|
||||
v-bind:to="{ name: 'policy' }"
|
||||
>Polisi</router-link
|
||||
>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<router-link
|
||||
class="main-nav-link main-nav-link-sidebar"
|
||||
v-bind:to="{ name: 'profile' }"
|
||||
>Profil</router-link
|
||||
>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<!-- <router-link
|
||||
class="main-nav-link main-nav-link-sidebar"
|
||||
v-bind:to="{ name: 'login' }"
|
||||
>Login</router-link
|
||||
>
|
||||
> -->
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<a
|
||||
@@ -187,10 +222,13 @@ export default {
|
||||
username: localStorage.getItem("username"),
|
||||
visibleRight: false,
|
||||
lelongOnline: "",
|
||||
isSuccessCart: false,
|
||||
itemInCart: 0,
|
||||
};
|
||||
},
|
||||
mounted: function () {
|
||||
this.getLelongOnline();
|
||||
// this.getItemInCart();
|
||||
},
|
||||
methods: {
|
||||
doLogout() {
|
||||
@@ -218,6 +256,9 @@ export default {
|
||||
toProfile() {
|
||||
this.$router.push({ name: "profile" });
|
||||
},
|
||||
toCart() {
|
||||
this.$router.push({ name: "cart" });
|
||||
},
|
||||
getLelongOnline() {
|
||||
axios
|
||||
.get("/lelongOnline", {
|
||||
@@ -227,13 +268,13 @@ export default {
|
||||
})
|
||||
|
||||
.then((response) => {
|
||||
console.log(response);
|
||||
// console.log('getLelongOnline', response);
|
||||
if (response.data.success === true) {
|
||||
this.lelongOnline = response.data.lelong.masatamat_lelong;
|
||||
this.$toast.add({
|
||||
severity: "info",
|
||||
summary: "Informasi",
|
||||
detail: "Lelong akan tamat pada " + this.lelongOnline,
|
||||
detail: "Lelongan akan tamat pada " + this.lelongOnline,
|
||||
});
|
||||
} else {
|
||||
}
|
||||
@@ -242,6 +283,31 @@ export default {
|
||||
console.log(error);
|
||||
});
|
||||
},
|
||||
getItemInCart() {
|
||||
this.loading = true;
|
||||
axios
|
||||
.get("/itemInCart", {
|
||||
headers: {
|
||||
Authorization: "Bearer " + localStorage.getItem("token"),
|
||||
},
|
||||
params: {
|
||||
user_id: localStorage.getItem("id"),
|
||||
},
|
||||
})
|
||||
|
||||
.then((response) => {
|
||||
// console.log('getItemInCart', response);
|
||||
if (response.data.success === true) {
|
||||
this.isSuccessCart = true;
|
||||
this.itemInCart = response.data.cart;
|
||||
} else {
|
||||
this.isSuccessCart = false;
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@@ -279,7 +345,12 @@ export default {
|
||||
router-link:hover {
|
||||
color: blue;
|
||||
} */
|
||||
|
||||
.notification-mobile {
|
||||
background: #e9e9ff;
|
||||
color: #696cff;
|
||||
height: 2.5rem;
|
||||
padding: 25px 10px;
|
||||
}
|
||||
.main-color {
|
||||
background-color: #1e417b;
|
||||
}
|
||||
|
||||
@@ -1,23 +1,56 @@
|
||||
<template>
|
||||
<Image :src="dataUrl" alt="Gambar Marhun" width="250" preview>
|
||||
<template #indicator> Preview Content </template>
|
||||
<div v-if="isLoading" class="spinner-border" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
<Image v-else :src="dataUrl" alt="Gambar Marhun" width="250" preview>
|
||||
<template #indicator> Lihat Gambar </template>
|
||||
</Image>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import axios from "axios";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
gambarMain: "",
|
||||
norujukan: "",
|
||||
filemarhun_id: "",
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
image: "",
|
||||
isLoading: false,
|
||||
componentKey: 0
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataUrl() {
|
||||
this.image = this.gambarMain.filename;
|
||||
return "data:image/jpeg;base64," + this.image;
|
||||
return "data:image/png;base64, " + this.image;
|
||||
},
|
||||
},
|
||||
mounted: function () {
|
||||
this.getPhotoMarhun();
|
||||
},
|
||||
methods: {
|
||||
getPhotoMarhun() {
|
||||
this.isLoading = true;
|
||||
axios
|
||||
.get("/photoMarhun", {
|
||||
headers: {
|
||||
Authorization: "Bearer " + localStorage.getItem("token"),
|
||||
},
|
||||
params: {
|
||||
norujukan: this.norujukan,
|
||||
filemarhun_id: this.filemarhun_id,
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
this.isLoading = false;
|
||||
this.image = response.data;
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
this.isLoading = false;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
<template>
|
||||
<div v-if="isLoading" class="spinner-border" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
<div v-else style="overflow-x:auto">
|
||||
<Image :src="dataUrl" alt="Gambar Marhun" width="400" preview>
|
||||
<template #indicator> Lihat Gambar </template>
|
||||
</Image>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import axios from "axios";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
norujukan: "",
|
||||
filemarhun_id: "",
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
image: "",
|
||||
isLoading: false,
|
||||
componentKey: 0,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataUrl() {
|
||||
return "data:image/png;base64, " + this.image;
|
||||
},
|
||||
},
|
||||
mounted: function () {
|
||||
this.getPhotoMarhun();
|
||||
},
|
||||
methods: {
|
||||
getPhotoMarhun() {
|
||||
this.isLoading = true;
|
||||
axios
|
||||
.get("/photoMarhun", {
|
||||
headers: {
|
||||
Authorization: "Bearer " + localStorage.getItem("token"),
|
||||
},
|
||||
params: {
|
||||
norujukan: this.norujukan,
|
||||
filemarhun_id: this.filemarhun_id,
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
this.isLoading = false;
|
||||
this.image = response.data;
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
this.isLoading = false;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.product-image {
|
||||
min-height: 200px;
|
||||
min-width: 200px;
|
||||
max-height: 350px;
|
||||
max-width: 350px;
|
||||
}
|
||||
</style>
|
||||
@@ -16,46 +16,35 @@
|
||||
|
||||
<div v-else class="fadein animation-duration-400">
|
||||
<div v-if="this.status">
|
||||
<!-- <div class="text-center">
|
||||
<InlineMessage class="m-1" severity="info">
|
||||
Jumlah Surat: {{ numberSag }}
|
||||
</InlineMessage>
|
||||
<InlineMessage class="m-1" severity="info">
|
||||
Masa Mula Lelong: {{ lelong_details.masamula_lelong }}
|
||||
</InlineMessage>
|
||||
<InlineMessage class="m-1" severity="info">
|
||||
Masa Tamat Lelong: {{ lelong_details.masatamat_lelong }}
|
||||
</InlineMessage>
|
||||
</div> -->
|
||||
<div class="text-center">
|
||||
<Message severity="info" :closable="false"
|
||||
>Jumlah Surat Lelongan: {{ numberSag }}
|
||||
</Message>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div
|
||||
v-for="sag in sags"
|
||||
:key="sag.id"
|
||||
class="col-10 sm:col-8 md:col-6 lg:col-4"
|
||||
>
|
||||
<Card>
|
||||
<Card class="style-card">
|
||||
<template #content>
|
||||
<div class="overflow-x-auto">
|
||||
<div class="flex justify-content-center">
|
||||
<div
|
||||
class="flex align-items-center"
|
||||
style="
|
||||
border: 1px solid rgba(0, 0, 0, 0.125);
|
||||
height: 250px;
|
||||
width: 250px;
|
||||
min-height: 250px;
|
||||
min-width: 250px;
|
||||
"
|
||||
>
|
||||
<!-- <img :src="dataUrl" class="product-image" /> -->
|
||||
<item-master-image
|
||||
v-if="sag.filemarhun"
|
||||
v-bind:gambarMain="sag.filemarhun[0]"
|
||||
></item-master-image>
|
||||
<p v-else style="text-align: center; width: 100%">
|
||||
Image Unavailable
|
||||
</p>
|
||||
</div>
|
||||
<div class="style-photo-div">
|
||||
<!-- <div
|
||||
class=""
|
||||
style="min-height: 180px; min-width: 255px"
|
||||
> -->
|
||||
<!-- <img :src="dataUrl" class="product-image" /> -->
|
||||
<item-master-image
|
||||
v-if="sag.filemarhun"
|
||||
v-bind:norujukan="sag.norujukan"
|
||||
v-bind:filemarhun_id="sag.filemarhun[0].id"
|
||||
></item-master-image>
|
||||
<p v-else style="text-align: center; width: 100%">
|
||||
Image Unavailable
|
||||
</p>
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="product_details">
|
||||
@@ -92,23 +81,39 @@
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="row">
|
||||
<Message severity="info" :closable="false"
|
||||
>Sila isi ruangan pilih cawangan di atas.
|
||||
</Message>
|
||||
<div class="grid justify-content-center">
|
||||
<div
|
||||
class="
|
||||
flex
|
||||
align-items-center
|
||||
justify-content-center
|
||||
container-height
|
||||
"
|
||||
>
|
||||
<div class="grid justify-content-center">
|
||||
<div class="col-12 mb-4 text-center">
|
||||
<i class="pi pi-arrow-up text-8xl text-400"></i>
|
||||
</div>
|
||||
<div class="col-12 text-center">
|
||||
<span class="text-400"
|
||||
>Sila isi ruangan pilih cawangan di atas.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid justify-content-center" style="visibility:hidden">
|
||||
<div class="col-12 p-3 lg:col-4">
|
||||
<div class="card p-2">
|
||||
<div class="field">
|
||||
<div class="custom-skeleton">
|
||||
<div class="flex mb-3"></div>
|
||||
<Skeleton width="100%" height="150px"></Skeleton>
|
||||
<div class="flex justify-content-center mt-3">
|
||||
<Skeleton width="100%" height="1px"></Skeleton>
|
||||
<div class="flex justify-content-center">
|
||||
<Skeleton width="10rem"></Skeleton>
|
||||
</div>
|
||||
<div class="flex justify-content-center mt-1">
|
||||
<div class="flex justify-content-center">
|
||||
<Skeleton width="10rem"></Skeleton>
|
||||
</div>
|
||||
<div class="flex justify-content-between mt-3">
|
||||
<div class="flex justify-content-between">
|
||||
<Skeleton width="4rem" height="2rem"></Skeleton>
|
||||
<Skeleton width="4rem" height="2rem"></Skeleton>
|
||||
</div>
|
||||
@@ -121,14 +126,14 @@
|
||||
<div class="field">
|
||||
<div class="custom-skeleton">
|
||||
<div class="flex mb-3"></div>
|
||||
<Skeleton width="100%" height="150px"></Skeleton>
|
||||
<div class="flex justify-content-center mt-3">
|
||||
<Skeleton width="100%" height="1px"></Skeleton>
|
||||
<div class="flex justify-content-center">
|
||||
<Skeleton width="10rem"></Skeleton>
|
||||
</div>
|
||||
<div class="flex justify-content-center mt-1">
|
||||
<div class="flex justify-content-center">
|
||||
<Skeleton width="10rem"></Skeleton>
|
||||
</div>
|
||||
<div class="flex justify-content-between mt-3">
|
||||
<div class="flex justify-content-between">
|
||||
<Skeleton width="4rem" height="2rem"></Skeleton>
|
||||
<Skeleton width="4rem" height="2rem"></Skeleton>
|
||||
</div>
|
||||
@@ -141,14 +146,14 @@
|
||||
<div class="field">
|
||||
<div class="custom-skeleton">
|
||||
<div class="flex mb-3"></div>
|
||||
<Skeleton width="100%" height="150px"></Skeleton>
|
||||
<div class="flex justify-content-center mt-3">
|
||||
<Skeleton width="100%" height="1px"></Skeleton>
|
||||
<div class="flex justify-content-center">
|
||||
<Skeleton width="10rem"></Skeleton>
|
||||
</div>
|
||||
<div class="flex justify-content-center mt-1">
|
||||
<div class="flex justify-content-center">
|
||||
<Skeleton width="10rem"></Skeleton>
|
||||
</div>
|
||||
<div class="flex justify-content-between mt-3">
|
||||
<div class="flex justify-content-between">
|
||||
<Skeleton width="4rem" height="2rem"></Skeleton>
|
||||
<Skeleton width="4rem" height="2rem"></Skeleton>
|
||||
</div>
|
||||
@@ -161,6 +166,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ScrollTop :threshold="200"/>
|
||||
<!-- modal marhun -->
|
||||
<div
|
||||
class="modal fade"
|
||||
@@ -188,12 +194,18 @@
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="grid">
|
||||
<div class="col-12 lg:col-6" style="">
|
||||
<item-multiple-image
|
||||
<div class="col-12 lg:col-6 style-photo-div p-2">
|
||||
<!-- <item-multiple-image
|
||||
v-if="filemarhun"
|
||||
v-bind:gambarMultiple="filemarhun"
|
||||
v-bind:key="reloadImageComponent"
|
||||
></item-multiple-image>
|
||||
></item-multiple-image> -->
|
||||
<item-master-image-modal
|
||||
v-if="filemarhun"
|
||||
v-bind:key="reloadImageComponent"
|
||||
v-bind:norujukan="norujukan.norujukan"
|
||||
v-bind:filemarhun_id="norujukan.filemarhun[0].id"
|
||||
></item-master-image-modal>
|
||||
<p
|
||||
v-else
|
||||
style="
|
||||
@@ -201,7 +213,6 @@
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid rgba(0, 0, 0, 0.125);
|
||||
min-width: 300px;
|
||||
max-width: 300px;
|
||||
"
|
||||
@@ -214,11 +225,11 @@
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr class="table-light">
|
||||
<td>Bil</td>
|
||||
<td style="min-width: 115px">Jenis Marhun</td>
|
||||
<td style="min-width: 42px">Karat</td>
|
||||
<td style="min-width: 42px">Berat</td>
|
||||
<td style="min-width: 102px">Harga Asas</td>
|
||||
<th>Bil</th>
|
||||
<th style="min-width: 115px">Jenis Marhun</th>
|
||||
<th style="min-width: 42px">Karat</th>
|
||||
<th style="min-width: 42px">Berat</th>
|
||||
<th style="min-width: 102px">Harga Asas</th>
|
||||
</tr>
|
||||
<tr v-for="(marhun, index) in marhuns" :key="marhun.id">
|
||||
<td>{{ index + 1 }}</td>
|
||||
@@ -477,11 +488,13 @@ import { mapGetters, mapActions } from "vuex";
|
||||
import { read } from "@popperjs/core";
|
||||
import ItemMasterImage from "./ItemMasterImage.vue";
|
||||
import ItemMultipleImage from "./ItemMultipleImage.vue";
|
||||
import ItemMasterImageModal from "./ItemMasterImageModal.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
"item-master-image": ItemMasterImage,
|
||||
"item-multiple-image": ItemMultipleImage,
|
||||
"item-master-image-modal": ItemMasterImageModal,
|
||||
},
|
||||
emits: ["reloadComponent"],
|
||||
props: {
|
||||
@@ -551,7 +564,7 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
console.log(response);
|
||||
// console.log("liveData", response);
|
||||
if (response.data.success == true) {
|
||||
// let readImage = response.data.message.lelongbid[7].filemarhun[0].filename;
|
||||
// this.image = readImage;
|
||||
@@ -666,4 +679,16 @@ export default {
|
||||
.disabled-bg {
|
||||
background-color: rgb(233, 236, 239);
|
||||
}
|
||||
|
||||
.style-photo-div {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-height: 180px;
|
||||
min-width: 255px;
|
||||
}
|
||||
|
||||
.container-height {
|
||||
min-height: 70vh;
|
||||
}
|
||||
</style>
|
||||
@@ -35,14 +35,6 @@
|
||||
<input type="hidden" />
|
||||
</select>
|
||||
</div>
|
||||
<!-- <h6>
|
||||
<button
|
||||
class="badge m-2 btn-secondary"
|
||||
@click="toggleReloadComponent"
|
||||
>
|
||||
Reload <i class="bi bi-arrow-down"></i>
|
||||
</button>
|
||||
</h6> -->
|
||||
<list-item
|
||||
v-bind:key="componentKey"
|
||||
v-bind:selectedCawangan="selectCawangan"
|
||||
@@ -70,7 +62,7 @@
|
||||
<span class="text-400"
|
||||
>Sila rujuk halaman
|
||||
<router-link v-bind:to="{ name: 'home' }">Utama</router-link>
|
||||
untuk jadual lelong.</span
|
||||
untuk jadual lelongan.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
@@ -119,7 +111,7 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
console.log(response);
|
||||
// console.log('getIdCawangan', response);
|
||||
if (response.data.success == true) {
|
||||
this.isSuccess = true;
|
||||
this.listCawangan = response.data.lelong;
|
||||
|
||||
@@ -81,18 +81,32 @@
|
||||
<div class="overflow-x-auto">
|
||||
<table class="table text-center table-bordered">
|
||||
<tbody>
|
||||
<tr class="table-light">
|
||||
<td style="min-width: 240px">Cawangan</td>
|
||||
<td style="min-width: 120px">Harga Bida</td>
|
||||
<tr>
|
||||
<td>Cawangan</td>
|
||||
<td>{{ cawanganPilihan }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{ cawanganPilihan }}</th>
|
||||
<th>
|
||||
<td>Harga Bida</td>
|
||||
<td style="min-width: 150px">
|
||||
RM{{
|
||||
hargaBidaanPilihan
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Fi Pengurusan</td>
|
||||
<td>RM1.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Jumlah Keseluruhan</th>
|
||||
<th>
|
||||
RM{{
|
||||
hargaBidaanPilihanTambahFi
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -106,66 +120,67 @@
|
||||
@click="closeModal()"
|
||||
class="p-button-text"
|
||||
/>
|
||||
<Button
|
||||
<!-- <Button
|
||||
label="Ya"
|
||||
icon="pi pi-check"
|
||||
iconPos="right"
|
||||
:loading="isLoading"
|
||||
@click="doPayment()"
|
||||
/> -->
|
||||
<Button
|
||||
label="Teruskan"
|
||||
icon="pi pi-check"
|
||||
iconPos="right"
|
||||
@click="openModalTNC()"
|
||||
/>
|
||||
</template>
|
||||
</Dialog>
|
||||
<Dialog
|
||||
header="Terma & Syarat"
|
||||
v-model:visible="isDisplayTNC"
|
||||
:breakpoints="{ '960px': '75vw', '640px': '90vw' }"
|
||||
:style="{ width: '50vw' }"
|
||||
:modal="true"
|
||||
>
|
||||
<div>
|
||||
<terms-and-conditions-details></terms-and-conditions-details>
|
||||
</div>
|
||||
<template #footer>
|
||||
<Button
|
||||
label="Batal Pembayaran"
|
||||
icon="pi pi-times"
|
||||
iconPos="right"
|
||||
@click="closeModalTNC()"
|
||||
class="p-button-text"
|
||||
/>
|
||||
<!-- <Button
|
||||
label="Ya"
|
||||
icon="pi pi-check"
|
||||
iconPos="right"
|
||||
:loading="isLoading"
|
||||
@click="doPayment()"
|
||||
/> -->
|
||||
<Button
|
||||
label="Teruskan Bayaran"
|
||||
icon="pi pi-check"
|
||||
iconPos="right"
|
||||
:loading="isLoading"
|
||||
@click="doPayment()"
|
||||
/>
|
||||
</template>
|
||||
</Dialog>
|
||||
<!-- <div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-7">
|
||||
<div v-if="!nextButton">
|
||||
<h5>Pilih Cawangan</h5>
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr v-for="data in namaCawangan" v-bind:key="data">
|
||||
<td>
|
||||
<input
|
||||
type="radio"
|
||||
v-bind:value="data"
|
||||
v-model="selectRadio"
|
||||
/>
|
||||
</td>
|
||||
<td>{{ data.cawangan }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="d-flex justify-content-between">
|
||||
<button class="btn btn-danger" v-on:click="clickCancelButton()">
|
||||
Cancel
|
||||
</button>
|
||||
<button
|
||||
ref="nextButton"
|
||||
v-on:click="clickNextButton()"
|
||||
class="btn btn-primary"
|
||||
>
|
||||
Teruskan
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<select-id
|
||||
v-bind:selectedRadio="selectRadio"
|
||||
v-on:back-is-click="backIsClick"
|
||||
></select-id>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { integer } from "@vuelidate/validators";
|
||||
import SelectId from "./SelectId.vue";
|
||||
import TermsAndConditionsDetails from "../authentication/TermsAndConditionsDetails.vue";
|
||||
import axios from "axios";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
"select-id": SelectId,
|
||||
"terms-and-conditions-details": TermsAndConditionsDetails,
|
||||
},
|
||||
props: {
|
||||
namaCawangan: "",
|
||||
@@ -179,9 +194,12 @@ export default {
|
||||
selectCawangan: this.namaCawangan,
|
||||
selectRadio: "",
|
||||
isDisplay: false,
|
||||
isDisplayTNC: false,
|
||||
isLoading: false,
|
||||
cawanganPilihan: "",
|
||||
hargaBidaanPilihan: "",
|
||||
hargaBidaanPilihanTambahFi: "",
|
||||
lelongDetails: "",
|
||||
form: {
|
||||
email: localStorage.getItem("email"),
|
||||
notel: localStorage.getItem("notelbimbit"),
|
||||
@@ -223,11 +241,12 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
console.log(response);
|
||||
// console.log("getInvoice", response);
|
||||
if (response.data.success == true) {
|
||||
this.form.invoice_id = response.data.invoice.id;
|
||||
this.form.invoice_no = response.data.invoice.invoice_no;
|
||||
this.form.lelong_id = this.lelongIdProps;
|
||||
this.lelongDetails = response.data.lelong;
|
||||
} else if (response.data.success == false) {
|
||||
alert("No Invoice Id");
|
||||
}
|
||||
@@ -238,21 +257,50 @@ export default {
|
||||
});
|
||||
},
|
||||
openModal(value) {
|
||||
var date = new Date();
|
||||
var current_time = date.toLocaleString();
|
||||
var limit_masa_bayaran = "15:00:00";
|
||||
var limit_datetime_bayaran = this.lelongDetails.tarikh_lelong + ", " + limit_masa_bayaran;
|
||||
console.log(current_time, '\n', limit_datetime_bayaran);
|
||||
|
||||
// if (current_time < limit_datetime_bayaran === true) {
|
||||
this.isDisplay = true;
|
||||
this.cawanganPilihan = value.cawangan;
|
||||
this.hargaBidaanPilihan = value.total_hargabida;
|
||||
let convertHargaBidaanPilihan =
|
||||
parseFloat(value.total_hargabida.replace(/,/g, "")) + 1;
|
||||
this.hargaBidaanPilihanTambahFi = convertHargaBidaanPilihan.toFixed(2);
|
||||
this.form.total = parseFloat(value.total_hargabida.replace(/,/g, ""));
|
||||
let convertData = JSON.parse(JSON.stringify(value.sag));
|
||||
this.form.sag = convertData;
|
||||
console.log(this.form);
|
||||
// } else {
|
||||
// this.$swal.fire({
|
||||
// icon: "error",
|
||||
// title: "Gagal",
|
||||
// text: "Pembayaran mesti diselesaikan sebelum 3:00pm.",
|
||||
// confirmButtonColor: "#344871",
|
||||
// confirmButtonText: "Kembali",
|
||||
// allowOutsideClick: false,
|
||||
// allowEscapeKey: false,
|
||||
// });
|
||||
// }
|
||||
},
|
||||
closeModal() {
|
||||
this.isDisplay = false;
|
||||
this.form.total = "";
|
||||
this.form.sag = "";
|
||||
},
|
||||
openModalTNC() {
|
||||
this.isDisplay = false;
|
||||
this.isDisplayTNC = true;
|
||||
},
|
||||
closeModalTNC() {
|
||||
this.isDisplayTNC = false;
|
||||
this.form.total = "";
|
||||
this.form.sag = "";
|
||||
},
|
||||
clickRadio(value) {
|
||||
console.log(value);
|
||||
// console.log(value);
|
||||
this.selectRadio = value;
|
||||
},
|
||||
clickCancelButton() {
|
||||
|
||||
@@ -120,11 +120,11 @@ export default {
|
||||
}
|
||||
)
|
||||
.then((response) => {
|
||||
// console.log("liveData", response);
|
||||
this.isLoading = false;
|
||||
if (response.data.success == true) {
|
||||
this.isSuccess = true;
|
||||
this.lists = response.data.data;
|
||||
console.log(this.lists);
|
||||
this.tarikhLelong = response.data.tarikh_lelong;
|
||||
} else {
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<template>
|
||||
<the-template>
|
||||
<div class="col-12 lg:col-11 fadein animation-duration-400">
|
||||
<Card>
|
||||
<template #title>
|
||||
<div class="font-normal">Polisi</div>
|
||||
</template>
|
||||
<template #content>
|
||||
<TabView>
|
||||
<TabPanel :header="'Terma & Syarat'">
|
||||
<terms-and-conditions-details></terms-and-conditions-details>
|
||||
</TabPanel>
|
||||
<TabPanel :header="'Hubungi Kami'">
|
||||
<div class="grid justify-content-center" style="height: 50vh">
|
||||
<div class="col-12 mb-4 text-center" style="align-self:end">
|
||||
<i class="pi pi-wrench text-8xl text-400"></i>
|
||||
</div>
|
||||
<div class="col-12 text-center">
|
||||
<span class="text-400">Sedang Dikemaskini.</span>
|
||||
</div>
|
||||
</div>
|
||||
</TabPanel>
|
||||
</TabView>
|
||||
</template>
|
||||
</Card>
|
||||
</div>
|
||||
<ScrollTop :threshold="200"/>
|
||||
|
||||
</the-template>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TermsAndConditionsDetails from "../authentication/TermsAndConditionsDetails.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
"terms-and-conditions-details": TermsAndConditionsDetails,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@@ -59,6 +59,18 @@
|
||||
<div class="col-12 lg:col-6 text-start value-form">
|
||||
{{ data.notelbimbit }}
|
||||
</div>
|
||||
<div class="col-12 lg:col-5 text-start text-400">
|
||||
Emel
|
||||
</div>
|
||||
<div class="col-12 lg:col-6 text-start value-form">
|
||||
{{ data.email }}
|
||||
</div>
|
||||
<div class="col-12 lg:col-5 text-start text-400">
|
||||
Alamat
|
||||
</div>
|
||||
<div class="col-12 lg:col-6 text-start value-form">
|
||||
{{ data.alamat }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<template>
|
||||
<the-template>
|
||||
<!-- <base-card> -->
|
||||
<div
|
||||
v-if="loading"
|
||||
style="min-height: 70vh; display: grid; place-items: center"
|
||||
@@ -28,17 +27,17 @@
|
||||
class="font-normal"
|
||||
style="font-size: 1.5rem; font-weight: 700"
|
||||
>
|
||||
Keputusan Tarikh Lelong: {{ tarikhLelong }}
|
||||
Keputusan Tarikh Lelongan: {{ tarikhLelong }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template #end>
|
||||
<Button
|
||||
<!-- <Button
|
||||
label="Resit Bayaran"
|
||||
icon="pi pi-list"
|
||||
iconPos="right"
|
||||
class="p-button-sm p-button-outlined mr-2"
|
||||
/>
|
||||
/> -->
|
||||
<Button
|
||||
label="Pembayaran"
|
||||
icon="pi pi-money-bill"
|
||||
@@ -56,9 +55,28 @@
|
||||
<Accordion :multiple="true">
|
||||
<AccordionTab v-for="list in lists" v-bind:key="list">
|
||||
<template #header>
|
||||
<span>{{ list.cawangan }}</span>
|
||||
<!-- <span class="ml-2">Jumlah:RMXXXX</span> -->
|
||||
<div class="flex justify-content-between w-100">
|
||||
<div class="align-self-center" style="margin: 5px">
|
||||
{{ list.cawangan }}
|
||||
</div>
|
||||
<div class="style-info">
|
||||
Jumlah RM{{
|
||||
list.total_hargabida
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<Button
|
||||
label="Surat Hak Kepemilikan Barang"
|
||||
icon="pi pi-verified"
|
||||
iconPos="right"
|
||||
class="p-button-sm mb-3"
|
||||
v-on:click="downloadPdf(list.kodcaw)"
|
||||
v-if="list.status_payment_cawangan == 1"
|
||||
v-tooltip="'Muat Turun'"
|
||||
/>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="table text-center table-bordered">
|
||||
<tbody>
|
||||
@@ -118,124 +136,22 @@
|
||||
></Tag>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="text-transform: uppercase">
|
||||
<td colspan="2">Jumlah</td>
|
||||
<td>
|
||||
RM{{
|
||||
list.total_hargabida
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</td>
|
||||
<td class="table-light"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</AccordionTab>
|
||||
</Accordion>
|
||||
<!-- <div class="">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="d-flex justify-content-between">
|
||||
<router-link
|
||||
v-bind:to="{ name: 'result' }"
|
||||
class="btn btn-secondary m-3 ms-0"
|
||||
>Kembali</router-link
|
||||
>
|
||||
<h5 class="m-3">
|
||||
Keputusan Tarikh Lelong: {{ tarikhLelong }}
|
||||
</h5>
|
||||
<button
|
||||
v-if="!statusPayment"
|
||||
v-on:click="clickPayButton(lelongId)"
|
||||
class="btn btn-primary m-3 me-0"
|
||||
>
|
||||
Bayar
|
||||
</button>
|
||||
</div>
|
||||
<div class="d-flex justify-content-end">
|
||||
<router-link
|
||||
v-bind:to="{ name: 'receipt' }"
|
||||
class="btn btn-outline-primary m-2 me-0"
|
||||
>Resit Bayaran</router-link
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<div class="accordion" id="accordionExample">
|
||||
<div
|
||||
v-for="list in lists"
|
||||
v-bind:key="list"
|
||||
class="accordion-item"
|
||||
>
|
||||
<h2 class="accordion-header" id="headingOne">
|
||||
<button
|
||||
class="accordion-button"
|
||||
type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseOne"
|
||||
aria-expanded="true"
|
||||
aria-controls="collapseOne"
|
||||
>
|
||||
{{ list.cawangan }}
|
||||
</button>
|
||||
</h2>
|
||||
<div
|
||||
id="collapseOne"
|
||||
class="accordion-collapse collapse show"
|
||||
aria-labelledby="headingOne"
|
||||
data-bs-parent="#accordionExample"
|
||||
>
|
||||
<div class="accordion-body">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Bil</th>
|
||||
<th scope="col">No Rujukan</th>
|
||||
<th scope="col">Harga Bidaan</th>
|
||||
<th scope="col">Status Bayaran</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr
|
||||
v-for="(data, index) in list.sag"
|
||||
v-bind:key="data"
|
||||
>
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>
|
||||
<a
|
||||
href="#"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#marhunModal"
|
||||
v-on:click="marhunModal(data)"
|
||||
>{{ data.norujukan }}
|
||||
</a>
|
||||
</td>
|
||||
<td>RM {{ data.total_payment }}</td>
|
||||
<td
|
||||
class="m-1 badge rounded-pill bg-danger"
|
||||
v-if="
|
||||
data.status_payment === null ||
|
||||
data.status_payment == 0
|
||||
"
|
||||
>
|
||||
Belum Bayar
|
||||
</td>
|
||||
<td
|
||||
class="m-1 badge rounded-pill bg-warning"
|
||||
v-if="data.status_payment === 2"
|
||||
>
|
||||
Tunggu Pengesahan
|
||||
</td>
|
||||
<td
|
||||
class="m-1 badge rounded-pill bg-success"
|
||||
v-if="data.status_payment === 1"
|
||||
>
|
||||
Selesai
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h5 class="mt-4 mb-5">
|
||||
Jumlah Harga Bida: RM{{ list.total_hargabida }}
|
||||
</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</template>
|
||||
</Card>
|
||||
<div
|
||||
@@ -246,12 +162,9 @@
|
||||
aria-hidden="true"
|
||||
data-bs-backdrop="static"
|
||||
>
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered">
|
||||
<div class="modal-dialog modal-xl modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<!-- <h5 class="modal-title" id="marhunModalLabel">
|
||||
{{ theData.norujukan }}
|
||||
</h5> -->
|
||||
<button
|
||||
type="button"
|
||||
class="btn-close"
|
||||
@@ -260,35 +173,92 @@
|
||||
></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Bil</th>
|
||||
<th scope="col">Jenis</th>
|
||||
<th scope="col">Karat</th>
|
||||
<th scope="col">Berat</th>
|
||||
<th scope="col">Nota</th>
|
||||
<th scope="col">Harga Asas</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<!-- <tbody>
|
||||
<tr
|
||||
v-for="(marhun, index) in theData.lelongbidmarhun"
|
||||
v-bind:key="marhun"
|
||||
<div class="grid">
|
||||
<div
|
||||
class="col-12 lg:col-6"
|
||||
style="
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-height: 300px;
|
||||
min-width: 300px;
|
||||
max-height: 600px;
|
||||
max-width: 600px;
|
||||
"
|
||||
>
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ marhun.marhun }}</td>
|
||||
<td>{{ marhun.karat }}</td>
|
||||
<td>{{ marhun.berat }}g</td>
|
||||
<td>{{ marhun.nota }}</td>
|
||||
<td>RM{{ marhun.hargaasas }}</td>
|
||||
</tr>
|
||||
<tr style="text-transform: uppercase">
|
||||
<th colspan="5">Jumlah</th>
|
||||
<th>RM{{ theData.hargaasas }}</th>
|
||||
</tr>
|
||||
</tbody> -->
|
||||
</table>
|
||||
<item-master-image-modal
|
||||
v-if="theData.filemarhun"
|
||||
v-bind:key="reloadImageComponent"
|
||||
v-bind:norujukan="theData.norujukan"
|
||||
v-bind:filemarhun_id="theData.filemarhun[0].id"
|
||||
></item-master-image-modal>
|
||||
<p v-else style="text-align: center; width: 100%">
|
||||
Image Unavailable
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-12 text-center lg:col-6">
|
||||
<div class="overflow-x-auto">
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr class="table-light">
|
||||
<td>Bil</td>
|
||||
<td style="min-width: 115px">Jenis Marhun</td>
|
||||
<td style="min-width: 42px">Karat</td>
|
||||
<td style="min-width: 42px">Berat</td>
|
||||
<td style="min-width: 102px">Harga Asas</td>
|
||||
</tr>
|
||||
<tr
|
||||
v-for="(data, index) in theData.lelongbidmarhun"
|
||||
v-bind:key="data"
|
||||
>
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ data.marhun }}</td>
|
||||
<td>{{ data.karat }}</td>
|
||||
<td>{{ data.berat }}g</td>
|
||||
<td>
|
||||
RM{{
|
||||
data.hargaasas
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="text-transform: uppercase">
|
||||
<td colspan="3">Jumlah</td>
|
||||
<td>{{ theData.berat }}g</td>
|
||||
<td>
|
||||
RM{{
|
||||
theData.hargaasas
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-6">
|
||||
<label class="col-form-label"
|
||||
>Jumlah Harga Bida</label
|
||||
>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="input-group mb-3">
|
||||
<span class="input-group-text">RM</span>
|
||||
<span
|
||||
class="form-control font-bold input-group-text"
|
||||
>{{
|
||||
theData.hargabida
|
||||
?.toString()
|
||||
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") || ""
|
||||
}}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button
|
||||
@@ -332,15 +302,65 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Dialog
|
||||
header="Surat Hak Kepemilikan Barang"
|
||||
v-model:visible="isDisplay"
|
||||
:breakpoints="{ '960px': '75vw', '640px': '90vw' }"
|
||||
:style="{ width: '50vw' }"
|
||||
:modal="true"
|
||||
>
|
||||
<div class="text-center">
|
||||
<p id="hakbarang">SURAT KETERANGAN KEPEMILIKAN BARANG</p>
|
||||
<p>
|
||||
Bahawasanya barang tersebut adalah hak milik
|
||||
{{ suratHak.user.name }} ({{ suratHak.user.nokp }})
|
||||
</p>
|
||||
<table class="table text-center table-bordered">
|
||||
<tbody>
|
||||
<tr class="table-light">
|
||||
<td>Bil</td>
|
||||
<td>No Rujukan</td>
|
||||
<td>Jenis Barang</td>
|
||||
<td>Berat</td>
|
||||
<td>Harga Bidaan</td>
|
||||
</tr>
|
||||
<tr v-for="(data, index) in suratHak.lelongbid" v-bind:key="data">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>{{ data.norujukan }}</td>
|
||||
<td>
|
||||
<div v-for="berat in data.lelongbidmarhun" v-bind:key="berat">
|
||||
<p>{{ berat.marhun_desc }}</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div v-for="berat in data.lelongbidmarhun" v-bind:key="berat">
|
||||
<p>{{ berat.berat }}g</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>RM{{ data.hargabida }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<template #footer>
|
||||
<Button label="Muat Turun" @click="muatTurunPdf()" />
|
||||
</template>
|
||||
</Dialog>
|
||||
</div>
|
||||
<!-- </base-card> -->
|
||||
</the-template>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import jsPDF from "jspdf";
|
||||
import "jspdf-autotable";
|
||||
import html2canvas from "html2canvas";
|
||||
import axios from "axios";
|
||||
import ItemMasterImageModal from "../list/ItemMasterImageModal.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
"item-master-image-modal": ItemMasterImageModal,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
lists: [],
|
||||
@@ -350,10 +370,14 @@ export default {
|
||||
statusPayment: "",
|
||||
disabled: 0,
|
||||
isSuccess: false,
|
||||
theData: "",
|
||||
reloadImageComponent: "",
|
||||
isDisplay: false,
|
||||
suratHak: "",
|
||||
isSuccessHak: false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
console.log(this.$route.params.lelongId);
|
||||
this.lelongId = this.$route.params.lelongId;
|
||||
this.statusPayment = this.$route.params.statusPayment;
|
||||
},
|
||||
@@ -372,23 +396,16 @@ export default {
|
||||
liveData() {
|
||||
this.loading = true;
|
||||
axios
|
||||
.get(
|
||||
"/bayar/" +
|
||||
localStorage.getItem("id") +
|
||||
// "/1",
|
||||
"/" +
|
||||
this.lelongId,
|
||||
{
|
||||
headers: {
|
||||
Authorization: "Bearer " + localStorage.getItem("token"),
|
||||
},
|
||||
}
|
||||
)
|
||||
.get("/bayar/" + localStorage.getItem("id") + "/" + this.lelongId, {
|
||||
headers: {
|
||||
Authorization: "Bearer " + localStorage.getItem("token"),
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
// console.log("liveData", response);
|
||||
if (response.data.success == true) {
|
||||
this.isSuccess = true;
|
||||
this.loading = false;
|
||||
console.log(response);
|
||||
this.lists = response.data.data;
|
||||
this.tarikhLelong = response.data.tarikh_lelong;
|
||||
} else {
|
||||
@@ -407,7 +424,52 @@ export default {
|
||||
this.$router.push({ name: "result" });
|
||||
},
|
||||
marhunModal(value) {
|
||||
console.log(value);
|
||||
this.theData = value;
|
||||
this.reloadImageComponent += 1;
|
||||
},
|
||||
downloadPdf(value) {
|
||||
axios
|
||||
.get("/resultInCawangan", {
|
||||
headers: {
|
||||
Authorization: "Bearer " + localStorage.getItem("token"),
|
||||
},
|
||||
params: {
|
||||
lelong_id: this.lelongId,
|
||||
user_id: localStorage.getItem("id"),
|
||||
kodcaw: value,
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
this.suratHak = response.data;
|
||||
this.isDisplay = true;
|
||||
this.isSuccessHak = true;
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
});
|
||||
},
|
||||
muatTurunPdf() {
|
||||
// const doc = new jsPDF();
|
||||
// doc.autoTable({ html: "#hak-barang" });
|
||||
// const html = this.$refs.hakbarang.innerHTML;
|
||||
// doc.fromHTML(html, 15, 15, {
|
||||
// width: 150,
|
||||
// });
|
||||
// var canvas = document.getElementById("hakbarang");
|
||||
// html2canvas(canvas).then(function (canvas) {
|
||||
// var imgdata = canvas.toDataURL("image/png");
|
||||
// var doc = new jsPDF();
|
||||
// doc.addImage(imgdata, "PNG", 500, 500);
|
||||
// doc.save("test.pdf");
|
||||
// });
|
||||
// window.html2canvas = html2canvas;
|
||||
// var doc = new jsPDF("p", "pt", "a4");
|
||||
// doc.html(document.querySelector(#hakbarang), {
|
||||
// callback: function(pdf) {
|
||||
// pdf.save("thehehehe.pdf")
|
||||
// }
|
||||
// })
|
||||
// doc.save("table.pdf");
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -426,4 +488,18 @@ export default {
|
||||
.container-height {
|
||||
min-height: 70vh;
|
||||
}
|
||||
|
||||
.style-info {
|
||||
background: #e4f8f0;
|
||||
border: solid #1ea97c;
|
||||
border-width: 0px;
|
||||
color: #1ea97c;
|
||||
font-size: 1rem;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
padding: 0.4rem 0.9rem;
|
||||
margin: 0;
|
||||
border-radius: 6px;
|
||||
font-weight: 400;
|
||||
}
|
||||
</style>
|
||||
@@ -26,7 +26,7 @@
|
||||
<td style="min-width: 115px">Tarikh</td>
|
||||
<td style="min-width: 100px">Jumlah</td>
|
||||
<td style="min-width: 145px">Status Bayaran</td>
|
||||
<td style="min-width: 150px">Penyata</td>
|
||||
<!-- <td style="min-width: 150px">Penyata</td> -->
|
||||
</tr>
|
||||
<tr v-for="(data, index) in lelong" v-bind:key="data">
|
||||
<td>{{ index + 1 }}</td>
|
||||
@@ -58,11 +58,11 @@
|
||||
severity="danger"
|
||||
></Tag>
|
||||
</td>
|
||||
<td>
|
||||
<!-- <td>
|
||||
<span class="text-primary underline cursor-pointer"
|
||||
>Muat Turun <i class="pi pi-cloud-download"></i>
|
||||
</span>
|
||||
</td>
|
||||
</td> -->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -85,7 +85,7 @@
|
||||
<span class="text-400"
|
||||
>Sila rujuk halaman
|
||||
<router-link v-bind:to="{ name: 'home' }">Utama</router-link>
|
||||
untuk jadual lelong</span
|
||||
untuk jadual lelongan.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
@@ -127,7 +127,7 @@ export default {
|
||||
|
||||
.then((response) => {
|
||||
this.loading = false;
|
||||
console.log(response);
|
||||
// console.log("getLelong", response);
|
||||
if (response.data.success === true) {
|
||||
this.isSuccess = true;
|
||||
this.lelong = response.data.lelong;
|
||||
|
||||
@@ -43,6 +43,10 @@ import TabPanel from 'primevue/tabpanel';
|
||||
import Tag from 'primevue/tag';
|
||||
import Image from 'primevue/image';
|
||||
import Galleria from 'primevue/galleria';
|
||||
import BadgeDirective from 'primevue/badgedirective';
|
||||
import Textarea from 'primevue/textarea';
|
||||
import Tooltip from 'primevue/tooltip';
|
||||
import ScrollTop from 'primevue/scrolltop';
|
||||
|
||||
import 'maz-ui/css/main.css'
|
||||
import MazPhoneNumberInput from 'maz-ui/components/MazPhoneNumberInput'
|
||||
@@ -84,6 +88,11 @@ app.component('TabPanel', TabPanel);
|
||||
app.component('Tag', Tag);
|
||||
app.component('Image', Image);
|
||||
app.component('Galleria', Galleria);
|
||||
app.directive('badge', BadgeDirective);
|
||||
app.component('Textarea', Textarea);
|
||||
app.directive('tooltip', Tooltip);
|
||||
app.component('ScrollTop', ScrollTop);
|
||||
|
||||
|
||||
app.component('MazPhoneNumberInput', MazPhoneNumberInput)
|
||||
|
||||
|
||||
+12
-1
@@ -131,6 +131,7 @@ import TheList from "../components/list/TheList.vue";
|
||||
import ResultDetail from "../components/result/ResultDetail.vue";
|
||||
import ResultReceipt from "../components/result/ResultReceipt.vue"
|
||||
import ThePay from "../components/pay/ThePay.vue";
|
||||
import ThePolicy from "../components/policy/ThePolicy.vue"
|
||||
|
||||
import {
|
||||
createRouter,
|
||||
@@ -157,6 +158,11 @@ const routes = [
|
||||
},
|
||||
{
|
||||
path: "/",
|
||||
name: "login",
|
||||
component: TheLogin,
|
||||
},
|
||||
{
|
||||
path: "/home",
|
||||
name: "home",
|
||||
component: TheHome,
|
||||
},
|
||||
@@ -191,7 +197,7 @@ const routes = [
|
||||
// meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: "/result/detail",
|
||||
path: "/result-detail",
|
||||
name: "detail",
|
||||
component: ResultDetail,
|
||||
// meta: { requiresAuth: true }
|
||||
@@ -207,6 +213,11 @@ const routes = [
|
||||
name: "pay",
|
||||
component: ThePay,
|
||||
},
|
||||
{
|
||||
path: "/policy",
|
||||
name: "policy",
|
||||
component: ThePolicy,
|
||||
},
|
||||
];
|
||||
|
||||
const router = createRouter({
|
||||
|
||||
Reference in New Issue
Block a user