feat : inspection
6
assets/icons/box_remove.svg
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M17.6 5.3093L11.95 2.2693C11.35 1.9493 10.64 1.9493 10.04 2.2693L4.39998 5.3093C3.98998 5.5393 3.72998 5.9793 3.72998 6.4593C3.72998 6.9493 3.97998 7.3893 4.39998 7.6093L10.05 10.6493C10.35 10.8093 10.68 10.8893 11 10.8893C11.32 10.8893 11.66 10.8093 11.95 10.6493L17.6 7.6093C18.01 7.3893 18.27 6.9493 18.27 6.4593C18.27 5.9793 18.01 5.5393 17.6 5.3093Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M9.12 11.7086L3.87 9.08863C3.46 8.87863 3 8.90863 2.61 9.13863C2.23 9.37863 2 9.78863 2 10.2386V15.1986C2 16.0586 2.48 16.8286 3.25 17.2186L8.5 19.8386C8.68 19.9286 8.88 19.9786 9.08 19.9786C9.31 19.9786 9.55 19.9086 9.76 19.7886C10.14 19.5486 10.37 19.1386 10.37 18.6886V13.7286C10.36 12.8686 9.88 12.0986 9.12 11.7086Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M20.0001 10.2386V12.6986C19.5201 12.5586 19.0101 12.4986 18.5001 12.4986C17.1401 12.4986 15.8101 12.9686 14.7601 13.8086C13.3201 14.9386 12.5001 16.6486 12.5001 18.4986C12.5001 18.9886 12.5601 19.4786 12.6901 19.9486C12.5401 19.9286 12.3901 19.8686 12.2501 19.7786C11.8701 19.5486 11.6401 19.1386 11.6401 18.6886V13.7286C11.6401 12.8686 12.1201 12.0986 12.8801 11.7086L18.1301 9.08863C18.5401 8.87863 19.0001 8.90863 19.3901 9.13863C19.7701 9.37863 20.0001 9.78863 20.0001 10.2386Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M21.6799 15.3206C20.7899 14.4306 19.6099 13.9806 18.4399 14.0006C17.3099 14.0106 16.1799 14.4606 15.3199 15.3206C14.7199 15.9106 14.3299 16.6506 14.1399 17.4206C14.0299 17.8406 13.9899 18.2706 14.0199 18.7006V18.7506C14.0199 18.8206 14.0299 18.8806 14.0399 18.9606C14.0399 18.9606 14.0399 18.9606 14.0499 18.9706V19.0006C14.1399 19.9806 14.5599 20.9306 15.3199 21.6806C16.4799 22.8406 18.1099 23.2306 19.5799 22.8606C20.0199 22.7506 20.4499 22.5706 20.8499 22.3306C21.1499 22.1606 21.4299 21.9406 21.6799 21.6806C22.4299 20.9306 22.8599 19.9806 22.9499 18.9906C22.9599 18.9906 22.9599 18.9706 22.9599 18.9606C22.9799 18.8906 22.9799 18.8106 22.9799 18.7406C22.9799 18.7306 22.9899 18.7106 22.9899 18.6906C23.0499 17.4806 22.6099 16.2406 21.6799 15.3206ZM20.2299 20.2106C19.9399 20.5006 19.4699 20.5006 19.1699 20.2106L18.5099 19.5506L17.8299 20.2306C17.5299 20.5306 17.0599 20.5306 16.7699 20.2306C16.4699 19.9406 16.4699 19.4706 16.7699 19.1706L17.4499 18.4906L16.7899 17.8306C16.4999 17.5306 16.4999 17.0606 16.7899 16.7706C17.0899 16.4706 17.5599 16.4706 17.8599 16.7706L18.5099 17.4306L19.1399 16.7906C19.4399 16.5006 19.9099 16.5006 20.2099 16.7906C20.4999 17.0906 20.4999 17.5606 20.2099 17.8606L19.5699 18.4906L20.2299 19.1406C20.5299 19.4406 20.5299 19.9106 20.2299 20.2106Z" fill="#5B5B5B"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.6 KiB |
6
assets/icons/box_tick.svg
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<svg width="37" height="36" viewBox="0 0 37 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M26.9002 7.96492L18.4252 3.40492C17.5252 2.92492 16.4602 2.92492 15.5602 3.40492L7.10021 7.96492C6.48521 8.30992 6.09521 8.96992 6.09521 9.68992C6.09521 10.4249 6.47021 11.0849 7.10021 11.4149L15.5752 15.9749C16.0252 16.2149 16.5202 16.3349 17.0002 16.3349C17.4802 16.3349 17.9902 16.2149 18.4252 15.9749L26.9002 11.4149C27.5152 11.0849 27.9052 10.4249 27.9052 9.68992C27.9052 8.96992 27.5152 8.30992 26.9002 7.96492Z" fill="white"/>
|
||||||
|
<path d="M14.18 17.5659L6.305 13.6359C5.69 13.3209 5 13.3659 4.415 13.7109C3.845 14.0709 3.5 14.6859 3.5 15.3609V22.8009C3.5 24.0909 4.22 25.2459 5.375 25.8309L13.25 29.7609C13.52 29.8959 13.82 29.9709 14.12 29.9709C14.465 29.9709 14.825 29.8659 15.14 29.6859C15.71 29.3259 16.055 28.7109 16.055 28.0359V20.5959C16.04 19.3059 15.32 18.1509 14.18 17.5659Z" fill="white"/>
|
||||||
|
<path d="M30.5 15.3609V19.0509C29.78 18.8409 29.015 18.7509 28.25 18.7509C26.21 18.7509 24.215 19.4559 22.64 20.7159C20.48 22.4109 19.25 24.9759 19.25 27.7509C19.25 28.4859 19.34 29.2209 19.535 29.9259C19.31 29.8959 19.085 29.8059 18.875 29.6709C18.305 29.3259 17.96 28.7109 17.96 28.0359V20.5959C17.96 19.3059 18.68 18.1509 19.82 17.5659L27.695 13.6359C28.31 13.3209 29 13.3659 29.585 13.7109C30.155 14.0709 30.5 14.6859 30.5 15.3609Z" fill="white"/>
|
||||||
|
<path d="M33.47 23.5043C32.24 21.9893 30.365 21.0293 28.25 21.0293C26.66 21.0293 25.19 21.5843 24.035 22.5143C22.475 23.7443 21.5 25.6493 21.5 27.7793C21.5 29.0393 21.86 30.2393 22.475 31.2593C22.88 31.9343 23.39 32.5193 23.99 32.9993H24.005C25.16 33.9593 26.645 34.5293 28.25 34.5293C29.96 34.5293 31.505 33.8993 32.69 32.8493C33.215 32.3993 33.665 31.8593 34.025 31.2593C34.64 30.2393 35 29.0393 35 27.7793C35 26.1593 34.43 24.6593 33.47 23.5043ZM31.64 26.9393L28.04 30.2693C27.83 30.4643 27.545 30.5693 27.275 30.5693C26.99 30.5693 26.705 30.4643 26.48 30.2393L24.815 28.5743C24.38 28.1393 24.38 27.4193 24.815 26.9843C25.25 26.5493 25.97 26.5493 26.405 26.9843L27.305 27.8843L30.11 25.2893C30.56 24.8693 31.28 24.8993 31.7 25.3493C32.135 25.8143 32.105 26.5193 31.64 26.9393Z" fill="white"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
3
assets/icons/close_square_filled.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M16.19 2H7.81C4.17 2 2 4.17 2 7.81V16.18C2 19.83 4.17 22 7.81 22H16.18C19.82 22 21.99 19.83 21.99 16.19V7.81C22 4.17 19.83 2 16.19 2ZM15.36 14.3C15.65 14.59 15.65 15.07 15.36 15.36C15.21 15.51 15.02 15.58 14.83 15.58C14.64 15.58 14.45 15.51 14.3 15.36L12 13.06L9.7 15.36C9.55 15.51 9.36 15.58 9.17 15.58C8.98 15.58 8.79 15.51 8.64 15.36C8.35 15.07 8.35 14.59 8.64 14.3L10.94 12L8.64 9.7C8.35 9.41 8.35 8.93 8.64 8.64C8.93 8.35 9.41 8.35 9.7 8.64L12 10.94L14.3 8.64C14.59 8.35 15.07 8.35 15.36 8.64C15.65 8.93 15.65 9.41 15.36 9.7L13.06 12L15.36 14.3Z" fill="#5B5B5B"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 681 B |
7
assets/icons/hashtag.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M8.0498 10.1408V11.3008H11.3098V8.05078H10.1498C8.9898 8.05078 8.0498 8.99078 8.0498 10.1408Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M8.0498 13.8592C8.0498 15.0092 8.9898 15.9492 10.1398 15.9492H11.2998V12.6992H8.0498V13.8592Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M12.7002 15.9492H13.8602C15.0102 15.9492 15.9502 15.0092 15.9502 13.8592V12.6992H12.7002V15.9492Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M16.19 2H7.81C4.17 2 2 4.17 2 7.81V16.18C2 19.83 4.17 22 7.81 22H16.18C19.82 22 21.99 19.83 21.99 16.19V7.81C22 4.17 19.83 2 16.19 2ZM17.35 13.86C17.35 15.78 15.78 17.35 13.86 17.35H10.14C8.22 17.35 6.65 15.79 6.65 13.86V10.14C6.65 8.22 8.22 6.65 10.14 6.65H13.86C15.78 6.65 17.35 8.21 17.35 10.14V13.86Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M13.8602 8.05078H12.7002V11.3108H15.9602V10.1508C15.9502 8.99078 15.0102 8.05078 13.8602 8.05078Z" fill="#5B5B5B"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 927 B |
7
assets/icons/home_hashtag.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12.7002 16.8798H13.4002C14.5502 16.8798 15.4902 15.9398 15.4902 14.7898V14.0898H12.7002V16.8798Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M8.50977 14.7898C8.50977 15.9398 9.44977 16.8798 10.5998 16.8798H11.2998V14.0898H8.50977V14.7898Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M8.50977 12.0002V12.7002H11.2998V9.91016H10.5998C9.44977 9.91016 8.50977 10.8502 8.50977 12.0002Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M20.03 6.81969L14.28 2.78969C12.71 1.68969 10.31 1.74969 8.8 2.91969L3.79 6.82969C2.78 7.60969 2 9.20969 2 10.4697V17.3697C2 19.9197 4.07 21.9997 6.61 21.9997H17.38C19.92 21.9997 21.99 19.9297 21.99 17.3797V10.5997C22 9.24969 21.13 7.58969 20.03 6.81969ZM16.88 14.7897C16.88 16.7097 15.31 18.2797 13.39 18.2797H10.6C8.68 18.2797 7.11 16.7197 7.11 14.7897V11.9997C7.11 10.0797 8.68 8.50969 10.6 8.50969H13.39C15.31 8.50969 16.88 10.0697 16.88 11.9997V14.7897Z" fill="#5B5B5B"/>
|
||||||
|
<path d="M13.4002 9.91016H12.7002V12.7002H15.4902V12.0002C15.4902 10.8502 14.5502 9.91016 13.4002 9.91016Z" fill="#5B5B5B"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
3
assets/icons/home_trend_down.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M20.0402 6.81969L14.2802 2.78969C12.7102 1.68969 10.3002 1.74969 8.79023 2.91969L3.78023 6.82969C2.78023 7.60969 1.99023 9.20969 1.99023 10.4697V17.3697C1.99023 19.9197 4.06023 21.9997 6.61023 21.9997H17.3902C19.9402 21.9997 22.0102 19.9297 22.0102 17.3797V10.5997C22.0102 9.24969 21.1402 7.58969 20.0402 6.81969ZM16.8802 16.1897C16.8802 16.2797 16.8602 16.3697 16.8302 16.4597C16.7602 16.6297 16.6202 16.7697 16.4502 16.8397C16.3602 16.8797 16.2702 16.8897 16.1802 16.8897H14.3202C13.9302 16.8897 13.6202 16.5797 13.6202 16.1897C13.6202 15.7997 13.9302 15.4897 14.3202 15.4897H14.5002L12.3902 13.3797L11.3702 14.8997C11.2502 15.0697 11.0702 15.1897 10.8602 15.2097C10.6402 15.2297 10.4502 15.1597 10.3002 15.0097L7.32023 12.0297C7.05023 11.7597 7.05023 11.3197 7.32023 11.0397C7.59023 10.7597 8.03023 10.7697 8.31024 11.0397L10.6902 13.4197L11.7102 11.8997C11.8302 11.7297 12.0102 11.6097 12.2202 11.5897C12.4402 11.5697 12.6302 11.6397 12.7802 11.7897L15.5002 14.5097V14.3297C15.5002 13.9397 15.8102 13.6297 16.2002 13.6297C16.5902 13.6297 16.9002 13.9397 16.9002 14.3297V16.1897H16.8802Z" fill="#5B5B5B"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
3
assets/icons/home_trend_up.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M20.0402 6.81969L14.2802 2.78969C12.7102 1.68969 10.3002 1.74969 8.79023 2.91969L3.78023 6.82969C2.78023 7.60969 1.99023 9.20969 1.99023 10.4697V17.3697C1.99023 19.9197 4.06023 21.9997 6.61023 21.9997H17.3902C19.9402 21.9997 22.0102 19.9297 22.0102 17.3797V10.5997C22.0102 9.24969 21.1402 7.58969 20.0402 6.81969ZM16.8802 13.3997C16.8802 13.7897 16.5702 14.0997 16.1802 14.0997C15.7902 14.0997 15.4802 13.7897 15.4802 13.3997V13.2197L12.7602 15.9397C12.6102 16.0897 12.4102 16.1597 12.2002 16.1397C12.0002 16.1197 11.8102 15.9997 11.7002 15.8297L10.6802 14.3097L8.30023 16.6897C8.16023 16.8297 7.99023 16.8897 7.81023 16.8897C7.63023 16.8897 7.45023 16.8197 7.32023 16.6897C7.05023 16.4197 7.05023 15.9797 7.32023 15.6997L10.3002 12.7197C10.4502 12.5697 10.6502 12.4997 10.8602 12.5197C11.0702 12.5397 11.2602 12.6497 11.3702 12.8297L12.3902 14.3497L14.5002 12.2397H14.3202C13.9302 12.2397 13.6202 11.9297 13.6202 11.5397C13.6202 11.1497 13.9302 10.8397 14.3202 10.8397H16.1802C16.2702 10.8397 16.3602 10.8597 16.4502 10.8897C16.6202 10.9597 16.7602 11.0997 16.8302 11.2697C16.8702 11.3597 16.8802 11.4497 16.8802 11.5397V13.3997Z" fill="#5B5B5B"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
10
assets/icons/note_remove.svg
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M15.9198 2.66602H8.07984C4.69317 2.66602 2.6665 4.69268 2.6665 8.07935V15.9193C2.6665 19.306 4.69317 21.3327 8.07984 21.3327H15.9198C19.3065 21.3327 21.3332 19.306 21.3332 15.9193V8.07935C21.3332 4.69268 19.3065 2.66602 15.9198 2.66602ZM17.2532 14.826C17.9198 15.4927 17.9198 16.586 17.2532 17.2527C16.9065 17.5727 16.4532 17.7327 16.0265 17.7327C15.5998 17.7327 15.1732 17.5727 14.8265 17.2527L11.9732 14.426L9.19984 17.2527C8.85317 17.5727 8.4265 17.7327 7.9465 17.7327C7.51984 17.7327 7.09317 17.5727 6.7465 17.2527C6.07984 16.586 6.07984 15.4927 6.7465 14.826L9.59984 11.9993L6.77317 9.19935C6.1065 8.53268 6.1065 7.43935 6.77317 6.77268C7.43984 6.10602 8.53317 6.10602 9.19984 6.77268L11.9732 9.59935L14.7998 6.77268C15.4665 6.10602 16.5598 6.10602 17.2265 6.77268C17.8932 7.43935 17.8932 8.53268 17.2265 9.19935L14.4265 11.9993L17.2532 14.826Z"
|
||||||
|
fill="#FFFFFF"/>
|
||||||
|
<path d="M57.3333 42.1871C57.3333 42.5871 57.2 42.9871 56.8533 43.3338C52.9867 47.2271 46.1067 54.1605 42.16 58.1338C41.8133 58.5071 41.36 58.6671 40.9067 58.6671C40.0267 58.6671 39.1733 57.9738 39.1733 56.9605V47.6271C39.1733 43.7338 42.48 40.5071 46.5333 40.5071C49.0667 40.4805 52.5867 40.4805 55.6 40.4805C56.64 40.4805 57.3333 41.3071 57.3333 42.1871Z"
|
||||||
|
fill="#FFFFFF"/>
|
||||||
|
<path d="M57.3333 42.1871C57.3333 42.5871 57.2 42.9871 56.8533 43.3338C52.9867 47.2271 46.1067 54.1605 42.16 58.1338C41.8133 58.5071 41.36 58.6671 40.9067 58.6671C40.0267 58.6671 39.1733 57.9738 39.1733 56.9605V47.6271C39.1733 43.7338 42.48 40.5071 46.5333 40.5071C49.0667 40.4805 52.5867 40.4805 55.6 40.4805C56.64 40.4805 57.3333 41.3071 57.3333 42.1871Z"
|
||||||
|
fill="#FFFFFF"/>
|
||||||
|
<path d="M44.3465 5.33398H27.9998C26.5332 5.33398 25.3332 6.53398 25.3332 8.00065V17.334C25.3332 21.7607 21.7598 25.334 17.3332 25.334H9.33317C7.8665 25.334 6.6665 26.534 6.6665 28.0007V45.6806C6.6665 52.854 12.4798 58.6673 19.6532 58.6673H32.5065C33.9732 58.6673 35.1732 57.4673 35.1732 56.0007V47.6273C35.1732 41.494 40.2665 36.5073 46.5332 36.5073C47.9465 36.4806 51.3865 36.4807 54.6665 36.4807C56.1332 36.4807 57.3332 35.3073 57.3332 33.814V18.3207C57.3332 11.1473 51.5198 5.33398 44.3465 5.33398ZM23.2532 45.3607H16.2132C15.1198 45.3607 14.2132 44.454 14.2132 43.3607C14.2132 42.2407 15.1198 41.334 16.2132 41.334H23.2532C24.3998 41.334 25.2532 42.2407 25.2532 43.3607C25.2532 44.454 24.3998 45.3607 23.2532 45.3607ZM30.6932 35.4673H16.2132C15.1198 35.4673 14.2132 34.5607 14.2132 33.4673C14.2132 32.3473 15.1198 31.4407 16.2132 31.4407H30.6932C31.7865 31.4407 32.7198 32.3473 32.7198 33.4673C32.7198 34.5607 31.7865 35.4673 30.6932 35.4673Z"
|
||||||
|
fill="#FFFFFF"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.7 KiB |
BIN
assets/vec/box_remove.svg.vec
Normal file
BIN
assets/vec/box_tick.svg.vec
Normal file
BIN
assets/vec/close_square_filled.svg.vec
Normal file
BIN
assets/vec/hashtag.svg.vec
Normal file
BIN
assets/vec/home_hashtag.svg.vec
Normal file
BIN
assets/vec/home_trend_down.svg.vec
Normal file
BIN
assets/vec/home_trend_up.svg.vec
Normal file
BIN
assets/vec/note_remove.svg.vec
Normal file
@@ -2,8 +2,8 @@ import 'package:flutter/cupertino.dart' hide LinearGradient;
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rasadyar_chicken/data/models/response/inventory/inventory_model.dart';
|
import 'package:rasadyar_chicken/data/models/response/inventory/inventory_model.dart';
|
||||||
import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
|
import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
|
||||||
|
import 'package:rasadyar_chicken/presentation/routes/routes.dart';
|
||||||
import 'package:rasadyar_chicken/presentation/widget/app_bar.dart';
|
import 'package:rasadyar_chicken/presentation/widget/app_bar.dart';
|
||||||
import 'package:rasadyar_chicken/presentation/widget/steward/widely_used/view.dart';
|
|
||||||
import 'package:rasadyar_core/core.dart';
|
import 'package:rasadyar_core/core.dart';
|
||||||
|
|
||||||
import 'logic.dart';
|
import 'logic.dart';
|
||||||
@@ -50,7 +50,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
height: 40,
|
height: 40,
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
image: AssetImage(Assets.images.chicken.path),
|
image: AssetImage(
|
||||||
|
Assets.images.chicken.path,
|
||||||
|
),
|
||||||
fit: BoxFit.cover,
|
fit: BoxFit.cover,
|
||||||
),
|
),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
@@ -58,7 +60,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
width: 0.25,
|
width: 0.25,
|
||||||
color: const Color(0xFFB0B0B0),
|
color: const Color(0xFFB0B0B0),
|
||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(4),
|
borderRadius: BorderRadius.circular(
|
||||||
|
4,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -73,7 +77,10 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
AnimatedRotation(
|
AnimatedRotation(
|
||||||
turns: 180,
|
turns: 180,
|
||||||
duration: Duration(milliseconds: 3000),
|
duration: Duration(milliseconds: 3000),
|
||||||
child: Icon(CupertinoIcons.chevron_up, size: 18),
|
child: Icon(
|
||||||
|
CupertinoIcons.chevron_up,
|
||||||
|
size: 18,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -108,7 +115,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
height: 40,
|
height: 40,
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
image: AssetImage(Assets.images.chicken.path),
|
image: AssetImage(
|
||||||
|
Assets.images.chicken.path,
|
||||||
|
),
|
||||||
fit: BoxFit.cover,
|
fit: BoxFit.cover,
|
||||||
),
|
),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
@@ -116,7 +125,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
width: 0.25,
|
width: 0.25,
|
||||||
color: const Color(0xFFB0B0B0),
|
color: const Color(0xFFB0B0B0),
|
||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(4),
|
borderRadius: BorderRadius.circular(
|
||||||
|
4,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -141,7 +152,7 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
// WidelyUsedWidget(),
|
widelyWidget(),
|
||||||
SizedBox(height: 20),
|
SizedBox(height: 20),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -160,16 +171,19 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
_informationIconCard(
|
_informationIconCard(
|
||||||
title: 'کمترین سن جوجه ریزیط',
|
title: 'کمترین سن جوجه ریزیط',
|
||||||
isLoading: data.value == null,
|
isLoading: data.value == null,
|
||||||
description: data.value?.hatchingMinAge.separatedByComma ?? '0',
|
|
||||||
iconPath: Assets.vec.truckSvg.path,
|
description:
|
||||||
|
'${data.value?.hatchingMinAge.separatedByComma} روز' ?? '0',
|
||||||
|
iconPath: Assets.vec.homeTrendUpSvg.path,
|
||||||
iconColor: const Color.fromRGBO(85, 97, 93, 1),
|
iconColor: const Color.fromRGBO(85, 97, 93, 1),
|
||||||
bgDescriptionColor: const Color(0xFFE6FAF5),
|
bgDescriptionColor: const Color(0xFFE6FAF5),
|
||||||
bgLabelColor: const Color(0xFFB0EFDF),
|
bgLabelColor: const Color(0xFFB0EFDF),
|
||||||
),
|
),
|
||||||
_informationIconCard(
|
_informationIconCard(
|
||||||
title: 'بیشترین سن جوجه ریزی',
|
title: 'بیشترین سن جوجه ریزی',
|
||||||
description: data.value?.hatchingMaxAge?.separatedByComma ?? '0',
|
description:
|
||||||
iconPath: Assets.vec.convertCubeSvg.path,
|
'${data.value?.hatchingMaxAge.separatedByComma} روز' ?? '0',
|
||||||
|
iconPath: Assets.vec.homeTrendUpSvg.path,
|
||||||
iconColor: const Color(0xFF6F6164),
|
iconColor: const Color(0xFF6F6164),
|
||||||
bgDescriptionColor: const Color(0xFFEDDCE0),
|
bgDescriptionColor: const Color(0xFFEDDCE0),
|
||||||
bgLabelColor: const Color(0xFFE0BCC5),
|
bgLabelColor: const Color(0xFFE0BCC5),
|
||||||
@@ -191,8 +205,10 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
child: _informationLabelCard(
|
child: _informationLabelCard(
|
||||||
title: 'تلفات',
|
title: 'تلفات',
|
||||||
isLoading: data.value == null,
|
isLoading: data.value == null,
|
||||||
description: data.value?.hatchingLosses?.separatedByComma ?? '0',
|
unit: 'قطعه',
|
||||||
iconPath: Assets.vec.a3dCubeSquareSvg.path,
|
description:
|
||||||
|
data.value?.hatchingLosses?.separatedByComma ?? '0',
|
||||||
|
iconPath: Assets.vec.boxRemoveSvg.path,
|
||||||
iconColor: const Color(0xFF6C5D60),
|
iconColor: const Color(0xFF6C5D60),
|
||||||
bgDescriptionColor: const Color(0xFFEDDCE0),
|
bgDescriptionColor: const Color(0xFFEDDCE0),
|
||||||
bgLabelColor: const Color(0xFFDDC0C7),
|
bgLabelColor: const Color(0xFFDDC0C7),
|
||||||
@@ -201,9 +217,11 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: _informationLabelCard(
|
child: _informationLabelCard(
|
||||||
title: 'حجم کشتار شده',
|
title: 'حجم کشتار شده',
|
||||||
|
unit: 'قطعه',
|
||||||
isLoading: data.value == null,
|
isLoading: data.value == null,
|
||||||
description: data.value?.hatchingKilledQuantity.separatedByComma ?? '0',
|
description:
|
||||||
iconPath: Assets.vec.cubeSearchSvg.path,
|
data.value?.hatchingKilledQuantity.separatedByComma ?? '0',
|
||||||
|
iconPath: Assets.vec.closeSquareFilledSvg.path,
|
||||||
iconColor: Color(0xFF2D5FFF),
|
iconColor: Color(0xFF2D5FFF),
|
||||||
bgLabelColor: const Color(0xFFAFCBFF),
|
bgLabelColor: const Color(0xFFAFCBFF),
|
||||||
bgDescriptionColor: const Color(0xFFCEDFFF),
|
bgDescriptionColor: const Color(0xFFCEDFFF),
|
||||||
@@ -227,8 +245,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
title: 'حجم جوجه ریزی',
|
title: 'حجم جوجه ریزی',
|
||||||
isLoading: data.value == null,
|
isLoading: data.value == null,
|
||||||
unit: 'قطعه',
|
unit: 'قطعه',
|
||||||
description: data.value?.hatchingQuantity.separatedByComma ?? '0',
|
description:
|
||||||
iconPath: Assets.vec.cubeSearchSvg.path,
|
data.value?.hatchingQuantity.separatedByComma ?? '0',
|
||||||
|
iconPath: Assets.vec.hashtagSvg.path,
|
||||||
iconColor: const Color(0xFF426060),
|
iconColor: const Color(0xFF426060),
|
||||||
bgDescriptionColor: const Color(0xFFC7DFE0),
|
bgDescriptionColor: const Color(0xFFC7DFE0),
|
||||||
bgLabelColor: const Color(0xFFA5D1D2),
|
bgLabelColor: const Color(0xFFA5D1D2),
|
||||||
@@ -239,8 +258,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
title: 'مانده در سالن',
|
title: 'مانده در سالن',
|
||||||
unit: 'قطعه',
|
unit: 'قطعه',
|
||||||
isLoading: data.value == null,
|
isLoading: data.value == null,
|
||||||
description: data.value?.hatchingLeftOver.separatedByComma ?? '0',
|
description:
|
||||||
iconPath: Assets.vec.cubeRotateSvg.path,
|
data.value?.hatchingLeftOver.separatedByComma ?? '0',
|
||||||
|
iconPath: Assets.vec.homeHashtagSvg.path,
|
||||||
iconColor: Color(0xFF5C4D64),
|
iconColor: Color(0xFF5C4D64),
|
||||||
bgLabelColor: Color(0xFFC8B8D1),
|
bgLabelColor: Color(0xFFC8B8D1),
|
||||||
bgDescriptionColor: Color(0xFFDAD4DD),
|
bgDescriptionColor: Color(0xFFDAD4DD),
|
||||||
@@ -262,7 +282,6 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
child: ObxValue(
|
child: ObxValue(
|
||||||
(data) => _informationLabelCard(
|
(data) => _informationLabelCard(
|
||||||
title: 'کل فارم ها',
|
title: 'کل فارم ها',
|
||||||
titleColor: AppColor.blueNormal,
|
|
||||||
isLoading: data.value == null,
|
isLoading: data.value == null,
|
||||||
description: data.value?.farmCount?.separatedByComma ?? '0',
|
description: data.value?.farmCount?.separatedByComma ?? '0',
|
||||||
iconPath: Assets.vec.cubeSearchSvg.path,
|
iconPath: Assets.vec.cubeSearchSvg.path,
|
||||||
@@ -281,15 +300,15 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: ObxValue((data) {
|
child: ObxValue((data) {
|
||||||
return _informationLabelCard(
|
return _informationLabelCard(
|
||||||
title: 'تعداد جوجه ریزی ها',
|
title: 'تعداد جوجه ریزی',
|
||||||
isLoading: data.value == null,
|
isLoading: data.value == null,
|
||||||
description: data.value?.hatchingCount.separatedByComma ?? '0',
|
description: data.value?.hatchingCount.separatedByComma ?? '0',
|
||||||
iconPath: Assets.vec.cubeWattingSvg.path,
|
iconPath: Assets.vec.cubeCardSvg.path,
|
||||||
bgDescriptionColor: Colors.white,
|
bgDescriptionColor: Colors.white,
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
begin: Alignment.topCenter,
|
begin: Alignment.topCenter,
|
||||||
end: Alignment.bottomCenter,
|
end: Alignment.bottomCenter,
|
||||||
colors: [const Color(0xFFFFE7BB), Colors.white],
|
colors: [AppColor.greenLightHover, Colors.white],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}, controller.homeInformation),
|
}, controller.homeInformation),
|
||||||
@@ -304,7 +323,7 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
required String description,
|
required String description,
|
||||||
required String iconPath,
|
required String iconPath,
|
||||||
required Color bgDescriptionColor,
|
required Color bgDescriptionColor,
|
||||||
String unit = 'کیلوگرم',
|
String? unit,
|
||||||
bool isLoading = false,
|
bool isLoading = false,
|
||||||
Color? iconColor,
|
Color? iconColor,
|
||||||
Color? titleColor,
|
Color? titleColor,
|
||||||
@@ -343,7 +362,7 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
Text(
|
Text(
|
||||||
title,
|
title,
|
||||||
textAlign: TextAlign.right,
|
textAlign: TextAlign.right,
|
||||||
style: AppFonts.yekan14.copyWith(
|
style: AppFonts.yekan10.copyWith(
|
||||||
color: titleColor ?? AppColor.mediumGreyDarkActive,
|
color: titleColor ?? AppColor.mediumGreyDarkActive,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -370,12 +389,19 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
Text(
|
Text(
|
||||||
description,
|
description,
|
||||||
textAlign: TextAlign.right,
|
textAlign: TextAlign.right,
|
||||||
style: AppFonts.yekan16.copyWith(color: AppColor.mediumGreyDarkActive),
|
style: AppFonts.yekan12.copyWith(
|
||||||
|
color: AppColor.mediumGreyDarkActive,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
Text(
|
Visibility(
|
||||||
unit,
|
visible: unit != null,
|
||||||
textAlign: TextAlign.center,
|
child: Text(
|
||||||
style: AppFonts.yekan12.copyWith(color: AppColor.mediumGreyDarkActive),
|
unit ?? '',
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: AppFonts.yekan12.copyWith(
|
||||||
|
color: AppColor.mediumGreyDarkActive,
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -397,7 +423,7 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
required Color bgLabelColor,
|
required Color bgLabelColor,
|
||||||
}) {
|
}) {
|
||||||
return Container(
|
return Container(
|
||||||
height: 80.h,
|
height: 100.h,
|
||||||
width: 145.w,
|
width: 145.w,
|
||||||
decoration: BoxDecoration(borderRadius: BorderRadius.circular(8)),
|
decoration: BoxDecoration(borderRadius: BorderRadius.circular(8)),
|
||||||
clipBehavior: Clip.hardEdge,
|
clipBehavior: Clip.hardEdge,
|
||||||
@@ -422,7 +448,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
Text(
|
Text(
|
||||||
title,
|
title,
|
||||||
textAlign: TextAlign.right,
|
textAlign: TextAlign.right,
|
||||||
style: AppFonts.yekan14.copyWith(color: AppColor.mediumGreyDarkActive),
|
style: AppFonts.yekan14.copyWith(
|
||||||
|
color: AppColor.mediumGreyDarkActive,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
isLoading
|
isLoading
|
||||||
@@ -430,7 +458,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
: Text(
|
: Text(
|
||||||
description,
|
description,
|
||||||
textAlign: TextAlign.right,
|
textAlign: TextAlign.right,
|
||||||
style: AppFonts.yekan16.copyWith(color: AppColor.mediumGreyDarkActive),
|
style: AppFonts.yekan16.copyWith(
|
||||||
|
color: AppColor.mediumGreyDarkActive,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
Visibility(
|
Visibility(
|
||||||
@@ -438,7 +468,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
child: Text(
|
child: Text(
|
||||||
unit ?? '',
|
unit ?? '',
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: AppFonts.yekan12.copyWith(color: AppColor.mediumGreyDarkActive),
|
style: AppFonts.yekan12.copyWith(
|
||||||
|
color: AppColor.mediumGreyDarkActive,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -499,8 +531,14 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
'کل ورودی به انبار (کیلوگرم)',
|
'کل ورودی به انبار (کیلوگرم)',
|
||||||
model.totalFreeBarsCarcassesWeight.toString(),
|
model.totalFreeBarsCarcassesWeight.toString(),
|
||||||
),
|
),
|
||||||
buildRow('کل فروش (کیلوگرم)', model.realAllocatedWeight.toString()),
|
buildRow(
|
||||||
buildRow('مانده انبار (کیلوگرم)', model.totalRemainWeight.toString()),
|
'کل فروش (کیلوگرم)',
|
||||||
|
model.realAllocatedWeight.toString(),
|
||||||
|
),
|
||||||
|
buildRow(
|
||||||
|
'مانده انبار (کیلوگرم)',
|
||||||
|
model.totalRemainWeight.toString(),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -519,7 +557,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
child: Text(
|
child: Text(
|
||||||
title,
|
title,
|
||||||
textAlign: TextAlign.right,
|
textAlign: TextAlign.right,
|
||||||
style: AppFonts.yekan14.copyWith(color: AppColor.darkGreyDarkHover),
|
style: AppFonts.yekan14.copyWith(
|
||||||
|
color: AppColor.darkGreyDarkHover,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Flexible(
|
Flexible(
|
||||||
@@ -527,7 +567,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
child: Text(
|
child: Text(
|
||||||
value,
|
value,
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: AppFonts.yekan14.copyWith(color: AppColor.darkGreyDarkHover),
|
style: AppFonts.yekan14.copyWith(
|
||||||
|
color: AppColor.darkGreyDarkHover,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -553,7 +595,9 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
Text(
|
Text(
|
||||||
'اطلاعات ارسالی',
|
'اطلاعات ارسالی',
|
||||||
textAlign: TextAlign.right,
|
textAlign: TextAlign.right,
|
||||||
style: AppFonts.yekan16Bold.copyWith(color: AppColor.blueNormal),
|
style: AppFonts.yekan16Bold.copyWith(
|
||||||
|
color: AppColor.blueNormal,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
buildRow(
|
buildRow(
|
||||||
@@ -605,4 +649,193 @@ class PoultryScienceHomePage extends GetView<PoultryScienceHomeLogic> {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget widelyWidget() {
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsetsGeometry.all(6),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'پر کاربرد ها',
|
||||||
|
textAlign: TextAlign.right,
|
||||||
|
style: AppFonts.yekan16,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 2.0, vertical: 2),
|
||||||
|
child: Wrap(
|
||||||
|
spacing: 15,
|
||||||
|
runSpacing: 8,
|
||||||
|
children: [
|
||||||
|
widelyUsed(
|
||||||
|
title: 'بازرسی',
|
||||||
|
iconPath: Assets.vec.cubeSearchSvg.path,
|
||||||
|
isOnEdit: false,
|
||||||
|
|
||||||
|
cardColor: AppColor.greenLightActive,
|
||||||
|
labelColor: AppColor.greenNormal,
|
||||||
|
textColor: AppColor.greenDarkHover,
|
||||||
|
onTap: () async {
|
||||||
|
controller.rootLogic.currentPage.value = 0;
|
||||||
|
controller.rootLogic.currentPage.refresh();
|
||||||
|
await Future.delayed(Duration(milliseconds: 100));
|
||||||
|
Get.toNamed(ChickenRoutes.inspectionPoultryScience, id: 0);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
|
||||||
|
widelyUsed(
|
||||||
|
title: 'ثبت کشتار',
|
||||||
|
iconPath: Assets.vec.noteRemoveSvg.path,
|
||||||
|
|
||||||
|
onTap: () async {
|
||||||
|
controller.rootLogic.currentPage.value = 0;
|
||||||
|
controller.rootLogic.currentPage.refresh();
|
||||||
|
await Future.delayed(Duration(milliseconds: 100));
|
||||||
|
//Get.toNamed(ChickenRoutes.inspectionPoultryScience, id: 0);
|
||||||
|
},
|
||||||
|
isOnEdit: false,
|
||||||
|
),
|
||||||
|
widelyUsed(
|
||||||
|
title: 'فارم ها',
|
||||||
|
iconPath: Assets.vec.a3dCubeSquareSvg.path,
|
||||||
|
isOnEdit: false,
|
||||||
|
onTap: () async {
|
||||||
|
controller.rootLogic.currentPage.value = 1;
|
||||||
|
controller.rootLogic.currentPage.refresh();
|
||||||
|
await Future.delayed(Duration(milliseconds: 100));
|
||||||
|
// Get.toNamed(ChickenRoutes.salesOutOfProvinceSteward, id: 1);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
|
||||||
|
widelyUsed(
|
||||||
|
title: 'جوجه ریزی فعال',
|
||||||
|
iconPath: Assets.vec.boxTickSvg.path,
|
||||||
|
isOnEdit: false,
|
||||||
|
onTap: () async {
|
||||||
|
controller.rootLogic.currentPage.value = 1;
|
||||||
|
controller.rootLogic.currentPage.refresh();
|
||||||
|
await Future.delayed(Duration(milliseconds: 100));
|
||||||
|
// Get.toNamed(ChickenRoutes.salesInProvinceSteward, id: 1);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget widelyUsed({
|
||||||
|
required String title,
|
||||||
|
required String iconPath,
|
||||||
|
required VoidCallback onTap,
|
||||||
|
required bool isOnEdit,
|
||||||
|
Color? cardColor,
|
||||||
|
Color? labelColor,
|
||||||
|
Color? textColor,
|
||||||
|
}) {
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: !isOnEdit ? onTap : null,
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
spacing: 4,
|
||||||
|
children: [
|
||||||
|
Stack(
|
||||||
|
clipBehavior: Clip.none,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: 48,
|
||||||
|
height: 48,
|
||||||
|
padding: EdgeInsets.all(4),
|
||||||
|
decoration: ShapeDecoration(
|
||||||
|
color: cardColor ?? Color(0xFFBECDFF),
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: Container(
|
||||||
|
width: 40,
|
||||||
|
height: 40,
|
||||||
|
decoration: ShapeDecoration(
|
||||||
|
color: labelColor ?? AppColor.blueNormal,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: SvgGenImage.vec(iconPath).svg(
|
||||||
|
width: 24,
|
||||||
|
height: 24,
|
||||||
|
colorFilter: ColorFilter.mode(
|
||||||
|
Colors.white,
|
||||||
|
BlendMode.srcIn,
|
||||||
|
),
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Visibility(
|
||||||
|
visible: isOnEdit,
|
||||||
|
child: Container(
|
||||||
|
width: 48,
|
||||||
|
height: 48,
|
||||||
|
padding: EdgeInsets.all(4),
|
||||||
|
decoration: ShapeDecoration(
|
||||||
|
color: Colors.white60,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
Visibility(
|
||||||
|
visible: isOnEdit,
|
||||||
|
child: Positioned(
|
||||||
|
top: -15,
|
||||||
|
left: -12,
|
||||||
|
child: SizedBox(
|
||||||
|
width: 32.w,
|
||||||
|
height: 32.h,
|
||||||
|
child: GestureDetector(
|
||||||
|
onTap: () {},
|
||||||
|
behavior: HitTestBehavior.translucent,
|
||||||
|
child: Center(
|
||||||
|
child: Container(
|
||||||
|
width: 16,
|
||||||
|
height: 16,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
alignment: Alignment.center,
|
||||||
|
child: Icon(
|
||||||
|
CupertinoIcons.minus,
|
||||||
|
color: AppColor.error,
|
||||||
|
size: 15,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
title,
|
||||||
|
style: AppFonts.yekan10.copyWith(
|
||||||
|
color: textColor ?? AppColor.blueNormal,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,15 +4,20 @@ import 'package:rasadyar_core/core.dart';
|
|||||||
class PoultryActionItem {
|
class PoultryActionItem {
|
||||||
final String title;
|
final String title;
|
||||||
final String route;
|
final String route;
|
||||||
|
final String icon;
|
||||||
|
|
||||||
PoultryActionItem({required this.title, required this.route});
|
PoultryActionItem({required this.title, required this.route,required this.icon});
|
||||||
}
|
}
|
||||||
|
|
||||||
class PoultryActionLogic extends GetxController {
|
class PoultryActionLogic extends GetxController {
|
||||||
RxList<PoultryActionItem> items = [
|
RxList<PoultryActionItem> items = [
|
||||||
PoultryActionItem(title: "بازرسی", route: ChickenRoutes.inspectionPoultryScience),
|
PoultryActionItem(title: "بازرسی", route: ChickenRoutes.inspectionPoultryScience,icon: Assets.vec.cubeSearchSvg.path),
|
||||||
PoultryActionItem(title: "ثبت کشتار", route: ChickenRoutes.killingRegistrationPoultryScience),
|
PoultryActionItem(title: "ثبت کشتار", route: ChickenRoutes.killingRegistrationPoultryScience,icon: Assets.vec.noteRemoveSvg.path),
|
||||||
PoultryActionItem(title: "فارم ها", route: ChickenRoutes.farmPoultryScience),
|
PoultryActionItem(title: "فارم ها", route: ChickenRoutes.farmPoultryScience,icon: Assets.vec.cubeBottomRotationSvg.path),
|
||||||
PoultryActionItem(title: "جوجه ریزی فعال", route: ChickenRoutes.activeHatchingPoultryScience),
|
PoultryActionItem(title: "جوجه ریزی فعال", route: ChickenRoutes.activeHatchingPoultryScience,icon: Assets.vec.boxTickSvg.path),
|
||||||
].obs;
|
].obs;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,10 +11,19 @@ class PoultryActionPage extends GetView<PoultryActionLogic> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: chickenAppBar(hasBack: false, hasFilter: false, hasSearch: false, isBase: false),
|
appBar: chickenAppBar(
|
||||||
|
hasBack: false,
|
||||||
|
hasFilter: false,
|
||||||
|
hasSearch: false,
|
||||||
|
isBase: false,
|
||||||
|
),
|
||||||
body: Column(
|
body: Column(
|
||||||
children: [
|
children: [
|
||||||
Assets.images.poultryAction.image(height: 212.h, width: Get.width.w, fit: BoxFit.cover),
|
Assets.images.poultryAction.image(
|
||||||
|
height: 212.h,
|
||||||
|
width: Get.width.w,
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
),
|
||||||
ObxValue((data) {
|
ObxValue((data) {
|
||||||
return Expanded(
|
return Expanded(
|
||||||
child: GridView.builder(
|
child: GridView.builder(
|
||||||
@@ -28,8 +37,9 @@ class PoultryActionPage extends GetView<PoultryActionLogic> {
|
|||||||
hitTestBehavior: HitTestBehavior.opaque,
|
hitTestBehavior: HitTestBehavior.opaque,
|
||||||
itemBuilder: (BuildContext context, int index) {
|
itemBuilder: (BuildContext context, int index) {
|
||||||
var item = data[index];
|
var item = data[index];
|
||||||
return roleCard(
|
return roleCardWithIcon(
|
||||||
title: item.title,
|
title: item.title,
|
||||||
|
icon: item.icon,
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
Get.toNamed(item.route, id: 0);
|
Get.toNamed(item.route, id: 0);
|
||||||
},
|
},
|
||||||
@@ -43,3 +53,39 @@ class PoultryActionPage extends GetView<PoultryActionLogic> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget roleCardWithIcon({
|
||||||
|
required String title,
|
||||||
|
required String icon,
|
||||||
|
Function()? onTap,
|
||||||
|
int? width,
|
||||||
|
int? height,
|
||||||
|
}) {
|
||||||
|
return Container(
|
||||||
|
width: width?.w ?? 128.w,
|
||||||
|
height: height?.h ?? 48.h,
|
||||||
|
margin: EdgeInsets.all(8.w),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
borderRadius: BorderRadius.circular(8.r),
|
||||||
|
border: Border.all(color: AppColor.blueNormal, width: 1.w),
|
||||||
|
),
|
||||||
|
child: InkWell(
|
||||||
|
onTap: onTap,
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
spacing: 8,
|
||||||
|
children: [
|
||||||
|
SvgGenImage.vec(icon).svg(width: 46.w, height: 46.h,colorFilter: ColorFilter.mode(
|
||||||
|
AppColor.blueNormal,
|
||||||
|
BlendMode.srcIn
|
||||||
|
)),
|
||||||
|
|
||||||
|
Text(
|
||||||
|
title,
|
||||||
|
style: AppFonts.yekan12Bold.copyWith(color: AppColor.blueNormal),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
@@ -53,6 +53,12 @@ class $AssetsIconsGen {
|
|||||||
/// File path: assets/icons/bg_header_user_profile.svg
|
/// File path: assets/icons/bg_header_user_profile.svg
|
||||||
SvgGenImage get bgHeaderUserProfile => const SvgGenImage('assets/icons/bg_header_user_profile.svg');
|
SvgGenImage get bgHeaderUserProfile => const SvgGenImage('assets/icons/bg_header_user_profile.svg');
|
||||||
|
|
||||||
|
/// File path: assets/icons/box_remove.svg
|
||||||
|
SvgGenImage get boxRemove => const SvgGenImage('assets/icons/box_remove.svg');
|
||||||
|
|
||||||
|
/// File path: assets/icons/box_tick.svg
|
||||||
|
SvgGenImage get boxTick => const SvgGenImage('assets/icons/box_tick.svg');
|
||||||
|
|
||||||
/// File path: assets/icons/buy.svg
|
/// File path: assets/icons/buy.svg
|
||||||
SvgGenImage get buy => const SvgGenImage('assets/icons/buy.svg');
|
SvgGenImage get buy => const SvgGenImage('assets/icons/buy.svg');
|
||||||
|
|
||||||
@@ -95,6 +101,9 @@ class $AssetsIconsGen {
|
|||||||
/// File path: assets/icons/close_square.svg
|
/// File path: assets/icons/close_square.svg
|
||||||
SvgGenImage get closeSquare => const SvgGenImage('assets/icons/close_square.svg');
|
SvgGenImage get closeSquare => const SvgGenImage('assets/icons/close_square.svg');
|
||||||
|
|
||||||
|
/// File path: assets/icons/close_square_filled.svg
|
||||||
|
SvgGenImage get closeSquareFilled => const SvgGenImage('assets/icons/close_square_filled.svg');
|
||||||
|
|
||||||
/// File path: assets/icons/convert_cube.svg
|
/// File path: assets/icons/convert_cube.svg
|
||||||
SvgGenImage get convertCube => const SvgGenImage('assets/icons/convert_cube.svg');
|
SvgGenImage get convertCube => const SvgGenImage('assets/icons/convert_cube.svg');
|
||||||
|
|
||||||
@@ -149,9 +158,21 @@ class $AssetsIconsGen {
|
|||||||
/// File path: assets/icons/gps.svg
|
/// File path: assets/icons/gps.svg
|
||||||
SvgGenImage get gps => const SvgGenImage('assets/icons/gps.svg');
|
SvgGenImage get gps => const SvgGenImage('assets/icons/gps.svg');
|
||||||
|
|
||||||
|
/// File path: assets/icons/hashtag.svg
|
||||||
|
SvgGenImage get hashtag => const SvgGenImage('assets/icons/hashtag.svg');
|
||||||
|
|
||||||
/// File path: assets/icons/home.svg
|
/// File path: assets/icons/home.svg
|
||||||
SvgGenImage get home => const SvgGenImage('assets/icons/home.svg');
|
SvgGenImage get home => const SvgGenImage('assets/icons/home.svg');
|
||||||
|
|
||||||
|
/// File path: assets/icons/home_hashtag.svg
|
||||||
|
SvgGenImage get homeHashtag => const SvgGenImage('assets/icons/home_hashtag.svg');
|
||||||
|
|
||||||
|
/// File path: assets/icons/home_trend_down.svg
|
||||||
|
SvgGenImage get homeTrendDown => const SvgGenImage('assets/icons/home_trend_down.svg');
|
||||||
|
|
||||||
|
/// File path: assets/icons/home_trend_up.svg
|
||||||
|
SvgGenImage get homeTrendUp => const SvgGenImage('assets/icons/home_trend_up.svg');
|
||||||
|
|
||||||
/// File path: assets/icons/hot_chicken.svg
|
/// File path: assets/icons/hot_chicken.svg
|
||||||
SvgGenImage get hotChicken => const SvgGenImage('assets/icons/hot_chicken.svg');
|
SvgGenImage get hotChicken => const SvgGenImage('assets/icons/hot_chicken.svg');
|
||||||
|
|
||||||
@@ -185,6 +206,9 @@ class $AssetsIconsGen {
|
|||||||
/// File path: assets/icons/message_add.svg
|
/// File path: assets/icons/message_add.svg
|
||||||
SvgGenImage get messageAdd => const SvgGenImage('assets/icons/message_add.svg');
|
SvgGenImage get messageAdd => const SvgGenImage('assets/icons/message_add.svg');
|
||||||
|
|
||||||
|
/// File path: assets/icons/note_remove.svg
|
||||||
|
SvgGenImage get noteRemove => const SvgGenImage('assets/icons/note_remove.svg');
|
||||||
|
|
||||||
/// File path: assets/icons/outside.svg
|
/// File path: assets/icons/outside.svg
|
||||||
SvgGenImage get outside => const SvgGenImage('assets/icons/outside.svg');
|
SvgGenImage get outside => const SvgGenImage('assets/icons/outside.svg');
|
||||||
|
|
||||||
@@ -305,6 +329,8 @@ class $AssetsIconsGen {
|
|||||||
arrowRight,
|
arrowRight,
|
||||||
bgAuth,
|
bgAuth,
|
||||||
bgHeaderUserProfile,
|
bgHeaderUserProfile,
|
||||||
|
boxRemove,
|
||||||
|
boxTick,
|
||||||
buy,
|
buy,
|
||||||
calendar,
|
calendar,
|
||||||
calendarSearch,
|
calendarSearch,
|
||||||
@@ -319,6 +345,7 @@ class $AssetsIconsGen {
|
|||||||
clock,
|
clock,
|
||||||
closeCircle,
|
closeCircle,
|
||||||
closeSquare,
|
closeSquare,
|
||||||
|
closeSquareFilled,
|
||||||
convertCube,
|
convertCube,
|
||||||
cow,
|
cow,
|
||||||
cube,
|
cube,
|
||||||
@@ -337,7 +364,11 @@ class $AssetsIconsGen {
|
|||||||
filter,
|
filter,
|
||||||
filterOutline,
|
filterOutline,
|
||||||
gps,
|
gps,
|
||||||
|
hashtag,
|
||||||
home,
|
home,
|
||||||
|
homeHashtag,
|
||||||
|
homeTrendDown,
|
||||||
|
homeTrendUp,
|
||||||
hotChicken,
|
hotChicken,
|
||||||
information,
|
information,
|
||||||
inside,
|
inside,
|
||||||
@@ -349,6 +380,7 @@ class $AssetsIconsGen {
|
|||||||
map,
|
map,
|
||||||
mapMarker,
|
mapMarker,
|
||||||
messageAdd,
|
messageAdd,
|
||||||
|
noteRemove,
|
||||||
outside,
|
outside,
|
||||||
pdfDownload,
|
pdfDownload,
|
||||||
people,
|
people,
|
||||||
@@ -458,6 +490,12 @@ class $AssetsVecGen {
|
|||||||
/// File path: assets/vec/bg_header_user_profile.svg.vec
|
/// File path: assets/vec/bg_header_user_profile.svg.vec
|
||||||
SvgGenImage get bgHeaderUserProfileSvg => const SvgGenImage.vec('assets/vec/bg_header_user_profile.svg.vec');
|
SvgGenImage get bgHeaderUserProfileSvg => const SvgGenImage.vec('assets/vec/bg_header_user_profile.svg.vec');
|
||||||
|
|
||||||
|
/// File path: assets/vec/box_remove.svg.vec
|
||||||
|
SvgGenImage get boxRemoveSvg => const SvgGenImage.vec('assets/vec/box_remove.svg.vec');
|
||||||
|
|
||||||
|
/// File path: assets/vec/box_tick.svg.vec
|
||||||
|
SvgGenImage get boxTickSvg => const SvgGenImage.vec('assets/vec/box_tick.svg.vec');
|
||||||
|
|
||||||
/// File path: assets/vec/buy.svg.vec
|
/// File path: assets/vec/buy.svg.vec
|
||||||
SvgGenImage get buySvg => const SvgGenImage.vec('assets/vec/buy.svg.vec');
|
SvgGenImage get buySvg => const SvgGenImage.vec('assets/vec/buy.svg.vec');
|
||||||
|
|
||||||
@@ -500,6 +538,9 @@ class $AssetsVecGen {
|
|||||||
/// File path: assets/vec/close_square.svg.vec
|
/// File path: assets/vec/close_square.svg.vec
|
||||||
SvgGenImage get closeSquareSvg => const SvgGenImage.vec('assets/vec/close_square.svg.vec');
|
SvgGenImage get closeSquareSvg => const SvgGenImage.vec('assets/vec/close_square.svg.vec');
|
||||||
|
|
||||||
|
/// File path: assets/vec/close_square_filled.svg.vec
|
||||||
|
SvgGenImage get closeSquareFilledSvg => const SvgGenImage.vec('assets/vec/close_square_filled.svg.vec');
|
||||||
|
|
||||||
/// File path: assets/vec/convert_cube.svg.vec
|
/// File path: assets/vec/convert_cube.svg.vec
|
||||||
SvgGenImage get convertCubeSvg => const SvgGenImage.vec('assets/vec/convert_cube.svg.vec');
|
SvgGenImage get convertCubeSvg => const SvgGenImage.vec('assets/vec/convert_cube.svg.vec');
|
||||||
|
|
||||||
@@ -554,9 +595,21 @@ class $AssetsVecGen {
|
|||||||
/// File path: assets/vec/gps.svg.vec
|
/// File path: assets/vec/gps.svg.vec
|
||||||
SvgGenImage get gpsSvg => const SvgGenImage.vec('assets/vec/gps.svg.vec');
|
SvgGenImage get gpsSvg => const SvgGenImage.vec('assets/vec/gps.svg.vec');
|
||||||
|
|
||||||
|
/// File path: assets/vec/hashtag.svg.vec
|
||||||
|
SvgGenImage get hashtagSvg => const SvgGenImage.vec('assets/vec/hashtag.svg.vec');
|
||||||
|
|
||||||
/// File path: assets/vec/home.svg.vec
|
/// File path: assets/vec/home.svg.vec
|
||||||
SvgGenImage get homeSvg => const SvgGenImage.vec('assets/vec/home.svg.vec');
|
SvgGenImage get homeSvg => const SvgGenImage.vec('assets/vec/home.svg.vec');
|
||||||
|
|
||||||
|
/// File path: assets/vec/home_hashtag.svg.vec
|
||||||
|
SvgGenImage get homeHashtagSvg => const SvgGenImage.vec('assets/vec/home_hashtag.svg.vec');
|
||||||
|
|
||||||
|
/// File path: assets/vec/home_trend_down.svg.vec
|
||||||
|
SvgGenImage get homeTrendDownSvg => const SvgGenImage.vec('assets/vec/home_trend_down.svg.vec');
|
||||||
|
|
||||||
|
/// File path: assets/vec/home_trend_up.svg.vec
|
||||||
|
SvgGenImage get homeTrendUpSvg => const SvgGenImage.vec('assets/vec/home_trend_up.svg.vec');
|
||||||
|
|
||||||
/// File path: assets/vec/hot_chicken.svg.vec
|
/// File path: assets/vec/hot_chicken.svg.vec
|
||||||
SvgGenImage get hotChickenSvg => const SvgGenImage.vec('assets/vec/hot_chicken.svg.vec');
|
SvgGenImage get hotChickenSvg => const SvgGenImage.vec('assets/vec/hot_chicken.svg.vec');
|
||||||
|
|
||||||
@@ -590,6 +643,9 @@ class $AssetsVecGen {
|
|||||||
/// File path: assets/vec/message_add.svg.vec
|
/// File path: assets/vec/message_add.svg.vec
|
||||||
SvgGenImage get messageAddSvg => const SvgGenImage.vec('assets/vec/message_add.svg.vec');
|
SvgGenImage get messageAddSvg => const SvgGenImage.vec('assets/vec/message_add.svg.vec');
|
||||||
|
|
||||||
|
/// File path: assets/vec/note_remove.svg.vec
|
||||||
|
SvgGenImage get noteRemoveSvg => const SvgGenImage.vec('assets/vec/note_remove.svg.vec');
|
||||||
|
|
||||||
/// File path: assets/vec/outside.svg.vec
|
/// File path: assets/vec/outside.svg.vec
|
||||||
SvgGenImage get outsideSvg => const SvgGenImage.vec('assets/vec/outside.svg.vec');
|
SvgGenImage get outsideSvg => const SvgGenImage.vec('assets/vec/outside.svg.vec');
|
||||||
|
|
||||||
@@ -710,6 +766,8 @@ class $AssetsVecGen {
|
|||||||
arrowRightSvg,
|
arrowRightSvg,
|
||||||
bgAuthSvg,
|
bgAuthSvg,
|
||||||
bgHeaderUserProfileSvg,
|
bgHeaderUserProfileSvg,
|
||||||
|
boxRemoveSvg,
|
||||||
|
boxTickSvg,
|
||||||
buySvg,
|
buySvg,
|
||||||
calendarSvg,
|
calendarSvg,
|
||||||
calendarSearchSvg,
|
calendarSearchSvg,
|
||||||
@@ -724,6 +782,7 @@ class $AssetsVecGen {
|
|||||||
clockSvg,
|
clockSvg,
|
||||||
closeCircleSvg,
|
closeCircleSvg,
|
||||||
closeSquareSvg,
|
closeSquareSvg,
|
||||||
|
closeSquareFilledSvg,
|
||||||
convertCubeSvg,
|
convertCubeSvg,
|
||||||
cowSvg,
|
cowSvg,
|
||||||
cubeSvg,
|
cubeSvg,
|
||||||
@@ -742,7 +801,11 @@ class $AssetsVecGen {
|
|||||||
filterSvg,
|
filterSvg,
|
||||||
filterOutlineSvg,
|
filterOutlineSvg,
|
||||||
gpsSvg,
|
gpsSvg,
|
||||||
|
hashtagSvg,
|
||||||
homeSvg,
|
homeSvg,
|
||||||
|
homeHashtagSvg,
|
||||||
|
homeTrendDownSvg,
|
||||||
|
homeTrendUpSvg,
|
||||||
hotChickenSvg,
|
hotChickenSvg,
|
||||||
informationSvg,
|
informationSvg,
|
||||||
insideSvg,
|
insideSvg,
|
||||||
@@ -754,6 +817,7 @@ class $AssetsVecGen {
|
|||||||
mapSvg,
|
mapSvg,
|
||||||
mapMarkerSvg,
|
mapMarkerSvg,
|
||||||
messageAddSvg,
|
messageAddSvg,
|
||||||
|
noteRemoveSvg,
|
||||||
outsideSvg,
|
outsideSvg,
|
||||||
pdfDownloadSvg,
|
pdfDownloadSvg,
|
||||||
peopleSvg,
|
peopleSvg,
|
||||||
|
|||||||