1、菜单图标更新

2、注册功能屏蔽
3、批量关闭V1
This commit is contained in:
xiaocp2009 2025-08-20 09:01:28 +08:00
parent 1ed13610ab
commit 644c1f6fca
45 changed files with 1070 additions and 2 deletions

View File

@ -0,0 +1 @@
<svg t="1755572851671" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="58293" width="200" height="200"><path d="M425.4 657.5H236.9c-21.7 0-39.3 17.6-39.3 39.3 0 21.7 17.6 39.3 39.3 39.3h188.4c21.7 0 39.3-17.6 39.3-39.3 0.1-21.7-17.5-39.3-39.2-39.3z m5.8-334.2h-65.8v-65.8c0-18.9-15.3-34.3-34.3-34.3-18.9 0-34.3 15.3-34.3 34.3v65.8H231c-18.9 0-34.3 15.3-34.3 34.3 0 18.9 15.3 34.3 34.3 34.3h65.8v65.8c0 18.9 15.3 34.3 34.3 34.3 18.9 0 34.3-15.3 34.3-34.3v-65.8h65.8c18.9 0 34.3-15.3 34.3-34.3 0-19-15.4-34.3-34.3-34.3z m348.9 283.6c-12.7-12.7-33.2-12.7-45.9 0l-44 44-44-44c-12.7-12.7-33.2-12.7-45.9 0-12.7 12.7-12.7 33.2 0 45.9l44 44-44 44c-12.7 12.7-12.7 33.2 0 45.9 12.7 12.7 33.2 12.7 45.9 0l44-44 44 44c12.7 12.7 33.2 12.7 45.9 0 12.7-12.7 12.7-33.2 0-45.9l-44-44 44-44c12.7-12.7 12.7-33.3 0-45.9z m18.3-282.2h-200c-15.8 0-28.6 12.8-28.6 28.6v8.3c0 15.8 12.8 28.6 28.6 28.6h199.9c15.8 0 28.6-12.8 28.6-28.6v-8.3c0.1-15.7-12.7-28.6-28.5-28.6zM682 293.2l18.2 7.7c13.8 5.9 29.8-0.5 35.7-14.4l3.1-7.3c5.9-13.8-0.5-29.8-14.4-35.7l-18.2-7.7c-13.8-5.9-29.8 0.5-35.7 14.4l-3.1 7.3c-5.9 13.8 0.5 29.8 14.4 35.7z m18.1 186.1c13.8 5.9 29.8-0.5 35.7-14.4l3.1-7.3c5.9-13.8-0.5-29.8-14.4-35.7l-18.2-7.7c-13.8-5.9-29.8 0.5-35.7 14.4l-3.1 7.3c-5.9 13.8 0.5 29.8 14.4 35.7l18.2 7.7z" p-id="58294"></path><path d="M814.1 64.5H210.5c-80.1 0-145.2 65.2-145.2 145.2v603.6c0 80.1 65.2 145.2 145.2 145.2h603.6c80.1 0 145.2-65.2 145.2-145.2V209.8c0-80.1-65.1-145.3-145.2-145.3z m74.2 748.9c0 40.9-33.3 74.2-74.2 74.2H210.5c-40.9 0-74.2-33.3-74.2-74.2V209.8c0-40.9 33.3-74.2 74.2-74.2h603.6c40.9 0 74.2 33.3 74.2 74.2v603.6z" p-id="58295"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1 @@
<svg t="1755573058467" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="62812" width="200" height="200"><path d="M432.115602 109.378637v482.605741h482.605741c-26.694786 212.758446-208.759227 377.926186-428.616285 377.926186C247.951572 969.910564 54.089436 776.148409 54.089436 537.894942c0-219.857059 165.167741-401.9215 378.026166-428.516305m53.989456-57.388791C217.657489 51.989846 0.09998 269.547354 0.09998 537.994923c0 268.347588 217.557508 486.005077 486.005078 486.005077 268.347588 0 486.005077-217.557508 486.005077-486.005077H486.105058V51.989846z" fill="#303030" p-id="62813"></path><path d="M591.984378 57.488772C787.04628 81.884007 942.115993 236.95372 966.511228 432.115602H591.984378V57.488772M537.894942 0.09998v486.005078h486.005078C1023.90002 217.657489 806.342511 0.09998 537.894942 0.09998z" fill="#303030" p-id="62814"></path></svg>

After

Width:  |  Height:  |  Size: 897 B

View File

@ -0,0 +1 @@
<svg t="1755570381102" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13374" width="200" height="200"><path d="M347.306667 83.626667a57.856 57.856 0 0 0-57.856 57.941333v72.021333c0 31.914667 25.941333 57.856 57.941333 57.856h329.216a57.856 57.856 0 0 0 57.856-57.856v-72.021333A57.856 57.856 0 0 0 676.693333 83.626667H347.306667z m-127.317334 57.941333A127.317333 127.317333 0 0 1 347.392 14.250667h329.216a127.317333 127.317333 0 0 1 127.402667 127.317333v72.021333a127.317333 127.317333 0 0 1-127.402667 127.317334H546.730667v136.362666H702.293333c70.314667 0 127.317333 57.002667 127.317334 127.317334v78.506666h52.736a127.317333 127.317333 0 0 1 127.317333 127.317334v72.021333a127.317333 127.317333 0 0 1-127.317333 127.317333h-174.933334A127.317333 127.317333 0 0 1 580.266667 882.432v-72.021333A127.317333 127.317333 0 0 1 707.413333 683.093333h52.821334v-78.506666a57.856 57.856 0 0 0-58.026667-57.856H321.706667a57.856 57.856 0 0 0-58.026667 57.770666v78.506667h52.906667c70.229333 0 127.146667 57.088 127.146666 127.317333v72.106667a127.317333 127.317333 0 0 1-127.232 127.317333h-174.933333a127.317333 127.317333 0 0 1-127.317333-127.317333v-72.021333a127.317333 127.317333 0 0 1 127.317333-127.317334h52.736v-78.506666A127.317333 127.317333 0 0 1 321.706667 477.184h155.648V340.906667H347.306667a127.317333 127.317333 0 0 1-127.317334-127.317334v-72.021333z m-78.506666 610.986667a57.856 57.856 0 0 0-57.856 57.856v72.021333c0 32 25.941333 57.941333 57.941333 57.941333h174.933333a57.856 57.856 0 0 0 57.856-57.941333v-72.021333a57.856 57.856 0 0 0-57.856-57.856h-174.933333z m566.016 0a57.856 57.856 0 0 0-57.856 57.856v72.021333c0 32 25.856 57.941333 57.856 57.941333h174.933333a57.856 57.856 0 0 0 57.941333-57.941333v-72.021333a57.856 57.856 0 0 0-57.941333-57.856h-174.933333z" fill="#000000" p-id="13375"></path></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1 @@
<svg t="1755570243824" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7979" width="200" height="200"><path d="M192 160a32 32 0 0 0-32 32v192a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32H192m0-64h192a96 96 0 0 1 96 96v192a96 96 0 0 1-96 96H192a96 96 0 0 1-96-96V192a96 96 0 0 1 96-96zM192 624a32 32 0 0 0-32 32v192a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32V656a32 32 0 0 0-32-32H192m0-64h192a96 96 0 0 1 96 96v192a96 96 0 0 1-96 96H192a96 96 0 0 1-96-96V656a96 96 0 0 1 96-96zM656 160a32 32 0 0 0-32 32v192a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32H656m0-64h192a96 96 0 0 1 96 96v192a96 96 0 0 1-96 96H656a96 96 0 0 1-96-96V192a96 96 0 0 1 96-96zM560 944.832a32 32 0 0 1-32-32v-180.16a32 32 0 0 1 64 0v180.16a32 32 0 0 1-32 32zM672 944.832a32 32 0 0 1-32-32v-180.16a32 32 0 0 1 64 0v180.16a32 32 0 0 1-32 32zM784 944.816a32 32 0 0 1-32-32V584a32 32 0 0 1 64 0v328.832a32 32 0 0 1-32 31.984zM896 944.816a32 32 0 0 1-32-32V584a32 32 0 0 1 64 0v328.832a32 32 0 0 1-32 31.984z" p-id="7980"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg t="1755570995618" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20196" width="200" height="200"><path d="M906.24 484.352l-141.312-276.48c-18.432-36.352-55.808-58.88-96.256-58.88H347.136c-40.448 0-77.312 22.528-95.744 57.856L107.52 483.84c-16.384 31.232-16.384 68.608 0 99.84l144.384 276.48c18.432 35.84 55.296 57.856 95.744 57.856h321.536c40.448 0 77.824-22.528 96.256-58.88l141.312-276.48c15.36-30.72 15.36-67.072-0.512-98.304zM827.392 890.88c-30.208 59.392-91.648 96.768-158.208 96.768H347.136c-66.048 0-126.976-36.864-157.696-95.744l-144.384-276.48c-27.136-51.712-27.136-113.152 0-164.864L189.44 174.08c30.72-58.88 91.648-95.744 157.696-95.744h321.536c67.072 0 128 37.376 158.208 96.768l141.312 276.48c26.112 50.688 26.112 111.104 0 161.792L827.392 890.88z" p-id="20197"></path><path d="M506.368 736.256c-112.128 0-202.752-90.624-202.752-202.752 0-112.128 90.624-202.752 202.752-202.752 112.128 0 202.752 90.624 202.752 202.752 0 112.128-90.624 202.752-202.752 202.752z m0-69.632c73.216 0 132.608-59.392 132.608-132.608s-59.392-132.608-132.608-132.608S373.76 460.288 373.76 533.504s59.392 133.12 132.608 133.12z" p-id="20198"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg t="1755571780362" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="32428" width="200" height="200"><path d="M512 997.878A485.878 485.878 0 1 1 997.878 512 486.4 486.4 0 0 1 512 997.878z m0-929.96A444.082 444.082 0 1 0 956.082 512 444.604 444.604 0 0 0 512 67.918z" p-id="32429"></path><path d="M893.388 532.898A20.898 20.898 0 0 1 872.49 512a359.967 359.967 0 0 0-50.991-184.947 20.898 20.898 0 1 1 35.84-21.525A401.763 401.763 0 0 1 914.286 512a20.898 20.898 0 0 1-20.898 20.898z m-762.776 0A20.898 20.898 0 0 1 109.714 512a402.286 402.286 0 0 1 637.388-326.635 20.898 20.898 0 0 1-24.66 34.064A360.49 360.49 0 0 0 151.51 512a20.898 20.898 0 0 1-20.898 20.898zM512 579.918A67.918 67.918 0 1 1 579.918 512 68.023 68.023 0 0 1 512 579.918z m0-94.04A26.122 26.122 0 1 0 538.122 512 26.122 26.122 0 0 0 512 485.878z" p-id="32430"></path><path d="M548.571 496.327a20.898 20.898 0 0 1-14.106-36.572l240.327-219.428a20.898 20.898 0 1 1 28.212 31.346L562.678 491.102a20.898 20.898 0 0 1-14.107 5.225zM412.735 632.163a20.898 20.898 0 0 1-14.733-35.63l62.694-62.695a20.898 20.898 0 0 1 29.57 29.571l-62.694 62.694a20.898 20.898 0 0 1-14.837 6.06z" p-id="32431"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg t="1755571910705" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="36078" width="200" height="200"><path d="M896 990.4H128a32 32 0 0 1 0-64h768a32 32 0 0 1 0 64z" fill="#4D4D4D" p-id="36079"></path><path d="M512 990.4a32 32 0 0 1-32-32v-192a32 32 0 0 1 64 0v192a32 32 0 0 1-32 32z" fill="#4D4D4D" p-id="36080"></path><path d="M864 792.64H160a128 128 0 0 1-128-128v-512a128 128 0 0 1 128-128h704a128 128 0 0 1 128 128v512a128 128 0 0 1-128 128z m-704-704a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64v-512a64 64 0 0 0-64-64z" fill="#4D4D4D" p-id="36081"></path><path d="M960 664.64H64a32 32 0 0 1 0-64h896a32 32 0 0 1 0 64zM200 391.68a32 32 0 0 1-22.72-9.6 32 32 0 0 1 0-45.12l112-112a32 32 0 0 1 45.44 0 32 32 0 0 1 0 45.12l-112 112a32 32 0 0 1-22.72 9.6z" fill="#4D4D4D" p-id="36082"></path><path d="M312 504.64a32 32 0 0 1-22.72-9.6l-112-112a32 32 0 0 1 0-45.12 32 32 0 0 1 45.44 0l112 112a32 32 0 0 1-22.72 54.72zM824 391.68a32 32 0 0 1-22.72-9.6l-112-112a32 32 0 0 1 0-45.12 32 32 0 0 1 45.44 0l112 112a32 32 0 0 1-22.72 54.72z" fill="#4D4D4D" p-id="36083"></path><path d="M712 504.64a32 32 0 0 1-22.72-54.72l112-112a32 32 0 0 1 45.44 0 32 32 0 0 1 0 45.12l-112 112a32 32 0 0 1-22.72 9.6zM438.08 519.68a32 32 0 0 1-16-4.48 32 32 0 0 1-11.52-43.52l147.52-256a32.096 32.096 0 0 1 55.68 32l-147.84 256a32 32 0 0 1-27.84 16z" fill="#4D4D4D" p-id="36084"></path></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg t="1755573446703" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="72257" width="200" height="200"><path d="M947.11014 630.419657h-1.613403c-11.906502 0-21.682904 3.424906-31.101907 9.247451-8.236522-24.029485-29.192373-41.337822-56.183167-41.337822-11.912629 0-23.290179 3.420822-32.70714 9.247451-8.234479-24.03357-29.204627-41.343949-56.197463-41.343949a60.982529 60.982529 0 0 0-28.971807 7.27665v-61.830076c0-33.677224-25.475421-60.976402-59.389549-60.976402-33.920255 0-61.419577 27.301221-61.419577 60.976402v236.722904l-37.314527-37.161357c-23.986598-23.815046-66.439505-20.422816-86.86028 0-20.424858 20.424858-33.816099 61.525776-4.572668 90.773291l171.525105 170.397766c3.535189 3.512724 7.427778 6.443398 11.522553 8.918644 31.271416 25.514224 67.109374 40.616897 142.886191 40.616897 173.111959 0 189.133658-93.391496 189.133658-208.598644v-121.952804c0-33.675181-24.817806-60.976402-58.736019-60.976402z m26.41487 182.927164c0 97.478101-0.459513 176.504188-156.812509 176.504188-66.233235 0-105.9985-14.769781-136.118069-44.670826l-162.383854-161.325951c-14.363367-14.365409-10.752613-32.73369 1.008887-44.493147 11.757415-11.763542 33.34229-12.169956 44.705545-0.892477 29.308783 29.139274 58.613482 58.270379 87.92635 87.407611V518.100295c0-15.956346 13.025672-28.881947 29.098429-28.881946 16.066629 0 27.064316 12.931727 27.064316 28.881946v195.758819h0.324722a16.068672 16.068672 0 0 0-0.324722 3.208425c0 8.863502 7.235804 16.046207 16.162616 16.046207s16.162617-7.184747 16.162617-16.042123c0-1.10079-0.11641-2.170945-0.332892-3.208424h0.332892v-80.233075c0-15.952262 11.622625-28.881947 27.691296-28.881947 0 0 28.465321-0.388034 28.465321 28.881947v105.90047h0.328808a15.686765 15.686765 0 0 0-0.328808 3.208425c0 8.86146 7.239888 16.048249 16.164659 16.048249s16.166701-7.186789 16.166702-16.048249c0-1.098748-0.118452-2.170945-0.33085-3.208425h0.33085v-73.80193c0-15.956346 11.434735-28.890116 27.505448-28.890116 0 0 29.061667 1.811504 29.061668 28.890116v93.062688h0.318596a15.958389 15.958389 0 0 0-0.324723 3.206382c0 8.86146 7.237846 16.044164 16.162616 16.044165 8.928855 0 15.758245-7.184747 15.758245-16.044165 0-1.096705-0.108241-2.170945-0.308384-3.206382h0.308384v-63.547634c0-15.946135 11.986151-28.879904 28.048696-28.879905 0 0 28.16919-1.139593 28.16919 28.879905v118.103103zM595.529318 602.59357v-53.926446a92.090562 92.090562 0 0 1-8.048632-37.62087c0-51.097886 41.419513-92.523526 92.527611-92.523526 51.099928 0 92.527611 41.42564 92.52761 92.523526 0 6.978476-0.829166 13.760893-2.305735 20.290068 11.630794 0.451344 22.132206 5.285425 29.778508 13.039968 2.961308-10.621907 4.705417-21.754384 4.705417-33.330036 0-68.871863-55.833937-124.703757-124.7058-124.703757-68.87799 0-124.707842 55.831895-124.707842 124.703757-0.002042 36.236203 15.54789 68.76158 40.228863 91.547316z" p-id="72258"></path><path d="M597.828927 395.73495h-146.543917v-146.543917h-45.557176v146.543917h-146.543917v45.557176h146.543917v146.545959h45.557176v-146.545959h146.543917z" p-id="72259"></path><path d="M61.756554 418.816817c0-207.595884 168.288089-375.886015 375.886015-375.886015 207.595884 0 375.883973 168.290132 375.883973 375.886015 0 1.803335-0.042888 3.5985-0.067396 5.395708a346.458779 346.458779 0 0 1 42.501923 15.300774c0.332892-6.857982 0.512613-13.754767 0.512613-20.696482 0-231.3129-187.518213-418.829071-418.829071-418.829071-231.314942 0-418.831113 187.516171-418.831113 418.829071 0 209.913873 154.425082 383.750842 355.865529 414.121611a349.18931 349.18931 0 0 1-6.478118-44.662656c-174.419019-32.580519-306.444356-185.588257-306.444355-369.458955z" p-id="72260"></path></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1 @@
<svg t="1755570833829" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15351" width="200" height="200"><path d="M914.08 997.28H148.96c-60.64 0-109.92-49.28-109.92-109.92v-137.44c0-17.92 14.4-32.32 32.32-32.32s32.32 14.4 32.32 32.32v137.44c0 24.96 20.32 45.28 45.28 45.28h765.12c24.96 0 45.28-20.32 45.28-45.28V129.92c0-24.96-20.32-45.28-45.28-45.28H148.96c-24.96 0-45.28 20.32-45.28 45.28v134.4c0 17.92-14.4 32.32-32.32 32.32s-32.32-14.4-32.32-32.32v-134.4c0-60.64 49.28-109.92 109.92-109.92h765.12c60.64 0 109.92 49.28 109.92 109.92v757.44c0 60.64-49.28 109.92-109.92 109.92z" p-id="15352"></path><path d="M71.36 581.76c-17.92 0-32.32-14.4-32.32-32.32V451.2c0-17.92 14.4-32.32 32.32-32.32s32.32 14.4 32.32 32.32v98.24c0 17.76-14.4 32.32-32.32 32.32zM614.24 371.2h-151.68c-11.84 0-22.72-6.4-28.32-16.8L368 233.76c-5.44-10.08-5.28-22.24 0.48-32 5.76-9.76 16.32-15.84 27.84-15.84h284.32c11.36 0 22.08 6.08 27.84 15.84 5.76 9.76 6.08 22.08 0.48 32l-66.4 120.8c-5.6 10.24-16.48 16.64-28.32 16.64z m-132.48-64.64h113.44l30.88-56.16H450.88l30.88 56.16zM532.32 861.44c-7.84 0-15.68-2.88-21.76-8.48l-138.88-127.2c-8.8-8-12.48-20.16-9.6-31.68l66.4-266.4c3.52-14.4 16.48-24.48 31.36-24.48h145.12c14.88 0 27.84 10.08 31.36 24.48l66.4 266.4c2.88 11.52-0.8 23.68-9.6 31.68l-138.88 127.2c-6.24 5.6-14.08 8.48-21.92 8.48z m-102.88-170.4l102.88 94.24 102.88-94.24-55.52-223.2h-94.72l-55.52 223.2zM119.52 388.48H32.32a32.32 32.32 0 0 1 0-64.64h87.2c17.92 0 32.32 14.4 32.32 32.32 0 17.76-14.56 32.32-32.32 32.32zM119.52 679.36H32.32a32.32 32.32 0 0 1 0-64.64h87.2a32.32 32.32 0 0 1 0 64.64z" p-id="15353"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1 @@
<svg t="1755571825876" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="33414" width="200" height="200"><path d="M989.773435 814.88975L630.863353 455.979669A328.199944 328.199944 0 0 0 203.265712 24.8656l-32.585565 13.362426 164.099971 164.099972a93.771412 93.771412 0 0 1-132.686548 132.686549l-164.099972-164.099972-13.127998 32.351137a328.199944 328.199944 0 0 0 431.114069 427.597641l358.910081 358.910081a117.214266 117.214266 0 0 0 165.506543 0l9.377142-9.377141a117.214266 117.214266 0 0 0 0-165.506543zM956.484583 947.107442l-9.377141 9.377141a70.328559 70.328559 0 0 1-99.163269 0l-382.118506-382.118506-15.003426 7.267285A281.314237 281.314237 0 0 1 56.513452 255.543275l113.463409 113.463409a140.657119 140.657119 0 0 0 198.795394-199.029823L255.543275 56.513452a281.314237 281.314237 0 0 1 326.090087 394.308789l-7.267285 15.003426 382.118506 382.118506a70.328559 70.328559 0 0 1 0 99.163269z" p-id="33415"></path></svg>

After

Width:  |  Height:  |  Size: 976 B

View File

@ -0,0 +1 @@
<svg t="1755572892449" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="58446" width="200" height="200"><path d="M979.765982 113.553069H610.246712a42.616091 42.616091 0 0 1 0-85.232182h369.51927a42.616091 42.616091 0 0 1 0 85.232182z m0 312.338186H610.246712a42.616091 42.616091 0 0 1 0-85.232182h369.51927a42.616091 42.616091 0 0 1 0 85.232182z m0 255.831407H610.246712a42.616091 42.616091 0 0 1 0-85.232182h369.51927a42.616091 42.616091 0 0 1 0 85.232182z m0 312.068463H610.246712a42.616091 42.616091 0 0 1 0-85.232182h369.51927a42.616091 42.616091 0 0 1 0 85.232182z m-567.899871-539.444189H42.616564A42.616091 42.616091 0 0 1 0.000473 411.730845V42.481297a42.54866 42.54866 0 0 1 42.616091-42.48123h369.249547a42.616091 42.616091 0 0 1 42.616091 42.683522v369.047256a42.885813 42.885813 0 0 1-42.616091 42.616091zM85.232655 369.114754h284.017365V85.097388H85.232655z m326.633456 653.401774H42.616564A42.683521 42.683521 0 0 1 0.000473 979.630715V610.381168a42.616091 42.616091 0 0 1 42.616091-42.616091h369.249547a42.885813 42.885813 0 0 1 42.616091 42.616091v369.249547a42.683521 42.683521 0 0 1-42.616091 42.885813z m-326.633456-85.232181h284.017365V652.997259H85.232655z" p-id="58447"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg t="1755586228117" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5869" width="200" height="200"><path d="M808.955733 1024H215.033119a139.983257 139.983257 0 0 1-139.826442-139.826442v-352.833078a139.983257 139.983257 0 0 1 139.826442-139.826442h593.922614a139.983257 139.983257 0 0 1 139.826442 139.826442v352.833078a139.983257 139.983257 0 0 1-139.826442 139.826442zM215.046187 443.785605a87.64635 87.64635 0 0 0-87.554875 87.554875v352.833078a87.64635 87.64635 0 0 0 87.554875 87.554875h593.909546a87.64635 87.64635 0 0 0 87.554875-87.554875v-352.833078a87.64635 87.64635 0 0 0-87.554875-87.554875z" fill="" p-id="5870"></path><path d="M238.071812 435.539765a26.135784 26.135784 0 0 1-26.135783-26.135783v-110.802655a298.601327 298.601327 0 0 1 597.202654 0 26.135784 26.135784 0 0 1-52.271567 0C756.867116 162.786728 646.365023 52.284635 510.550424 52.284635s-246.342828 110.489025-246.342828 246.316692v110.802655a26.135784 26.135784 0 0 1-26.135784 26.135783zM501.964819 821.042573a26.057376 26.057376 0 0 1-18.477999-7.657785l-120.224604-120.224604a26.135784 26.135784 0 1 1 36.955998-36.969066l101.785809 101.785809 204.225012-204.316488a26.135784 26.135784 0 1 1 36.955998 36.955998L520.455886 813.37172a26.057376 26.057376 0 0 1-18.491067 7.670853z" fill="" p-id="5871"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1 @@
<svg t="1755572567901" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="53364" width="200" height="200"><path d="M525.097674 11.906977C252.427907 11.906977 30.95814 233.376744 30.95814 506.046512S252.427907 1000.186047 525.097674 1000.186047s494.139535-221.469767 494.139535-494.139535S796.576744 11.906977 525.097674 11.906977z m0 940.651163C278.623256 952.55814 78.586047 752.52093 78.586047 506.046512S278.623256 59.534884 525.097674 59.534884s446.511628 200.037209 446.511628 446.511628S770.381395 952.55814 525.097674 952.55814z" fill="#464646" p-id="53365"></path><path d="M396.502326 547.72093c-8.334884-8.334884-17.860465-15.47907-29.767442-20.24186v-1.190698c60.725581-16.669767 91.683721-53.581395 91.683721-110.734884 0-34.530233-11.906977-61.916279-34.530233-80.967441-22.623256-19.051163-53.581395-28.576744-94.065116-28.576745H204.8v411.981396h53.581395V542.95814h38.102326c15.47907 0 29.767442 3.572093 40.483721 11.906976s23.813953 23.813953 36.911628 46.43721l67.869767 114.306976h63.106977L428.651163 592.967442c-13.097674-21.432558-23.813953-36.911628-32.148837-45.246512z m-76.204652-51.2h-63.106976V351.255814H321.488372c26.195349 0 46.437209 5.953488 60.725581 17.860465 14.288372 11.906977 20.24186 28.576744 20.241861 50.009302 0 22.623256-7.144186 41.674419-22.623256 55.962791s-34.530233 21.432558-59.534884 21.432558zM833.488372 359.590698c-41.674419-35.72093-92.874419-54.772093-155.981395-54.772093H559.627907v411.981395h113.116279c65.488372 0 117.87907-19.051163 159.553488-57.153488 41.674419-38.102326 61.916279-89.302326 61.916279-153.6 1.190698-61.916279-20.24186-110.734884-60.725581-146.455814z m-38.102325 266.716279c-29.767442 28.576744-70.251163 42.865116-122.641861 42.865116h-59.534884V352.446512h61.916279c48.818605 0 88.111628 13.097674 119.069768 39.293023 29.767442 26.195349 45.246512 64.297674 45.246511 115.497674 0 51.2-15.47907 90.493023-44.055813 119.069768z" fill="#464646" p-id="53366"></path></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1 @@
<svg t="1755571613758" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28838" width="200" height="200"><path d="M963.212 219.644c-0.358-84.03-69.013-152.394-153.043-152.394L217.21 69.534c-40.737 0.156-79.056 16.257-107.899 45.336s-44.63 67.529-44.455 108.265l1.927 449.001C67.146 756.352 135.953 825 220.166 825h0.164l256.67-0.539V901H317.216c-18.226 0-33 14.774-33 33s14.774 33 33 33h385.48c18.226 0 33-14.774 33-33s-14.774-33-33-33H543v-76.608l269.713-0.284c40.754-0.042 79.083-16.045 107.947-45.061 28.865-29.019 44.662-67.445 44.488-108.203l-1.936-451.2z m-807.041-58.295c16.424-16.559 38.191-25.852 61.293-25.94L809.829 133h0.34c47.792 0 86.84 38.863 87.043 86.657L898.909 616H132.545l-1.689-393.292c-0.099-23.103 8.891-44.801 25.315-61.359z m656.452 596.893L220.26 759h-0.094c-44.399 0-81.277-34-86.694-77h764.979c-2.358 19-10.863 36.62-24.594 50.424-16.402 16.489-38.149 25.795-61.234 25.818z" p-id="28839"></path><path d="M256.926 468.542a32.854 32.854 0 0 0 19.568-6.449L422.64 354.248l151.165 94.918c16.211 10.179 38.285 9.341 53.677-2.041L792.72 324.949c14.655-10.836 17.751-31.5 6.915-46.154-10.835-14.654-31.498-17.75-46.153-6.915L598.303 386.618 447.16 291.713c-16.201-10.173-38.267-9.346-53.659 2.013L237.305 408.987c-14.665 10.822-17.78 31.482-6.959 46.147 6.471 8.77 16.458 13.408 26.58 13.408z" p-id="28840"></path></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg t="1755573830759" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="77824" width="200" height="200"><path d="M374.784 985.526857H71.68a71.68 71.68 0 0 1-71.68-71.68V610.742857a71.68 71.68 0 0 1 71.68-71.68h303.104a71.68 71.68 0 0 1 71.68 71.68v303.104a71.68 71.68 0 0 1-71.68 71.68z m10.24-374.784a10.532571 10.532571 0 0 0-10.24-10.24H71.68a10.532571 10.532571 0 0 0-10.24 10.24v303.104c0 5.485714 4.754286 10.24 10.24 10.24h303.104c5.485714 0 10.24-4.754286 10.24-10.24V610.742857zM927.744 446.464H624.64a71.68 71.68 0 0 1-71.68-71.68V71.68A71.68 71.68 0 0 1 624.64 0h303.104a71.68 71.68 0 0 1 71.68 71.68v303.104a71.68 71.68 0 0 1-71.68 71.68z m10.24-374.784a10.532571 10.532571 0 0 0-10.24-10.24H624.64a10.532571 10.532571 0 0 0-10.24 10.24v303.104c0 5.485714 4.754286 10.24 10.24 10.24h303.104c5.485714 0 10.24-4.754286 10.24-10.24V71.68zM1024 768c0 141.312-114.688 256-256 256A256.073143 256.073143 0 0 1 512 768C512 626.688 626.688 512 768 512S1024 626.688 1024 768z m-450.56 0a194.925714 194.925714 0 0 0 194.56 194.56 194.925714 194.925714 0 0 0 194.56-194.56 194.925714 194.925714 0 0 0-194.56-194.56 194.925714 194.925714 0 0 0-194.56 194.56zM146.285714 192.512a30.72 30.72 0 1 0 0 61.44h153.965715V252.342857a29.403429 29.403429 0 0 0 19.748571 0 30.72 30.72 0 0 0-19.748571-58.148571v-1.682286H146.285714z" p-id="77825"></path><path d="M192.512 300.251429a30.72 30.72 0 1 0 61.44 0V146.212571H252.342857a29.403429 29.403429 0 0 0 0-19.748571 30.72 30.72 0 1 0-58.148571 19.748571h-1.682286v154.038858zM689.005714 192.512a30.72 30.72 0 1 0 0 61.44h154.038857V252.342857a29.403429 29.403429 0 0 0 19.748572 0 30.72 30.72 0 0 0-19.748572-58.148571v-1.682286H689.005714zM686.08 675.84a30.72 30.72 0 1 0 0 61.44h154.038857v-1.609143a29.476571 29.476571 0 0 0 19.748572 0l0.804571-0.292571a30.72 30.72 0 0 0-20.553143-57.856V675.84H686.08zM686.08 792.576a30.72 30.72 0 1 0 0 61.44h154.038857v-1.609143a30.646857 30.646857 0 0 0 40.521143-29.110857 30.72 30.72 0 0 0-19.968-28.745143l-0.731429-0.292571a30.866286 30.866286 0 0 0-19.821714 0v-1.682286H686.08z" p-id="77826"></path><path d="M374.784 446.464H71.68a71.68 71.68 0 0 1-71.68-71.68V71.68A71.68 71.68 0 0 1 71.68 0h303.104a71.68 71.68 0 0 1 71.68 71.68v303.104a71.68 71.68 0 0 1-71.68 71.68zM385.024 71.68a10.532571 10.532571 0 0 0-10.24-10.24H71.68a10.532571 10.532571 0 0 0-10.24 10.24v303.104c0 5.485714 4.754286 10.24 10.24 10.24h303.104c5.485714 0 10.24-4.754286 10.24-10.24V71.68z" p-id="77827"></path></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1 @@
<svg t="1755573900426" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="77976" width="200" height="200"><path d="M328.226133 384H254.634667V191.965867h514.594133v192.034133H328.226133z m0-64.034133h367.547734V256H328.226133v64.034133zM34.133333 0h955.733334v1024H34.133333V0z m73.5232 63.965867v896h808.686934V64.034133H107.656533zM254.634667 512h73.5232v64.034133H254.634667V512z m220.501333 0h73.5232v64.034133H475.272533V512z m220.5696 0h73.5232v64.034133H695.773867V512zM254.702933 640h73.5232v64.034133H254.634667v-64.034133z m220.501334 0h73.5232v64.034133H475.272533v-64.034133z m-220.501334 128h73.5232v64.034133H254.634667v-64.034133z m220.501334 0h73.5232v64.034133H475.272533v-64.034133z m220.5696-128h73.5232v192.034133H695.773867V639.931733zM34.133333 0h955.733334v63.965867H34.133333V0z" fill="#666666" p-id="77977"></path></svg>

After

Width:  |  Height:  |  Size: 887 B

View File

@ -0,0 +1 @@
<svg t="1755570206582" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6129" width="200" height="200"><path d="M471 921.6H225.3c-22.6 0-41-18.4-41-41V757.8c0-112.9 91.9-204.8 204.8-204.8h245.8c43 0 84.3 13.4 119.4 38.7 18.4 13.3 43.9 9.1 57.2-9.2 13.3-18.3 9.1-43.9-9.2-57.2-49.1-35.5-107-54.2-167.4-54.2H389.1C231 471 102.4 599.7 102.4 757.8v122.9c0 67.8 55.1 122.9 122.9 122.9H471c22.6 0 41-18.3 41-41s-18.3-41-41-41zM512 430.1c113.1 0 204.8-91.7 204.8-204.8S625.1 20.5 512 20.5s-204.8 91.7-204.8 204.8S398.9 430.1 512 430.1z m0-327.7c67.8 0 122.9 55.1 122.9 122.9S579.8 348.2 512 348.2 389.1 293 389.1 225.3 444.2 102.4 512 102.4z" p-id="6130"></path><path d="M880.6 798.7h-81.9v-81.9c0-22.5-18.4-41-41-41-22.5 0-41 18.4-41 41v81.9h-81.9c-22.5 0-41 18.4-41 41 0 22.5 18.4 41 41 41h81.9v81.9c0 22.5 18.4 41 41 41 22.5 0 41-18.4 41-41v-81.9h81.9c22.5 0 41-18.4 41-41 0-22.5-18.4-41-41-41z" p-id="6131"></path></svg>

After

Width:  |  Height:  |  Size: 961 B

View File

@ -0,0 +1 @@
<svg t="1755571319347" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24993" width="200" height="200"><path d="M962.194286 55.881143H61.805714A61.878857 61.878857 0 0 0 0 117.686857v621.714286c0 34.011429 27.794286 61.732571 61.805714 61.732571h308.516572v44.982857c0 41.252571-33.499429 74.825143-74.752 74.825143h-68.022857a23.625143 23.625143 0 0 0 0 47.177143h568.905142a23.625143 23.625143 0 0 0 0-47.177143h-68.022857a74.898286 74.898286 0 0 1-74.752-74.825143v-44.982857h308.516572c34.084571 0 61.805714-27.721143 61.805714-61.805714V117.76a61.878857 61.878857 0 0 0-61.805714-61.805714zM391.826286 920.868571a121.417143 121.417143 0 0 0 25.746285-74.825142v-44.982858H606.354286v44.982858c0 28.16 9.654857 54.125714 25.746285 74.825142H391.826286z m584.996571-181.613714a14.628571 14.628571 0 0 1-14.628571 14.628572H61.805714a14.628571 14.628571 0 0 1-14.628571-14.628572V615.277714h929.645714v124.050286z m0-171.300571H47.177143V117.76c0-8.045714 6.582857-14.628571 14.628571-14.628571h900.388572c8.045714 0 14.628571 6.582857 14.628571 14.628571v450.340571z" fill="#000000" p-id="24994"></path><path d="M486.546286 684.617143a25.453714 25.453714 0 1 0 50.907428 0 25.453714 25.453714 0 0 0-50.907428 0z m65.901714-466.139429a23.625143 23.625143 0 0 0-33.353143 0l-166.765714 166.838857a23.625143 23.625143 0 0 0 33.353143 33.426286l166.765714-166.838857a23.625143 23.625143 0 0 0 0-33.426286zM651.337143 315.245714a23.625143 23.625143 0 0 0-33.353143 0l-66.486857 66.486857a23.625143 23.625143 0 0 0 33.426286 33.353143l66.413714-66.413714a23.625143 23.625143 0 0 0 0-33.426286z" fill="#000000" p-id="24995"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1 @@
<svg t="1755573545624" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="73292" width="200" height="200"><path d="M886.690909 480.323232c-17.713131 0-33.09899 15.385859-33.09899 33.09899v330.989899c0 6.593939-4.39596 10.989899-10.989899 10.989899h-661.979798c-6.593939 0-10.989899-4.39596-10.989899-10.989899v-661.979798c0-6.593939 4.39596-10.989899 10.989899-10.989899h330.989899c17.713131 0 33.09899-15.515152 33.09899-33.09899 0-17.713131-15.385859-33.09899-33.09899-33.09899h-330.989899c-41.890909 0-77.187879 35.29697-77.187879 77.187879v661.979798c0 41.890909 35.29697 77.187879 77.187879 77.187879h661.979798c41.890909 0 77.187879-35.29697 77.187879-77.187879v-330.989899c0-17.583838-15.385859-33.09899-33.09899-33.09899z m0 0" p-id="73293"></path><path d="M423.305051 462.739394l-33.09899 130.19798c-2.19798 10.989899 0 24.307071 8.791919 30.90101 6.593939 6.593939 15.515152 8.791919 24.307071 8.791919h8.791919l130.197979-33.09899c6.593939-2.19798 10.989899-4.39596 15.385859-8.791919l311.078788-311.078788c39.692929-39.692929 39.692929-105.890909 0-145.583838-39.692929-39.692929-105.890909-39.692929-145.583838 0L432.226263 447.224242c-4.39596 4.525253-6.593939 8.921212-8.921212 15.515152z m61.80202 24.307071l306.682828-304.484849c13.187879-13.187879 37.494949-13.187879 50.812121 0 13.187879 13.187879 13.187879 37.494949 0 50.812121L538.117172 539.927273l-68.39596 17.713131 15.385859-70.593939z m0 0" p-id="73294"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg t="1755573704581" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="74364" width="200" height="200"><path d="M512 1024c-281.6 0-512-230.4-512-512s230.4-512 512-512 512 230.4 512 512S793.6 1024 512 1024zM512 32C249.6 32 32 249.6 32 512s217.6 480 480 480 480-217.6 480-480S774.4 32 512 32z" p-id="74365"></path><path d="M313.6 505.6 640 505.6 640 467.2 313.6 467.2 313.6 505.6zM313.6 576 640 576 640 537.6 313.6 537.6 313.6 576zM313.6 358.4 640 358.4 640 320 313.6 320 313.6 358.4zM313.6 428.8 640 428.8 640 396.8 313.6 396.8 313.6 428.8zM755.2 460.8l-25.6 38.4L729.6 300.8c0-38.4-32-70.4-70.4-70.4L294.4 230.4C256 230.4 224 262.4 224 300.8l0 416c0 38.4 32 70.4 70.4 70.4l364.8 0c38.4 0 70.4-32 70.4-70.4l0-128 70.4-96L755.2 460.8zM691.2 550.4 640 627.2 640 614.4 313.6 614.4l0 38.4 307.2 0-12.8 19.2 44.8 32 44.8-57.6 0 76.8c0 19.2-19.2 38.4-38.4 38.4L294.4 761.6c-19.2 0-38.4-19.2-38.4-38.4L256 300.8c0-19.2 19.2-38.4 38.4-38.4l364.8 0c19.2 0 38.4 19.2 38.4 38.4L697.6 550.4zM595.2 684.8l-6.4 51.2 51.2-25.6L595.2 684.8z" p-id="74366"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg t="1755571070047" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22038" width="200" height="200"><path d="M512 495.616L733.184 368.64c14.336-8.192 34.816-4.096 43.008 10.24 8.192 14.336 4.096 34.816-12.288 43.008l-221.184 129.024v249.856c0 18.432-14.336 32.768-32.768 32.768-16.384 0-30.72-14.336-32.768-30.72V552.96l-223.232-129.024c-14.336-8.192-20.48-28.672-12.288-43.008 8.192-14.336 26.624-20.48 43.008-12.288L512 495.616z m448.512-239.616v512L512 1024 63.488 768v-512L512 0l448.512 256z m-63.488 32.768L512 63.488l-382.976 225.28V737.28L512 960.512 897.024 737.28V288.768z" fill="#333333" p-id="22039"></path></svg>

After

Width:  |  Height:  |  Size: 672 B

View File

@ -0,0 +1 @@
<svg t="1755572719805" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="56282" width="200" height="200"><path d="M64 523.84a37.44 37.44 0 0 0 37.44 37.888H560l-157.632 157.312a37.504 37.504 0 0 0 52.992 53.056l199.168-199.552c26.88-26.88 26.88-70.464 0-97.344L455.36 275.648a37.248 37.248 0 0 0-26.496-10.88 37.44 37.44 0 0 0-26.496 64.128L560 486.016H101.44A37.44 37.44 0 0 0 64 523.84z" p-id="56283"></path><path d="M795.776 908.736H331.264c-50.24 0-89.088-57.984-89.088-108.16a37.568 37.568 0 1 0-74.944 0c0.384 45.056 16.256 88.576 44.864 123.392a154.24 154.24 0 0 0 119.168 59.712h464.512A164.48 164.48 0 0 0 960 819.456V226.304A162.944 162.944 0 0 0 797.696 64H331.264A162.304 162.304 0 0 0 167.04 228.288v21.632l74.112 1.408 0.96-25.984a86.528 86.528 0 0 1 89.152-86.4h465.984c48.32 0.128 87.488 39.04 87.744 87.36v593.152c0 49.28-39.936 89.216-89.216 89.28z" p-id="56284"></path></svg>

After

Width:  |  Height:  |  Size: 937 B

View File

@ -0,0 +1 @@
<svg t="1755572323754" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="46356" width="200" height="200"><path d="M458.4 458.9h-330v-330h330v330z m-280-50h230v-230h-230v230zM896.4 458.9h-330v-330h330v330z m-280-50h230v-230h-230v230zM458.4 894.9h-330v-330h330v330z m-280-50h230v-230h-230v230zM896.4 894.9h-330v-330h330v330z m-280-50h230v-230h-230v230z" fill="" p-id="46357"></path></svg>

After

Width:  |  Height:  |  Size: 429 B

View File

@ -0,0 +1 @@
<svg t="1755569992196" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3142" width="200" height="200"><path d="M785.61 636.44c-18.96 0-34.35-15.35-34.38-34.31-0.03-18.99 15.33-34.41 34.31-34.45l137.52-0.26h0.07c18.96 0 34.35 15.35 34.38 34.31 0.03 18.99-15.33 34.41-34.31 34.45l-137.52 0.26h-0.07zM923.14 814.15H648.09c-18.99 0-34.38-15.39-34.38-34.38s15.39-34.38 34.38-34.38h275.05c18.99 0 34.38 15.39 34.38 34.38s-15.39 34.38-34.38 34.38zM923.14 992H648.09c-18.99 0-34.38-15.39-34.38-34.38 0-18.99 15.39-34.38 34.38-34.38h275.05c18.99 0 34.38 15.39 34.38 34.38 0 18.99-15.39 34.38-34.38 34.38zM510.57 578.74c-150.74 0-273.37-123.4-273.37-275.07C237.2 153.87 359.83 32 510.57 32s273.38 121.87 273.38 271.67c0 151.67-122.64 275.07-273.38 275.07z m0-477.98c-112.82 0-204.61 91.02-204.61 202.91 0 113.76 91.78 206.31 204.61 206.31s204.62-92.54 204.62-206.31c-0.01-111.89-91.8-202.91-204.62-202.91z" fill="#231815" p-id="3143"></path><path d="M100.86 992c-18.99 0-34.38-15.39-34.38-34.38 0-246.75 199.21-447.5 444.09-447.5 18.99 0 34.38 15.39 34.38 34.38 0 18.99-15.39 34.38-34.38 34.38-206.96 0-375.32 169.9-375.32 378.74-0.01 18.99-15.4 34.38-34.39 34.38z" fill="#231815" p-id="3144"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg t="1755573364634" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="71251" width="200" height="200"><path d="M512 720m48 0l416 0q48 0 48 48l0 0q0 48-48 48l-416 0q-48 0-48-48l0 0q0-48 48-48Z" p-id="71252"></path><path d="M720 1024m0-48l0-416q0-48 48-48l0 0q48 0 48 48l0 416q0 48-48 48l0 0q-48 0-48-48Z" p-id="71253"></path><path d="M400 928H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32h640a32.64 32.64 0 0 1 32 32v272a47.36 47.36 0 0 0 48 48 48 48 0 0 0 48-48V128a128 128 0 0 0-128-128H128a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h272a48 48 0 0 0 48-48 48.64 48.64 0 0 0-48-48z" p-id="71254"></path><path d="M192 192m48 0l352 0q48 0 48 48l0 0q0 48-48 48l-352 0q-48 0-48-48l0 0q0-48 48-48Z" p-id="71255"></path><path d="M192 400m48 0l160 0q48 0 48 48l0 0q0 48-48 48l-160 0q-48 0-48-48l0 0q0-48 48-48Z" p-id="71256"></path></svg>

After

Width:  |  Height:  |  Size: 880 B

View File

@ -0,0 +1 @@
<svg t="1755572378487" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="47344" width="200" height="200"><path d="M519.868669 583.569892A291.784946 291.784946 0 1 1 811.653615 291.784946 292.115269 292.115269 0 0 1 519.868669 583.569892z m0-528.516129A236.731183 236.731183 0 1 0 756.599852 291.784946 236.951398 236.951398 0 0 0 519.868669 55.053763z" p-id="47345"></path><path d="M35.395551 1024A27.526882 27.526882 0 0 1 7.868669 996.473118C7.868669 738.491183 237.55297 528.516129 519.868669 528.516129A546.463656 546.463656 0 0 1 745.589099 576.082581a27.526882 27.526882 0 1 1-22.021505 50.209032A492.84129 492.84129 0 0 0 519.868669 583.569892C267.942648 583.569892 62.922433 768.770753 62.922433 996.473118A27.526882 27.526882 0 0 1 35.395551 1024z" p-id="47346"></path><path d="M571.839422 854.874839a26.866237 26.866237 0 0 1-8.808602-1.431398 27.526882 27.526882 0 0 1-17.396989-34.793979 247.852043 247.852043 0 0 1 468.947957-2.972903 27.526882 27.526882 0 1 1-51.970753 18.167742 192.688172 192.688172 0 0 0-364.676129 2.312258 27.636989 27.636989 0 0 1-26.095484 18.71828z" p-id="47347"></path><path d="M652.548239 916.094624a27.196559 27.196559 0 0 1-11.891613-2.202151 27.636989 27.636989 0 0 1-12.88258-36.775914 170.446452 170.446452 0 0 1 152.719139-96.013763A168.574624 168.574624 0 0 1 932.771895 875.685161a27.526882 27.526882 0 1 1-49.43828 24.223656 113.851183 113.851183 0 0 0-102.950537-64.302795 115.062366 115.062366 0 0 0-103.060645 64.853333 27.747097 27.747097 0 0 1-24.774194 15.635269z" p-id="47348"></path><path d="M780.162863 962.670108m-52.190968 0a52.190968 52.190968 0 1 0 104.381936 0 52.190968 52.190968 0 1 0-104.381936 0Z" p-id="47349"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1 @@
<svg t="1755573140441" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="63903" width="200" height="200"><path d="M960.063936 40.919081C975.408591 40.919081 982.569431 54.217782 982.569431 63.424575l0 338.605395c0 9.206793-7.160839 23.528472-23.528472 23.528472L620.435564 425.558442c-15.344655 0-23.528472-13.298701-23.528472-23.528472L596.907093 63.424575c0-9.206793 7.160839-23.528472 23.528472-23.528472L960.063936 39.896104M960.063936 0 620.435564 0c-38.873127 0-64.447552 31.712288-64.447552 64.447552l0 338.605395c0 31.712288 25.574426 64.447552 64.447552 64.447552l338.605395 0c38.873127 0 64.447552-31.712288 64.447552-64.447552L1023.488511 63.424575C1023.488511 31.712288 997.914086 0 960.063936 0L960.063936 0z" p-id="63904"></path><path d="M403.564436 40.919081c15.344655 0 23.528472 13.298701 23.528472 23.528472l0 338.605395c0 9.206793-7.160839 23.528472-23.528472 23.528472l-338.605395 0c-15.344655 0-23.528472-13.298701-23.528472-23.528472L41.430569 63.424575c0-9.206793 7.160839-23.528472 23.528472-23.528472L403.564436 39.896104M403.564436 0l-338.605395 0C26.085914 0 0.511489 31.712288 0.511489 63.424575l0 338.605395c0 31.712288 25.574426 64.447552 64.447552 64.447552l338.605395 0c38.873127 0 64.447552-31.712288 64.447552-64.447552L468.011988 63.424575C466.989011 31.712288 441.414585 0 403.564436 0L403.564436 0z" p-id="63905"></path><path d="M403.564436 597.418581c15.344655 0 23.528472 7.160839 23.528472 23.528472l0 338.605395c0 9.206793-7.160839 23.528472-23.528472 23.528472l-338.605395 0c-15.344655 0-23.528472-13.298701-23.528472-23.528472L41.430569 619.924076c0-9.206793 13.298701-23.528472 23.528472-23.528472L403.564436 596.395604M403.564436 556.4995l-338.605395 0c-31.712288 0-64.447552 31.712288-64.447552 64.447552l0 338.605395c0 31.712288 25.574426 64.447552 64.447552 64.447552l338.605395 0c38.873127 0 64.447552-31.712288 64.447552-64.447552L468.011988 619.924076C466.989011 582.073926 441.414585 556.4995 403.564436 556.4995L403.564436 556.4995z" p-id="63906"></path><path d="M787.180819 591.280719C898.685315 591.280719 982.569431 675.164835 982.569431 786.669331S898.685315 982.057942 787.180819 982.057942c-107.412587 0-195.388611-87.976024-195.388611-195.388611S678.745255 591.280719 787.180819 591.280719M787.180819 550.361638c-127.872128 0-236.307692 102.297702-236.307692 236.307692 0 127.872128 102.297702 236.307692 236.307692 236.307692S1023.488511 920.679321 1023.488511 786.669331 921.190809 550.361638 787.180819 550.361638L787.180819 550.361638z" p-id="63907"></path></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1 @@
<svg t="1755570954098" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18318" width="200" height="200"><path d="M248.685714 782.628571H950.857143v65.828572H248.685714v-65.828572z" fill="#2C2C2C" p-id="18319"></path><path d="M950.857143 58.514286c0-29.257143-21.942857-58.514286-58.514286-58.514286H131.657143c-36.571429 0-58.514286 29.257143-58.514286 58.514286V826.514286C73.142857 936.228571 160.914286 1024 270.628571 1024h650.971429c14.628571 0 29.257143-14.628571 29.257143-29.257143s-14.628571-29.257143-29.257143-29.257143H270.628571c-73.142857 0-131.657143-58.514286-131.657142-131.657143s58.514286-131.657143 131.657142-131.657142h650.971429c14.628571 0 29.257143-14.628571 29.257143-29.257143V58.514286zM138.971429 680.228571V65.828571h109.714285v570.514286c-43.885714 0-80.457143 14.628571-109.714285 43.885714z m746.057142-51.2H314.514286V65.828571h577.828571v563.2h-7.314286z" fill="#2C2C2C" p-id="18320"></path><path d="M431.542857 351.085714s-7.314286-7.314286-14.628571 0c0 7.314286-14.628571 43.885714-14.628572 51.2 0 7.314286-7.314286 36.571429 0 43.885715 0 0 7.314286 0 7.314286-7.314286-14.628571-14.628571-14.628571-51.2 14.628571-58.514286 21.942857-14.628571 7.314286-29.257143 7.314286-29.257143zM453.485714 402.285714s7.314286 7.314286 7.314286-7.314285c0-7.314286-7.314286-7.314286-14.628571-7.314286s-14.628571 21.942857-14.628572 43.885714 7.314286 14.628571 7.314286 14.628572V438.857143c-7.314286-7.314286 0-36.571429 14.628571-36.571429z" fill="#2C2C2C" p-id="18321"></path><path d="M548.571429 504.685714c14.628571 29.257143-29.257143 80.457143-117.028572 87.771429s-87.771429-73.142857-58.514286-117.028572c21.942857-36.571429 58.514286-36.571429 58.514286-36.571428 43.885714 7.314286 109.714286 43.885714 117.028572 65.828571z m-73.142858-51.2c-21.942857 0-36.571429 21.942857-36.571428 36.571429s14.628571 36.571429 36.571428 36.571428c14.628571 0 36.571429-21.942857 36.571429-36.571428s-21.942857-36.571429-36.571429-36.571429z m7.314286 7.314286c-14.628571 0-29.257143 14.628571-29.257143 29.257143s7.314286 29.257143 29.257143 29.257143c14.628571 0 29.257143-14.628571 29.257143-29.257143-14.628571-14.628571-21.942857-29.257143-29.257143-29.257143z" fill="#2C2C2C" p-id="18322"></path></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1 @@
<svg t="1755571214353" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23995" width="200" height="200"><path d="M162.889143 102.838857h-4.973714c-42.422857 0-76.8 34.377143-76.8 76.8v628.150857c0 42.422857 34.377143 76.8 76.8 76.8h635.026285c42.422857 0 76.8-34.377143 76.8-76.8V179.638857c0-42.422857-34.377143-76.8-76.8-76.8h-8.850285V404.48c0 55.954286-45.348571 101.229714-101.229715 101.229714H264.118857c-55.954286 0-101.229714-45.348571-101.229714-101.229714V102.838857z m62.829714 0V404.48c0 21.211429 17.188571 38.4 38.4 38.4h418.742857c21.211429 0 38.4-17.188571 38.4-38.4V102.838857H225.718857zM157.915429 40.009143h635.026285c77.092571 0 139.629714 62.537143 139.629715 139.629714v628.150857a139.629714 139.629714 0 0 1-139.629715 139.629715H157.988571A139.629714 139.629714 0 0 1 18.285714 807.789714V179.638857c0-77.092571 62.464-139.629714 139.629715-139.629714z m420.278857 114.468571c19.236571 0 34.889143 15.579429 34.889143 34.889143V365.714286a34.889143 34.889143 0 1 1-69.778286 0V189.44c0-19.309714 15.579429-34.889143 34.889143-34.889143z" fill="#000000" p-id="23996"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1 @@
<svg t="1755572245011" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="42451" width="200" height="200"><path d="M499.2 492.8c57.6-38.4 96-108.8 96-185.6 0-121.6-102.4-224-224-224S153.6 185.6 153.6 307.2c0 76.8 38.4 147.2 96 185.6-147.2 57.6-249.6 224-249.6 409.6 0 19.2 12.8 32 32 32s32-12.8 32-32c0-204.8 140.8-371.2 313.6-371.2s313.6 166.4 313.6 371.2c0 19.2 12.8 32 32 32s32-12.8 32-32c-6.4-185.6-108.8-352-256-409.6zM217.6 307.2c0-89.6 70.4-160 160-160s160 70.4 160 160-76.8 160-160 160c-89.6 0-160-70.4-160-160zM851.2 537.6c-12.8-12.8-32-6.4-44.8 6.4-12.8 12.8-6.4 32 6.4 44.8 96 70.4 147.2 185.6 147.2 320 0 19.2 12.8 32 32 32s32-12.8 32-32c0-153.6-64-294.4-172.8-371.2zM646.4 153.6c89.6 0 160 70.4 160 160 0 64-32 115.2-89.6 140.8-12.8 6.4-19.2 25.6-12.8 38.4 6.4 12.8 19.2 19.2 25.6 19.2 6.4 0 6.4 0 12.8-6.4 76.8-38.4 121.6-115.2 121.6-198.4 0-121.6-102.4-224-224-224-19.2 0-32 12.8-32 32s25.6 38.4 38.4 38.4z" fill="" p-id="42452"></path></svg>

After

Width:  |  Height:  |  Size: 999 B

View File

@ -0,0 +1,20 @@
import { request } from '@/service/request';
/** 获取批量状态列表 */
export function fetchGetBatchList (params?: Api.Mps.BatchSearchParams) {
return request<Api.Mps.BatchList>({
url: '/mps/batch/list',
method: 'get',
params
});
}
/** 修改批量状态 */
export function fetchUpdateBatch (data: Api.Mps.BatchOperateParams) {
return request<boolean>({
url: '/mps/batch',
method: 'put',
data
});
}

View File

@ -0,0 +1,63 @@
/**
* Namespace Api
*
* All backend api type
*/
declare namespace Api {
/**
* namespace Mps
*
* backend api module: "Mps"
*/
namespace Mps {
/** batch */
type Batch = Common.CommonRecord<{
/** 批次月份 */
batchMonth: string;
/** 预批量时间 */
preBatchDate: string;
/** 预批量状态0初始 1成功 9失败 */
preBatchStatus: string;
/** 正式批量时间 */
afterBatchDate: string;
/** 正式批量状态0初始 1成功 9失败 */
afterBatchStatus: string;
/** 核对状态0未核对 1已核对 */
checkStatus: string;
/** 核对人 */
checkBy: number;
/** 核对备注 */
checkRemark: string;
}>;
/** batch search params */
type BatchSearchParams = CommonType.RecordNullable<
Pick<
Api.Mps.Batch,
| 'batchMonth'
| 'checkRemark'
> &
Api.Common.CommonSearchParams
>;
/** batch operate params */
type BatchOperateParams = CommonType.RecordNullable<
Pick<
Api.Mps.Batch,
| 'batchMonth'
| 'preBatchDate'
| 'preBatchStatus'
| 'afterBatchDate'
| 'afterBatchStatus'
| 'checkStatus'
| 'checkBy'
| 'checkRemark'
>
>;
/** batch list */
type BatchList = Api.Common.PaginatingQueryRecord<Batch>;
}
}

View File

@ -201,12 +201,12 @@ async function handleSocialLogin(type: Api.System.SocialSource) {
</NButton>
</div>-->
<div class="mt-32px w-full text-center text-18px text-#858585">
<!-- <div class="mt-32px w-full text-center text-18px text-#858585">
您还没有账户
<NA type="primary" class="text-18px" @click="toggleLoginModule('register')">
{{ $t('page.login.common.register') }}
</NA>
</div>
</div>-->
</div>
</template>

View File

@ -0,0 +1,238 @@
<script setup lang="tsx">
import { NDivider } from 'naive-ui';
import { fetchGetBatchList } from '@/service/api/mps/batch';
import { useAppStore } from '@/store/modules/app';
import { useAuth } from '@/hooks/business/auth';
import { useDownload } from '@/hooks/business/download';
import { useTable, useTableOperate } from '@/hooks/common/table';
import { $t } from '@/locales';
import ButtonIcon from '@/components/custom/button-icon.vue';
import BatchOperateDrawer from './modules/batch-operate-drawer.vue';
import BatchSearch from './modules/batch-search.vue';
import {computed, ref, watch} from "vue";
import {useBoolean} from "~/packages/hooks";
defineOptions({
name: 'BatchList'
});
const appStore = useAppStore();
const { download } = useDownload();
const { hasAuth } = useAuth();
const { bool: importVisible, setTrue: openImportModal } = useBoolean();
const {
columns,
columnChecks,
data,
getData,
getDataByPage,
loading,
mobilePagination,
searchParams,
resetSearchParams
} = useTable({
apiFn: fetchGetBatchList,
apiParams: {
pageNum: 1,
pageSize: 10,
// if you want to use the searchParams in Form, you need to define the following properties, and the value is null
// the value can not be undefined, otherwise the property in Form will not be reactive
batchMonth: null,
checkRemark: null,
params: {}
},
columns: () => [
{
type: 'selection',
align: 'center',
width: 48
},
{
key: 'index',
title: $t('common.index'),
align: 'center',
width: 64,
resizable: true
},
{
key: 'batchMonth',
title: '批次月份',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
{
key: 'preBatchDate',
title: '预批量时间',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
{
key: 'preBatchStatus',
title: '预批量状态',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
{
key: 'afterBatchDate',
title: '正式批量时间',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
{
key: 'afterBatchStatus',
title: '正式批量状态',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
{
key: 'checkStatus',
title: '核对状态',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
{
key: 'checkBy',
title: '核对人',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
{
key: 'checkRemark',
title: '核对备注',
align: 'center',
minWidth: 120,
ellipsis: true,
resizable: true
},
{
key: 'operate',
title: $t('common.operate'),
fixed: 'right',
width: 130,
render: row => {
const divider = () => {
if (!hasAuth('mps:batch:edit') || !hasAuth('mps:batch:remove')) {
return null;
}
return <NDivider vertical />;
};
const editBtn = () => {
if (!hasAuth('mps:batch:edit')) {
return null;
}
return (
<ButtonIcon
text
type="primary"
icon="material-symbols:drive-file-rename-outline-outline"
tooltipContent={$t('common.edit')}
onClick={() => edit(row.batchMonth!)}
/>
);
};
return (
<div class="flex-center gap-8px">
{editBtn()}
{divider()}
</div>
);
}
}
]
});
const scrollX = ref(0);
//
const calculateTotalWidth = () => {
let totalWidth = 0;
const visibleColumns = columns.value;
for (let i = 0; i < visibleColumns.length; i++) {
const column = visibleColumns[i];
//
// column.width
let width = column.width;
// 使minWidth
if (!width) {
width = column.minWidth || 120;
}
//
width = typeof width === 'string' ? parseInt(width) : width;
totalWidth += width;
}
// 50px
return totalWidth + 50;
};
//
watch(columns, (newColumns) => {
scrollX.value = calculateTotalWidth();
}, { deep: true });
const { drawerVisible, operateType, editingData, handleEdit, checkedRowKeys} =
useTableOperate(data, getData);
function edit(batchMonth: CommonType.IdType) {
handleEdit('batchMonth', batchMonth);
}
</script>
<template>
<div class="min-h-500px flex-col-stretch gap-16px overflow-hidden lt-sm:overflow-auto">
<BatchSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" />
<NCard title="批量状态列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper">
<template #header-extra>
<TableHeaderOperation
v-model:columns="columnChecks"
:show-add=false
:show-delete=false
:loading="loading"
@refresh="getData"
>
</TableHeaderOperation>
</template>
<!--scroll-x : 所有表格列宽度之和(包含操作列)+操作列宽度-->
<NDataTable
v-model:checked-row-keys="checkedRowKeys"
:columns="columns"
:data="data"
size="small"
:flex-height="!appStore.isMobile"
:scroll-x="scrollX"
:loading="loading"
remote
:row-key="row => row.batchMonth"
:pagination="mobilePagination"
class="sm:h-full"
@update-resize-widths="scrollX = calculateTotalWidth()"
/>
<BatchOperateDrawer
v-model:visible="drawerVisible"
:operate-type="operateType"
:row-data="editingData"
@submitted="getDataByPage"
/>
</NCard>
</div>
</template>
<style scoped></style>

View File

@ -0,0 +1,178 @@
<script setup lang="ts">
import { computed, reactive, watch } from 'vue';
import { fetchUpdateBatch } from '@/service/api/mps/batch';
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { useDict } from '@/hooks/business/dict';import { $t } from '@/locales';
defineOptions({
name: 'BatchOperateDrawer'
});
interface Props {
/** the type of operation */
operateType: NaiveUI.TableOperateType;
/** the edit row data */
rowData?: Api.Mps.Batch | null;
}
const props = defineProps<Props>();
interface Emits {
(e: 'submitted'): void;
}
const emit = defineEmits<Emits>();
const visible = defineModel<boolean>('visible', {
default: false
});
const { options: preBatchStatusOptions } = useDict('pre_batch_status');
const { options: afterBatchStatusOptions } = useDict('after_batch_status');
const { options: mpsCheckStatusOptions } = useDict('mps_check_status');
const { formRef, validate, restoreValidation } = useNaiveForm();
const { createRequiredRule } = useFormRules();
const title = computed(() => {
const titles: Record<NaiveUI.TableOperateType, string> = {
add: '新增批量状态',
edit: '编辑批量状态'
};
return titles[props.operateType];
});
type Model = Api.Mps.BatchOperateParams;
const model: Model = reactive(createDefaultModel());
function createDefaultModel(): Model {
return {
batchMonth: '',
preBatchDate: undefined,
preBatchStatus: '',
afterBatchDate: undefined,
afterBatchStatus: '',
checkStatus: '',
checkBy: undefined,
checkRemark: ''
};
}
type RuleKey = Extract<
keyof Model,
| 'preBatchDate'
| 'preBatchStatus'
| 'afterBatchDate'
| 'afterBatchStatus'
| 'checkStatus'
| 'checkBy'
| 'checkRemark'
>;
const rules: Record<RuleKey, App.Global.FormRule> = {
preBatchDate: createRequiredRule('预批量时间不能为空'),
preBatchStatus: createRequiredRule('预批量状态不能为空'),
afterBatchDate: createRequiredRule('正式批量时间不能为空'),
afterBatchStatus: createRequiredRule('正式批量状态不能为空'),
checkStatus: createRequiredRule('核对状态不能为空'),
checkBy: createRequiredRule('核对人不能为空'),
checkRemark: createRequiredRule('核对备注不能为空')
};
function handleUpdateModelWhenEdit() {
if (props.operateType === 'edit' && props.rowData) {
Object.assign(model, props.rowData);
}
}
function closeDrawer() {
visible.value = false;
}
async function handleSubmit() {
await validate();
const { batchMonth, preBatchDate, preBatchStatus, afterBatchDate, afterBatchStatus, checkStatus, checkBy, checkRemark } = model;
// request
if (props.operateType === 'edit') {
const { error } = await fetchUpdateBatch({ batchMonth, preBatchDate, preBatchStatus, afterBatchDate, afterBatchStatus, checkStatus, checkBy, checkRemark });
if (error) return;
}
window.$message?.success($t('common.updateSuccess'));
closeDrawer();
emit('submitted');
}
watch(visible, () => {
if (visible.value) {
handleUpdateModelWhenEdit();
restoreValidation();
}
});
</script>
<template>
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="800" class="max-w-90%">
<NDrawerContent :title="title" :native-scrollbar="false" closable>
<NForm ref="formRef" :model="model" :rules="rules">
<NFormItem label="预批量时间" path="preBatchDate">
<NDatePicker
v-model:formatted-value="model.preBatchDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
/>
</NFormItem>
<NFormItem label="预批量状态" path="preBatchStatus">
<NSelect
v-model:value="model.preBatchStatus"
placeholder="请选择预批量状态"
:options="preBatchStatusOptions"
clearable
/>
</NFormItem>
<NFormItem label="正式批量时间" path="afterBatchDate">
<NDatePicker
v-model:formatted-value="model.afterBatchDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
/>
</NFormItem>
<NFormItem label="正式批量状态" path="afterBatchStatus">
<NSelect
v-model:value="model.afterBatchStatus"
placeholder="请选择正式批量状态"
:options="afterBatchStatusOptions"
clearable
/>
</NFormItem>
<NFormItem label="核对状态" path="checkStatus">
<NSelect
v-model:value="model.checkStatus"
placeholder="请选择核对状态"
:options="mpsCheckStatusOptions"
clearable
/>
</NFormItem>
<NFormItem label="核对人" path="checkBy">
<NInput v-model:value="model.checkBy" placeholder="请输入核对人" />
</NFormItem>
<NFormItem label="核对备注" path="checkRemark">
<NInput v-model:value="model.checkRemark" placeholder="请输入核对备注" />
</NFormItem>
</NForm>
<template #footer>
<NSpace :size="16">
<NButton @click="closeDrawer">{{ $t('common.cancel') }}</NButton>
<NButton type="primary" @click="handleSubmit">{{ $t('common.confirm') }}</NButton>
</NSpace>
</template>
</NDrawerContent>
</NDrawer>
</template>
<style scoped></style>

View File

@ -0,0 +1,78 @@
<script setup lang="ts">
import { ref } from 'vue';
import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
import { useDict } from '@/hooks/business/dict';
defineOptions({
name: 'BatchSearch'
});
interface Emits {
(e: 'reset'): void;
(e: 'search'): void;
}
const emit = defineEmits<Emits>();
const { formRef, validate, restoreValidation } = useNaiveForm();
const model = defineModel<Api.Mps.BatchSearchParams>('model', { required: true });
const { options: preBatchStatusOptions } = useDict('pre_batch_status');
const { options: afterBatchStatusOptions } = useDict('after_batch_status');
const { options: mpsCheckStatusOptions } = useDict('mps_check_status');
async function reset() {
Object.assign(model.value.params!, {});
await restoreValidation();
emit('reset');
}
async function search() {
await validate();
emit('search');
}
</script>
<template>
<NCard :bordered="false" size="small" class="card-wrapper">
<NCollapse>
<NCollapseItem :title="$t('common.search')" name="user-search">
<NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
<NGrid responsive="screen" item-responsive>
<NFormItemGi span="24 s:12 m:6" label="批次月份" path="batchMonth" class="pr-24px">
<NDatePicker
v-model:formatted-value="model.batchMonth"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
/>
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" label="核对备注" path="checkRemark" class="pr-24px">
<NInput v-model:value="model.checkRemark" placeholder="请输入核对备注" />
</NFormItemGi>
<NFormItemGi span="24" class="pr-24px">
<NSpace class="w-full" justify="end">
<NButton @click="reset">
<template #icon>
<icon-ic-round-refresh class="text-icon" />
</template>
{{ $t('common.reset') }}
</NButton>
<NButton type="primary" ghost @click="search">
<template #icon>
<icon-ic-round-search class="text-icon" />
</template>
{{ $t('common.search') }}
</NButton>
</NSpace>
</NFormItemGi>
</NGrid>
</NForm>
</NCollapseItem>
</NCollapse>
</NCard>
</template>
<style scoped></style>

View File

@ -0,0 +1,54 @@
package org.dromara.mps.controller;
import lombok.RequiredArgsConstructor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.mps.domain.vo.MpsBatchVo;
import org.dromara.mps.domain.bo.MpsBatchBo;
import org.dromara.mps.service.IMpsBatchService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 批量状态
*
* @author gtop
* @date 2025-08-19
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/mps/batch")
public class MpsBatchController extends BaseController {
private final IMpsBatchService mpsBatchService;
/**
* 查询批量状态列表
*/
@SaCheckPermission("mps:batch:list")
@GetMapping("/list")
public TableDataInfo<MpsBatchVo> list(MpsBatchBo bo, PageQuery pageQuery) {
return mpsBatchService.queryPageList(bo, pageQuery);
}
/**
* 修改批量状态
*/
@SaCheckPermission("mps:batch:edit")
@Log(title = "批量状态", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody MpsBatchBo bo) {
return toAjax(mpsBatchService.updateByBo(bo));
}
}

View File

@ -0,0 +1,69 @@
package org.dromara.mps.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 批量状态对象 mps_batch
*
* @author gtop
* @date 2025-08-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mps_batch")
public class MpsBatch extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 批次月份
*/
@TableId(value = "batch_month")
private String batchMonth;
/**
* 预批量时间
*/
private Date preBatchDate;
/**
* 预批量状态0初始 1成功 9失败
*/
private String preBatchStatus;
/**
* 正式批量时间
*/
private Date afterBatchDate;
/**
* 正式批量状态0初始 1成功 9失败
*/
private String afterBatchStatus;
/**
* 核对状态0未核对 1已核对
*/
private String checkStatus;
/**
* 核对人
*/
private BigDecimal checkBy;
/**
* 核对备注
*/
private String checkRemark;
}

View File

@ -0,0 +1,74 @@
package org.dromara.mps.domain.bo;
import org.dromara.mps.domain.MpsBatch;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 批量状态业务对象 mps_batch
*
* @author gtop
* @date 2025-08-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = MpsBatch.class, reverseConvertGenerate = false)
public class MpsBatchBo extends BaseEntity {
/**
* 批次月份
*/
private String batchMonth;
/**
* 预批量时间
*/
@NotNull(message = "预批量时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date preBatchDate;
/**
* 预批量状态0初始 1成功 9失败
*/
@NotBlank(message = "预批量状态0初始 1成功 9失败不能为空", groups = { AddGroup.class, EditGroup.class })
private String preBatchStatus;
/**
* 正式批量时间
*/
@NotNull(message = "正式批量时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date afterBatchDate;
/**
* 正式批量状态0初始 1成功 9失败
*/
@NotBlank(message = "正式批量状态0初始 1成功 9失败不能为空", groups = { AddGroup.class, EditGroup.class })
private String afterBatchStatus;
/**
* 核对状态0未核对 1已核对
*/
@NotBlank(message = "核对状态0未核对 1已核对不能为空", groups = { AddGroup.class, EditGroup.class })
private String checkStatus;
/**
* 核对人
*/
@NotNull(message = "核对人不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal checkBy;
/**
* 核对备注
*/
@NotBlank(message = "核对备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String checkRemark;
}

View File

@ -0,0 +1,86 @@
package org.dromara.mps.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.mps.domain.MpsBatch;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 批量状态视图对象 mps_batch
*
* @author gtop
* @date 2025-08-19
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = MpsBatch.class)
public class MpsBatchVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 批次月份
*/
@ExcelProperty(value = "批次月份")
private String batchMonth;
/**
* 预批量时间
*/
@ExcelProperty(value = "预批量时间")
private Date preBatchDate;
/**
* 预批量状态0初始 1成功 9失败
*/
@ExcelProperty(value = "预批量状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=初始,1=成功,9=失败")
private String preBatchStatus;
/**
* 正式批量时间
*/
@ExcelProperty(value = "正式批量时间")
private Date afterBatchDate;
/**
* 正式批量状态0初始 1成功 9失败
*/
@ExcelProperty(value = "正式批量状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=初始,1=成功,9=失败")
private String afterBatchStatus;
/**
* 核对状态0未核对 1已核对
*/
@ExcelProperty(value = "核对状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=未核对,1=已核对")
private String checkStatus;
/**
* 核对人
*/
@ExcelProperty(value = "核对人")
private BigDecimal checkBy;
/**
* 核对备注
*/
@ExcelProperty(value = "核对备注")
private String checkRemark;
}

View File

@ -0,0 +1,27 @@
package org.dromara.mps.mapper;
import org.dromara.mps.domain.MpsBatch;
import org.dromara.mps.domain.vo.MpsBatchVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
/**
* 批量状态Mapper接口
*
* @author gtop
* @date 2025-08-19
*/
public interface MpsBatchMapper extends BaseMapperPlus<MpsBatch, MpsBatchVo> {
default Page<MpsBatchVo> selectPageMpsBatchList(Page<MpsBatch> page, Wrapper<MpsBatch> queryWrapper) {
return this.selectVoPage(page, queryWrapper);
}
Page<MpsBatchVo> selectBatchPage(
Page<MpsBatch> page,
@Param("batchMonth") String batchMonth,
@Param("checkRemark") String checkRemark);
}

View File

@ -0,0 +1,40 @@
package org.dromara.mps.service;
import org.dromara.mps.domain.MpsBatch;
import org.dromara.mps.domain.vo.MpsBatchVo;
import org.dromara.mps.domain.bo.MpsBatchBo;
import org.springframework.transaction.annotation.Transactional;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
/**
* 批量状态Service接口
*
* @author gtop
* @date 2025-08-19
*/
public interface IMpsBatchService {
/**
* 分页查询批量状态列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 批量状态分页列表
*/
TableDataInfo<MpsBatchVo> queryPageList(MpsBatchBo bo, PageQuery pageQuery);
/**
* 修改批量状态
*
* @param bo 批量状态
* @return 是否修改成功
*/
Boolean updateByBo(MpsBatchBo bo);
}

View File

@ -0,0 +1,77 @@
package org.dromara.mps.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.dromara.mps.domain.bo.MpsBatchBo;
import org.dromara.mps.domain.vo.MpsBatchVo;
import org.dromara.mps.domain.MpsBatch;
import org.dromara.mps.mapper.MpsBatchMapper;
import org.dromara.mps.service.IMpsBatchService;
import java.util.*;
/**
* 批量状态Service业务层处理
*
* @author gtop
* @date 2025-08-19
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class MpsBatchServiceImpl implements IMpsBatchService {
private final MpsBatchMapper baseMapper;
/**
* 分页查询批量状态列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 批量状态分页列表
*/
@Override
public TableDataInfo<MpsBatchVo> queryPageList(MpsBatchBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<MpsBatch> lqw = buildQueryWrapper(bo);
//Page<MpsBatchVo> result = baseMapper.selectPageMpsBatchList(pageQuery.build(), lqw);
Page<MpsBatchVo> result = baseMapper.selectBatchPage(pageQuery.build(), bo.getBatchMonth(),bo.getCheckRemark());
return TableDataInfo.build(result);
}
private LambdaQueryWrapper<MpsBatch> buildQueryWrapper(MpsBatchBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<MpsBatch> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getBatchMonth()), MpsBatch::getBatchMonth, bo.getBatchMonth());
lqw.orderByAsc(MpsBatch::getBatchMonth);
lqw.like(StringUtils.isNotBlank(bo.getCheckRemark()), MpsBatch::getCheckRemark, bo.getCheckRemark());
return lqw;
}
/**
* 修改批量状态
*
* @param bo 批量状态
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(MpsBatchBo bo) {
MpsBatch update = MapstructUtils.convert(bo, MpsBatch.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(MpsBatch entity){
//TODO 做一些数据校验,如唯一约束
}
}

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.mps.mapper.MpsBatchMapper">
<resultMap id="batchResultMap" type="org.dromara.mps.domain.vo.MpsBatchVo">
<id column="batch_month" property="batchMonth"/>
<result column="pre_batch_date" property="preBatchDate"/>
<result column="pre_batch_status" property="preBatchStatus"/>
<result column="after_batch_date" property="afterBatchDate"/>
<result column="check_status" property="checkStatus"/>
<result column="check_by" property="checkBy"/>
<result column="after_batch_status" property="afterBatchStatus"/>
</resultMap>
<select id="selectBatchPage" resultMap="batchResultMap">
SELECT
*
FROM
mps_batch
<where>
<!-- 月份条件 -->
<if test="batchMonth != null and batchMonth != ''">
AND batch_month = #{batchMonth}
</if>
<if test="checkRemark != null and checkRemark != ''">
AND check_remark LIKE CONCAT('%', #{checkRemark}, '%')
</if>
</where>
ORDER BY batch_month DESC
</select>
</mapper>