表单构建

This commit is contained in:
zhang zhuo 2025-11-24 14:03:52 +08:00
parent 23a4b5de4f
commit 01b72c6a0e
30 changed files with 428 additions and 17 deletions

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763963656858" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8263" width="256" height="256"><path d="M512.192 1024a37.975 37.975 0 0 1-21.456-6.646l-446.398-305.7a37.975 37.975 0 1 1 42.912-62.659l424.942 291.08 424.942-291.08a37.975 37.975 0 0 1 42.912 62.66l-446.398 305.7a37.975 37.975 0 0 1-21.456 6.645z m0-168.42a37.975 37.975 0 0 1-21.456-6.645L44.338 543.425a37.975 37.975 0 1 1 42.912-62.66l424.942 290.89 424.942-290.89a37.975 37.975 0 0 1 42.912 62.66l-446.398 305.51a37.975 37.975 0 0 1-21.456 6.645z m0-168.42a37.975 37.975 0 0 1-21.456-6.645L44.338 375.005a37.975 37.975 0 0 1 0-62.66l446.398-305.7a37.975 37.975 0 0 1 42.912 0l446.398 305.7a37.975 37.975 0 0 1 0 62.66l-446.398 305.7a37.975 37.975 0 0 1-21.456 6.455zM132.441 343.485l379.751 259.56 379.752-259.56-379.752-259.56z" p-id="8264"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763963317628" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4839" width="256" height="256"><path d="M368 518.4c-3.2-6.4-6.4-9.6-12.8-16-3.2-3.2-9.6-6.4-12.8-9.6 3.2-3.2 6.4-3.2 6.4-6.4 3.2-3.2 3.2-6.4 6.4-9.6 0-3.2 3.2-6.4 3.2-12.8v-12.8c0-9.6-3.2-19.2-6.4-28.8-3.2-9.6-9.6-16-12.8-22.4-6.4-6.4-12.8-9.6-19.2-12.8-6.4-3.2-16-3.2-22.4-3.2H224v252.8h80c9.6 0 19.2-3.2 28.8-6.4 9.6-3.2 16-9.6 22.4-16 6.4-6.4 12.8-16 16-25.6 3.2-9.6 6.4-19.2 6.4-32 0-6.4 0-16-3.2-22.4s-3.2-12.8-6.4-16z m-96-89.6h16c6.4 0 12.8 3.2 16 6.4 6.4 3.2 6.4 9.6 6.4 19.2s-3.2 16-6.4 19.2c-3.2 6.4-9.6 6.4-16 6.4h-16v-51.2z m54.4 144c-3.2 3.2-3.2 6.4-6.4 9.6-3.2 3.2-6.4 3.2-9.6 6.4-3.2 0-6.4 3.2-12.8 3.2H272v-64h25.6c9.6 0 16 3.2 22.4 9.6 6.4 6.4 9.6 12.8 9.6 25.6 0 0-3.2 6.4-3.2 9.6zM748.8 480v48c-6.4-6.4-9.6-16-16-25.6-6.4-9.6-12.8-16-19.2-22.4L640 384h-41.6v252.8h51.2v-160l19.2 28.8c6.4 9.6 12.8 19.2 22.4 28.8l83.2 108.8H800v-256h-51.2V480z" p-id="4840"></path><path d="M896 224H128c-35.2 0-64 28.8-64 64v448c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64V288c0-35.2-28.8-64-64-64z m0 480c0 19.2-12.8 32-32 32H160c-19.2 0-32-12.8-32-32V320c0-19.2 12.8-32 32-32h704c19.2 0 32 12.8 32 32v384z" p-id="4841"></path><path d="M393.6 432h64v204.8H512V432h64v-48H393.6z" p-id="4842"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763956138598" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6665" width="256" height="256"><path d="M880 624c16 0 32-12.8 32-32V464c0-16-12.8-32-32-32H336v-64h384c16 0 32-12.8 32-32V176c0-19.2-12.8-32-32-32H144c-16 0-32 12.8-32 32v160c0 19.2 12.8 32 32 32h128v480c0 16 12.8 32 32 32h576c16 0 32-12.8 32-32V720c0-16-12.8-32-32-32H336v-64h544z m-32-128v64H336v-64h512z m0 256v64H336v-64h512zM176 304v-96h512v96H176z" p-id="6666"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763955799395" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5503" width="256" height="256"><path d="M896 64H128c-35.2 0-64 28.8-64 64v768c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z m0 800c0 19.2-12.8 32-32 32H160c-19.2 0-32-12.8-32-32V160c0-19.2 12.8-32 32-32h704c19.2 0 32 12.8 32 32v704z" p-id="5504"></path><path d="M694.4 364.8L467.2 592l-112-112c-12.8-12.8-32-12.8-44.8 0-12.8 12.8-12.8 32 0 44.8l134.4 134.4c6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l249.6-249.6c12.8-12.8 12.8-32 0-44.8-12.8-9.6-32-9.6-44.8 0z" p-id="5505"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763956505851" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12845" width="256" height="256"><path d="M204.4 524.9c-14.5 1.5-26.2 13.2-27.7 27.7-2.1 19.9 14.6 36.7 34.6 34.6 14.5-1.5 26.2-13.2 27.8-27.8 2-19.9-14.8-36.6-34.7-34.5zM265.4 473.7c21.8-1.9 39.4-19.5 41.4-41.4 2.5-28.5-21.2-52.3-49.7-49.7-21.8 1.9-39.4 19.5-41.4 41.4-2.6 28.4 21.2 52.2 49.7 49.7zM415.8 266.9c-28.5 1.8-51.6 24.9-53.4 53.4-2.2 34.5 26.4 63.1 60.9 60.9 28.5-1.8 51.6-24.9 53.4-53.4 2.1-34.6-26.4-63.1-60.9-60.9zM621.9 253.8c-35.1 2.2-63.4 30.6-65.6 65.6-2.7 42.4 32.4 77.6 74.8 74.8 35.1-2.2 63.4-30.6 65.6-65.6 2.8-42.4-32.3-77.5-74.8-74.8zM966.5 276.4c-0.5-7.6-4-14.6-9.8-19.6l-0.7-0.6c-5.2-4.5-11.9-7-18.8-7-8.3 0-16.2 3.6-21.6 9.9L574 652.4l-43.5 85.5 1.1 0.9-4.9 11.3 11.1-5.9 1.5 1.3 78-54.3 342.3-394c5-5.8 7.4-13.2 6.9-20.8z" p-id="12846"></path><path d="M897.8 476.3c-13.8-1.4-26.7 7.4-30.4 20.7-6.9 24.6-19.3 64.5-35.1 97.8C809.5 643 767.4 710.1 696.7 756c-72.2 46.9-142.7 56.7-189.2 56.7-37 0-72.2-6.1-101.7-17.7-26.9-10.5-46.4-24.6-54.9-39.7-3.4-6.1-7.2-12.9-11.2-20.2-17.2-31.1-36.6-66.5-49.7-77.4-15.9-13.2-39.1-15-59.8-15-8.1 0-40.8 1.3-48.5 1.3-33.1 0-49.4-6.5-56.1-22.4-17.8-42.3-7.3-114.3 26.8-183.4C205.2 331.4 300 253.3 412.6 224c40-10.6 81.2-18.9 121.3-18.9 85.6 0 187.8 32.8 252.5 77.2 11.4 7.8 26.9 5.8 35.7-4.9 10.4-12.6 7.1-31.4-6.8-39.8-23.3-14-57.9-34-86.3-47.1-60.3-27.9-123.7-41.9-189.2-41.9-68.1 0-148.8 16.4-217.2 47.2-78.1 35-135.2 85-179.4 147.5-36.4 51.4-67.8 111.1-80.1 168.7-7.5 35.1-6.8 57.4-2.4 87.8 4.2 29.2 13.4 52.5 26.9 67.5 22.4 25.1 51.5 37.4 89 37.4 13.9 0 56.3-5 63.1-5 7.4 0 12.2 1.2 14.4 3.8 6.4 7.4 14.4 22.4 23.7 39.9 7.5 14.1 15.9 30.1 25.4 45.3 12.1 19.5 36.9 40.4 66.5 55.9 27 14.1 71.9 31 132.2 31 72 0 148.3-23.6 226.7-70.1 74.9-44.4 123-118.9 150.2-173.6 19-38.3 34.7-87.2 43.8-119.1 4.8-17.3-7-34.7-24.8-36.5z" p-id="12847"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763958970589" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14883" width="256" height="256"><path d="M675.84 198.656v36.864c0 12.288-8.192 20.48-20.48 20.48s-20.48-8.192-20.48-20.48v-36.864h-266.24v36.864c0 12.288-8.192 20.48-20.48 20.48s-20.48-8.192-20.48-20.48v-36.864h-143.36c-34.816 0-61.44 26.624-61.44 61.44v118.784h778.24v-118.784c0-34.816-26.624-61.44-61.44-61.44h-163.84z m0-40.96h163.84c57.344 0 102.4 45.056 102.4 102.4v278.528c0 12.288-8.192 20.48-20.48 20.48s-20.48-8.192-20.48-20.48v-120.832h-778.24v393.216c0 34.816 26.624 61.44 61.44 61.44h655.36c34.816 0 61.44-26.624 61.44-61.44v-88.064c0-12.288 8.192-20.48 20.48-20.48s20.48 8.192 20.48 20.48v88.064c0 57.344-45.056 102.4-102.4 102.4h-655.36c-57.344 0-102.4-45.056-102.4-102.4v-552.96c0-57.344 45.056-102.4 102.4-102.4h143.36v-28.672c0-12.288 8.192-20.48 20.48-20.48s20.48 8.192 20.48 20.48v28.672h266.24v-28.672c0-12.288 8.192-20.48 20.48-20.48s20.48 8.192 20.48 20.48v30.72z m-231.424 401.408c34.816-8.192 61.44-24.576 79.872-49.152h24.576V768h-43.008v-196.608c-14.336 10.24-34.816 18.432-61.44 22.528v-34.816z" p-id="14884"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763959078973" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15946" width="256" height="256"><path d="M870.4 364.8a25.6 25.6 0 0 1 4.608 50.7904l-4.608 0.4096H153.6a25.6 25.6 0 0 1-4.608-50.7904L153.6 364.8h716.8zM336.64 607.2832a113.664 113.664 0 0 1 180.4288-16.6912l6.656 7.9872 6.3488 8.3456a71.5264 71.5264 0 0 0 114.8416-1.1776 25.6 25.6 0 0 1 41.3696 30.1056 122.7264 122.7264 0 0 1-191.488 8.8064l-5.5296-6.8096-6.2976-8.3456a62.464 62.464 0 0 0-102.8096 4.8128 25.6 25.6 0 1 1-43.52-27.0336zM307.2 76.8a25.6 25.6 0 0 1 25.1904 20.992L332.8 102.4v153.6a25.6 25.6 0 0 1-50.7904 4.608L281.6 256V102.4a25.6 25.6 0 0 1 25.6-25.6zM716.8 76.8a25.6 25.6 0 0 1 25.1904 20.992L742.4 102.4v153.6a25.6 25.6 0 0 1-50.7904 4.608L691.2 256V102.4a25.6 25.6 0 0 1 25.6-25.6z" p-id="15947"></path><path d="M870.4 153.6a51.2 51.2 0 0 1 51.2 51.2v665.6a51.2 51.2 0 0 1-51.2 51.2H153.6a51.2 51.2 0 0 1-51.2-51.2V204.8a51.2 51.2 0 0 1 51.2-51.2h716.8z m0 51.2H153.6v665.6h716.8V204.8z" p-id="15948"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763963609733" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7239" width="256" height="256"><path d="M512 930.909091C268.101818 930.909091 69.818182 742.865455 69.818182 512S268.101818 93.090909 512 93.090909s442.181818 188.043636 442.181818 418.909091-198.283636 418.909091-442.181818 418.909091z m0-768C306.734545 162.909091 139.636364 319.534545 139.636364 512s167.098182 349.090909 372.363636 349.090909 372.363636-156.625455 372.363636-349.090909S717.265455 162.909091 512 162.909091z" p-id="7240"></path><path d="M452.654545 506.88a132.189091 56.552727 90 1 0 113.105455 0 132.189091 56.552727 90 1 0-113.105455 0Z" p-id="7241"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763954600839" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4674" width="256" height="256"><path d="M896 224H128c-35.2 0-64 28.8-64 64v448c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64V288c0-35.2-28.8-64-64-64z m0 480c0 19.2-12.8 32-32 32H160c-19.2 0-32-12.8-32-32V320c0-19.2 12.8-32 32-32h704c19.2 0 32 12.8 32 32v384z" p-id="4675"></path><path d="M224 352c-19.2 0-32 12.8-32 32v256c0 16 12.8 32 32 32s32-12.8 32-32V384c0-16-12.8-32-32-32z" p-id="4676"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763955025233" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5172" width="256" height="256"><path d="M704 416v-96a192 192 0 1 0-384 0v96h384zM192 480v383.776A31.968 31.968 0 0 0 223.744 896h576.512c17.184 0 31.744-14.4 31.744-32.224V480.224 480H192z m-64-16V448a32 32 0 0 1 32-32h96v-96a256 256 0 1 1 512 0v96h96c17.664 0 32 14.208 32 32v448.192A64 64 0 0 1 831.84 960H192.16A64 64 0 0 1 128 896.192V464zM544 640v128.32c0 17.472-14.208 31.68-32 31.68a32 32 0 0 1-32-31.68V640h-32.32a31.776 31.776 0 0 1-31.68-32 32 32 0 0 1 31.68-32h128.64c17.472 0 31.68 14.208 31.68 32a32 32 0 0 1-31.68 32H544z" p-id="5173"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763954665631" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4840" width="256" height="256"><path d="M896 160H128c-35.2 0-64 28.8-64 64v576c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64V224c0-35.2-28.8-64-64-64z m0 608c0 16-12.8 32-32 32H160c-19.2 0-32-12.8-32-32V256c0-16 12.8-32 32-32h704c19.2 0 32 12.8 32 32v512z" p-id="4841"></path><path d="M224 288c-19.2 0-32 12.8-32 32v256c0 16 12.8 32 32 32s32-12.8 32-32V320c0-16-12.8-32-32-32z m608 480c19.2 0 32-12.8 32-32V608L704 768h128z" p-id="4842"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763955376086" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5337" width="256" height="256"><path d="M896 224H128c-35.2 0-64 28.8-64 64v448c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64V288c0-35.2-28.8-64-64-64z m0 480c0 19.2-12.8 32-32 32H160c-19.2 0-32-12.8-32-32V320c0-19.2 12.8-32 32-32h704c19.2 0 32 12.8 32 32v384z" p-id="5338"></path><path d="M291.2 412.8c-12.8 6.4-22.4 12.8-35.2 16v41.6c22.4-6.4 41.6-16 54.4-28.8V640h38.4V393.6H320c-6.4 3.2-19.2 12.8-28.8 19.2zM489.6 560c22.4-16 41.6-28.8 48-38.4 16-16 22.4-38.4 22.4-57.6 0-22.4-6.4-38.4-22.4-54.4-16-12.8-35.2-19.2-57.6-19.2-25.6 0-48 9.6-60.8 25.6-16 16-22.4 38.4-22.4 67.2h38.4c0-19.2 3.2-35.2 12.8-44.8 6.4-9.6 19.2-16 32-16s25.6 3.2 32 9.6c6.4 6.4 9.6 16 9.6 28.8s-6.4 25.6-16 38.4c-6.4 6.4-16 16-32 28.8-28.8 19.2-44.8 35.2-54.4 44.8-16 19.2-22.4 41.6-22.4 64h166.4v-35.2H444.8c6.4-12.8 22.4-25.6 44.8-41.6z m233.6-54.4c25.6-9.6 38.4-25.6 38.4-54.4 0-22.4-6.4-38.4-22.4-51.2-16-12.8-35.2-19.2-57.6-19.2S640 387.2 624 400c-16 12.8-25.6 32-25.6 57.6h38.4c0-16 6.4-25.6 12.8-32 6.4-6.4 19.2-9.6 32-9.6s25.6 3.2 32 9.6c6.4 6.4 9.6 16 9.6 28.8s-3.2 22.4-9.6 28.8c-6.4 6.4-19.2 9.6-32 9.6h-16v28.8h16c16 0 25.6 3.2 35.2 9.6 9.6 6.4 12.8 16 12.8 32 0 12.8-3.2 22.4-12.8 28.8-9.6 9.6-19.2 12.8-35.2 12.8-12.8 0-25.6-3.2-32-12.8-9.6-9.6-12.8-22.4-16-38.4h-38.4c3.2 28.8 12.8 48 28.8 64 16 12.8 35.2 19.2 60.8 19.2 25.6 0 48-6.4 64-22.4 16-16 22.4-32 22.4-54.4 0-16-3.2-25.6-12.8-35.2-9.6-6.4-22.4-16-35.2-19.2z" p-id="5339"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763955837521" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5669" width="256" height="256"><path d="M352 512a160 160 0 1 0 320 0 160 160 0 1 0-320 0z" p-id="5670"></path><path d="M512 64C265.6 64 64 265.6 64 512s201.6 448 448 448 448-201.6 448-448S758.4 64 512 64z m0 832c-211.2 0-384-172.8-384-384s172.8-384 384-384 384 172.8 384 384-172.8 384-384 384z" p-id="5671"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763956449650" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11809" width="256" height="256"><path d="M933.12 464.213333c30.293333-29.44 13.653333-81.066667-28.16-87.466666l-206.08-29.866667c-16.64-2.56-31.146667-12.8-38.4-28.16L567.893333 132.266667c-18.773333-37.973333-72.96-37.973333-91.733333 0L384 319.146667c-7.253333 14.933333-21.76 25.6-38.4 28.16l-206.08 29.866666c-41.813333 5.973333-58.88 57.6-28.16 87.466667l149.333333 145.493333c11.946667 11.946667 17.493333 28.586667 14.506667 45.226667l-35.413333 205.226667c-7.253333 41.813333 36.693333 73.813333 74.24 53.76l184.32-96.853334c14.933333-7.68 32.853333-7.68 47.786666 0l184.32 96.853334c37.546667 19.626667 81.493333-11.946667 74.24-53.76l-35.413333-205.226667c-2.986667-16.64 2.56-33.706667 14.506667-45.226667l149.333333-145.92z m-196.693333 96.426667c-28.16 27.306667-40.96 66.986667-34.56 105.813333l29.44 171.093334-153.6-80.64c-17.066667-8.96-36.266667-13.653333-55.466667-13.653334s-38.4 4.693333-55.466667 13.653334l-153.6 80.64 29.44-171.093334c6.826667-38.826667-6.4-78.08-34.133333-105.813333L183.466667 439.466667l171.946666-25.173334c38.826667-5.546667 72.533333-30.293333 90.026667-65.28l76.8-155.733333 76.8 155.733333c17.493333 35.413333 51.2 59.733333 90.026667 65.28l171.946666 25.173334-124.586666 121.173333z" p-id="11810"></path><path d="M581.546667 674.986667h-119.466667c-18.773333 0-34.133333-15.36-34.133333-34.133334s15.36-34.133333 34.133333-34.133333h119.466667c18.773333 0 34.133333 15.36 34.133333 34.133333s-15.36 34.133333-34.133333 34.133334z" p-id="11811"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763963253248" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4674" width="256" height="256"><path d="M416 64H128c-35.2 0-64 28.8-64 64v768c0 35.2 28.8 64 64 64h288c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z m0 800c0 19.2-12.8 32-32 32H160c-19.2 0-32-12.8-32-32V160c0-19.2 12.8-32 32-32h224c19.2 0 32 12.8 32 32v704zM896 64H608c-35.2 0-64 28.8-64 64v768c0 35.2 28.8 64 64 64h288c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z m0 800c0 19.2-12.8 32-32 32H640c-19.2 0-32-12.8-32-32V160c0-19.2 12.8-32 32-32h224c19.2 0 32 12.8 32 32v704z" p-id="4675"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763956083041" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6499" width="256" height="256"><path d="M897.536 839.68V186.368H125.44V839.68h772.096m59.392 59.392H66.048V126.976h890.88v772.096z" p-id="6500"></path><path d="M511.488 661.504L303.616 463.36l41.472-39.424L552.96 622.08l-41.472 39.424z m0 0l-41.472-39.424 207.872-198.144 41.472 39.424-207.872 198.144z" p-id="6501"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763956313694" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10782" width="256" height="256"><path d="M224 671.616a64 64 0 1 1 128 0 64 64 0 0 1-128 0z m-59.968 32a128 128 0 0 0 247.936 0H928a32 32 0 1 0 0-64H411.968a128 128 0 0 0-247.936 0H96a32 32 0 1 0 0 64h68.032z" p-id="10783"></path><path d="M224 671.616a64 64 0 1 1 128 0 64 64 0 0 1-128 0z m-59.968 32a128 128 0 0 0 247.936 0H928a32 32 0 1 0 0-64H411.968a128 128 0 0 0-247.936 0H96a32 32 0 1 0 0 64h68.032zM800 319.808a64 64 0 1 1-128 0 64 64 0 0 1 128 0z m59.968-32a128 128 0 0 0-247.936 0H96a32 32 0 0 0 0 64h516.032a128 128 0 0 0 247.936 0H928a32 32 0 0 0 0-64h-68.032z" p-id="10784"></path><path d="M800 319.808a64 64 0 1 1-128 0 64 64 0 0 1 128 0z m59.968-32a128 128 0 0 0-247.936 0H96a32 32 0 0 0 0 64h516.032a128 128 0 0 0 247.936 0H928a32 32 0 0 0 0-64h-68.032z" p-id="10785"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763955882742" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5835" width="256" height="256"><path d="M704 256H320C179.2 256 64 371.2 64 512s115.2 256 256 256h384c140.8 0 256-115.2 256-256S844.8 256 704 256z m0 448H320c-105.6 0-192-86.4-192-192s86.4-192 192-192h384c105.6 0 192 86.4 192 192s-86.4 192-192 192z" p-id="5836"></path><path d="M160 512a160 160 0 1 0 320 0 160 160 0 1 0-320 0z" p-id="5837"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763956248939" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6830" width="256" height="256"><path d="M544 494.4l152.48 88.032a31.872 31.872 0 0 1 11.616 43.68c-8.832 15.296-28.544 20.48-43.616 11.776l-166.464-96.096a31.968 31.968 0 0 1-8.288-6.88 31.776 31.776 0 0 1-9.728-22.752v-256.32c0-17.6 14.208-31.84 32-31.84 17.664 0 32 14.592 32 31.84v238.592zM512 96c229.504 0 416 186.496 416 416s-186.496 416-416 416S96 741.504 96 512 282.496 96 512 96z m0 768c194.304 0 352-157.696 352-352S706.304 160 512 160 160 317.696 160 512s157.696 352 352 352z" p-id="6831"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763958921520" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13857" width="256" height="256"><path d="M972.799424 665.600448H665.599808a25.599968 25.599968 0 0 0 0 51.199936h307.199616a25.599968 25.599968 0 0 0 0-51.199936z m0 153.599808H665.599808a25.599968 25.599968 0 0 0 0 51.199936h307.199616a25.599968 25.599968 0 0 0 0-51.199936z m0 153.599808H665.599808a25.599968 25.599968 0 0 0 0 51.199936h307.199616a25.599968 25.599968 0 0 0 0-51.199936zM540.518364 558.541382l213.196534-213.196534a25.599968 25.599968 0 0 0-36.198355-36.198354L504.32001 522.343027l-140.236625-140.236625a25.599968 25.599968 0 0 0-36.198355 36.198355l140.134225 140.236625-40.19195 40.19195a25.599968 25.599968 0 0 0 36.198355 36.198354l40.19195-40.191949 40.806349 40.806349a25.599968 25.599968 0 0 0 36.198354-36.198355zM512 0.00128a511.99936 511.99936 0 1 0 0 1023.99872c17.305578 0 34.355157-0.921599 51.199936-2.559997v-52.940734c-8.499189 0.972799-16.947179 2.150397-25.599968 2.559997v-126.361442a25.599968 25.599968 0 1 0-51.199936 0v126.310242A460.492224 460.492224 0 0 1 52.685374 537.600608H179.200416a25.599968 25.599968 0 0 0 0-51.199936H52.890174A464.613819 464.613819 0 0 1 486.400032 52.737214V179.201056a25.599968 25.599968 0 0 0 51.199936 0V52.788414A464.613819 464.613819 0 0 1 971.161026 486.400672H844.799584a25.599968 25.599968 0 0 0 0 51.199936h126.515042a446.207442 446.207442 0 0 1-10.854387 76.799904h52.838334A510.872961 510.872961 0 0 0 511.8976 0.00128z" p-id="13858"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763955933593" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6001" width="256" height="256"><path d="M793.6 358.4C768 227.2 652.8 128 512 128s-256 99.2-281.6 230.4C134.4 384 64 473.6 64 576c0 124.8 99.2 224 224 224h32v-64h-32c-89.6 0-160-70.4-160-160s70.4-160 160-160c0-124.8 99.2-224 224-224s224 99.2 224 224c89.6 0 160 70.4 160 160s-70.4 160-160 160h-32v64h32c124.8 0 224-99.2 224-224 0-102.4-70.4-192-166.4-217.6z" p-id="6002"></path><path d="M540.8 489.6c-12.8-9.6-25.6-12.8-38.4-6.4-3.2 0-6.4 3.2-9.6 6.4l-96 92.8c-12.8 12.8-12.8 32 0 44.8 12.8 12.8 35.2 12.8 48 0l38.4-35.2v272c0 19.2 16 32 32 32 19.2 0 32-16 32-32V592l38.4 35.2c12.8 12.8 35.2 12.8 48 0 12.8-12.8 12.8-32 0-44.8l-92.8-92.8z" p-id="6003"></path></svg>
</template>

View File

@ -0,0 +1,3 @@
<template>
<svg t="1763953893749" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5112" width="256" height="256"><path d="M972.09863 1016.986301H259.506849c-19.638356 0-35.068493-15.430137-35.068493-35.068493V768.70137c-8.416438 5.610959-18.235616 9.819178-28.054794 12.624657h-1.40274c-12.624658 4.208219-26.652055 5.610959-39.276712 5.610959-77.150685 0-138.871233-63.123288-138.871233-138.871233 0-77.150685 63.123288-138.871233 138.871233-138.871232 14.027397 0 28.054795 2.805479 42.082191 7.013698 1.40274 0 2.805479 1.40274 4.20822 1.40274 7.013699 2.805479 14.027397 5.610959 19.638356 8.416438l2.805479 1.40274V269.326027c0-19.638356 15.430137-35.068493 35.068493-35.068493h228.646576l-4.20822-8.416438c-7.013699-11.221918-12.624658-22.443836-15.430137-35.068493v-1.40274c-4.208219-12.624658-5.610959-26.652055-5.610958-39.276712C462.90411 72.942466 526.027397 11.221918 601.775342 11.221918c77.150685 0 138.871233 63.123288 138.871233 138.871233 0 14.027397-2.805479 28.054795-7.013698 42.082191 0 1.40274-1.40274 2.805479-1.40274 4.20822-2.805479 7.013699-5.610959 14.027397-8.416438 19.638356l-7.013699 16.832877h255.29863c19.638356 0 35.068493 15.430137 35.068493 35.068493v314.213698c0 11.221918-5.610959 22.443836-15.430137 29.457535-9.819178 7.013699-22.443836 7.013699-33.665753 2.805479L897.753425 587.747945c-1.40274 0-1.40274-1.40274-2.80548-1.40274-2.805479-1.40274-7.013699-4.208219-11.221918-5.610958h-1.402739c-7.013699-2.805479-14.027397-2.805479-21.041096-2.80548-37.873973 0-68.734247 30.860274-68.734247 68.734247s30.860274 68.734247 68.734247 68.734246c7.013699 0 14.027397-1.40274 19.638356-2.805479 7.013699-1.40274 12.624658-5.610959 18.235616-8.416439 1.40274-1.40274 2.805479-1.40274 4.20822-2.805479l53.304109-25.249315c11.221918-5.610959 23.846575-4.208219 33.665754 1.40274s16.832877 18.235616 16.832876 29.457534V981.917808c0 19.638356-15.430137 35.068493-35.068493 35.068493z m-677.523288-70.136986h642.454795v-182.356164h-1.40274c-11.221918 7.013699-22.443836 12.624658-35.068493 16.832876h-1.40274c-12.624658 4.208219-26.652055 5.610959-39.276712 5.610959-77.150685 0-138.871233-63.123288-138.871233-138.871233 0-77.150685 63.123288-138.871233 138.871233-138.871232 14.027397 0 28.054795 2.805479 42.082192 7.013698 1.40274 0 2.805479 1.40274 4.208219 1.40274 7.013699 2.805479 14.027397 5.610959 19.638356 8.416438l9.819178 4.208219v-224.438356H662.093151c-11.221918 0-22.443836-5.610959-29.457535-15.430137-7.013699-9.819178-7.013699-22.443836-2.805479-33.665753l29.457534-67.331507c0-1.40274 1.40274-1.40274 1.40274-2.805479 1.40274-2.805479 4.208219-7.013699 5.610959-11.221918v-1.40274c2.805479-7.013699 2.805479-14.027397 2.805479-21.041096 0-37.873973-30.860274-68.734247-68.734246-68.734246s-68.734247 30.860274-68.734247 68.734246c0 7.013699 1.40274 14.027397 2.80548 19.638356 1.40274 7.013699 5.610959 12.624658 8.416438 18.235617 1.40274 1.40274 1.40274 2.805479 2.805479 4.208219l28.054795 60.317808c5.610959 11.221918 4.208219 23.846575-1.40274 33.665754s-18.235616 16.832877-29.457534 16.832876H294.575342v274.936987c0 11.221918-5.610959 22.443836-15.430137 29.457534-9.819178 7.013699-22.443836 7.013699-33.665753 2.805479L192.175342 589.150685c-1.40274 0-1.40274-1.40274-2.805479-1.40274-2.805479-1.40274-7.013699-4.208219-11.221918-5.610959h-1.40274c-7.013699-2.805479-14.027397-2.805479-21.041095-2.805479-37.873973 0-68.734247 30.860274-68.734247 68.734246s30.860274 68.734247 68.734247 68.734247c7.013699 0 14.027397-1.40274 19.638356-2.805479 7.013699-1.40274 12.624658-5.610959 18.235616-8.416439 1.40274-1.40274 2.805479-1.40274 4.208219-2.805479l46.290411-22.443836c11.221918-5.610959 23.846575-4.208219 33.665754 1.40274 9.819178 7.013699 16.832877 18.235616 16.832876 29.457534v235.660274z" p-id="5113"></path></svg>
</template>

View File

@ -56,7 +56,7 @@
</div>
<p>{{ file.name }}</p>
</div>
<div v-for="item in data" :key="item[fileProps.fileName]" class="pi-file-select__item"
<div v-for="item in data" :key="item[fileProps.id]" class="pi-file-select__item"
:class="{active: active(item) }" @click="select(item)">
<div class="pi-file-select__item__file">
<div class="pi-file-select__item__checkbox" v-if="multiple">
@ -110,7 +110,7 @@ import assetConfig from "@/config/asset"
import saveDialog from "./save.vue";
import moveDialog from "./move.vue";
import * as imageConversion from 'image-conversion';
import {ref, onMounted, nextTick, getCurrentInstance, computed} from "vue"
import {ref, onMounted, nextTick, getCurrentInstance} from "vue"
import tools from "@/utils/tools"
import config from "@/config"
@ -164,7 +164,7 @@ async function open() {
async function getMenu() {
menuLoading.value = true
const res = await assetConfig.menuListObj();
const res = await assetConfig.menuListObj({type: props.type});
menu.value = tools.makeTreeData(res.data, 0, "category_id")
menu.value.unshift({
'category_id': 0,
@ -269,10 +269,12 @@ function moveFile() {
async function moveSuccess(category_id) {
const _value = JSON.parse(JSON.stringify(value.value))
const ids = props.multiple ? _value.map(i=>i[assetConfig.fileProps.id]) :[ _value[assetConfig.fileProps.id]];
const ids = props.multiple ? _value.map(i => i[assetConfig.fileProps.id]) : [_value[assetConfig.fileProps.id]];
if (!ids) return;
const res = await assetConfig.moveFileObj({ids: ids, category_id: category_id});
proxy.$message.success(res.msg)
//
value.value = props.multiple ? [] : ''
getData()
}
@ -348,14 +350,14 @@ function uploadError(err) {
function editCategory(data) {
dialog.value.save = true
nextTick(() => {
saveRef.value.open('edit', menu.value, data)
saveRef.value.setType(props.type).setMenu(menu.value).open('edit', data)
})
}
function addCategory() {
dialog.value.save = true
nextTick(() => {
saveRef.value.open('add', menu.value, null, menuRef.value.getCurrentKey())
saveRef.value.setType(props.type).setMenu(menu.value).open('add', null, menuRef.value.getCurrentKey())
})
}
@ -383,8 +385,6 @@ async function delCategory() {
var node = menuRef.value.getNode(item)
if (node == null) {
reload()
} else if (node.isCurrent) {
saveRef.value.setData({})
}
menuRef.value.remove(item)
})

View File

@ -25,6 +25,7 @@ import assetConfig from "@/config/asset"
import {getCurrentInstance, ref} from "vue"
defineExpose({
setType,
open
})
@ -45,7 +46,8 @@ let form = ref({
category_id: null,
category_name: "",
pid: 0,
rank: 1
rank: 1,
type: ""
})
let rules = ref({
category_name: [
@ -59,12 +61,9 @@ let menuProps = ref({
checkStrictly: true
})
function open(_mode = 'add', _menu = null, data = null, pid=null) {
function open(_mode = 'add', data = null, pid = null) {
mode.value = _mode;
visible.value = true;
if (_menu) {
menu.value = _menu
}
if (pid) {
form.value.pid = pid
}
@ -73,6 +72,16 @@ function open(_mode = 'add', _menu = null, data = null, pid=null) {
}
}
function setType(type) {
form.value.type = type
return {open, setMenu};
}
function setMenu(_menu) {
menu.value = _menu
return {open, setType};
}
async function submit() {
//
const validate = await formRef.value.validate().catch(() => {

View File

@ -8,7 +8,6 @@ export default class ExtImage implements IButtonMenu{
// 执行逻辑
exec(editor: IDomEditor, value?: any) {
console.log(editor.getConfig()?.MENU_CONF?.headerSelect)
const fn = editor.getConfig()?.MENU_CONF?.extImage?.callback
if (fn) fn()
}

View File

@ -1,5 +1,5 @@
<template>
<el-dialog :title="titleMap[mode]" v-model="visible" :width="1200" destroy-on-close @closed="$emit('closed')">
<el-dialog :title="titleMap[mode]" v-model="visible" :width="600" destroy-on-close @closed="$emit('closed')">
<el-form :model="form" :rules="rules" :disabled="mode==='show'" ref="formRef" label-width="100px">
<el-form-item label="任务名称" prop="crontab_name">
<el-input type="text" v-model="form.crontab_name" placeholder="请输入任务名称" clearable></el-input>
@ -20,8 +20,7 @@
<el-switch v-model="form.enable" :active-value="1" :inactive-value="0"></el-switch>
</el-form-item>
<el-form-item label="备注" prop="memo">
<pi-editor v-model="form.memo" placeholder="请输入备注"></pi-editor>
<!-- <el-input type="textarea" v-model="form.memo" placeholder="请输入备注" clearable></el-input>-->
<el-input type="textarea" v-model="form.memo" placeholder="请输入备注" clearable></el-input>
</el-form-item>
</el-form>
<template #footer>

View File

@ -0,0 +1,16 @@
<template>
<section class="panel">
<el-main>
</el-main>
</section>
</template>
<script setup>
</script>
<style scoped>
.panel {
flex: 1;
}
</style>

View File

@ -0,0 +1,22 @@
<template>
<el-container class="pi-panel">
<el-main class="main">
<left-panel></left-panel>
<el-divider direction="vertical" style="height: 100%"/>
<center-panel></center-panel>
<el-divider direction="vertical" style="height: 100%"/>
<right-panel></right-panel>
</el-main>
</el-container>
</template>
<script setup>
import leftPanel from "./left"
import centerPanel from "./center"
import rightPanel from "./right"
</script>
<style scoped>
.main {display: flex;}
</style>

View File

@ -0,0 +1,287 @@
<template>
<section class="panel">
<div class="title">
<el-text>
<el-icon>
<component :is="'pi-icon-zu-jian'"/>
</el-icon>
输入组件
</el-text>
</div>
<draggable v-model="inputComps" animation="200" item-key="id" class="go-base" :group="group" :sort="false"
:clone="cloneField">
<template #item="{ element }">
<div class="item">
<div class="tips">松开鼠标组件将添加到此处</div>
<div class="comp">
<el-icon size="20">
<component :is="element.icon"/>
</el-icon>
{{ element.title }}
</div>
</div>
</template>
</draggable>
<div class="title">
<el-text>
<el-icon>
<component :is="'pi-icon-zu-jian'"/>
</el-icon>
选择组件
</el-text>
</div>
<draggable v-model="choiceComps" animation="200" item-key="id" class="go-base" :group="group" :sort="false"
:clone="cloneField">
<template #item="{ element }">
<div class="item">
<div class="tips">松开鼠标组件将添加到此处</div>
<div class="comp">
<el-icon size="20">
<component :is="element.icon"/>
</el-icon>
{{ element.title }}
</div>
</div>
</template>
</draggable>
<div class="title">
<el-text>
<el-icon>
<component :is="'pi-icon-zu-jian'"/>
</el-icon>
布局组件
</el-text>
</div>
<draggable v-model="layoutComps" animation="200" item-key="id" class="go-base" :group="group" :sort="false"
:clone="cloneField">
<template #item="{ element }">
<div class="item">
<div class="tips">松开鼠标组件将添加到此处</div>
<div class="comp">
<el-icon size="20">
<component :is="element.icon"/>
</el-icon>
{{ element.title }}
</div>
</div>
</template>
</draggable>
<div class="title">
<el-text>
<el-icon>
<component :is="'pi-icon-zu-jian'"/>
</el-icon>
内置组件
</el-text>
</div>
<draggable v-model="systemComps" animation="200" item-key="id" class="go-base" :group="group" :sort="false"
:clone="cloneField">
<template #item="{ element }">
<div class="item">
<div class="tips">松开鼠标组件将添加到此处</div>
<div class="comp">
<el-icon size="20">
<component :is="element.icon"/>
</el-icon>
{{ element.title }}
</div>
</div>
</template>
</draggable>
</section>
</template>
<script setup>
import draggable from 'vuedraggable'
const group = {name: 'base', pull: 'clone', put: false}
const inputComps = [{
id: "i1",
title: "单行文本",
icon: "pi-icon-line-input",
name: "text",
props: {}
}, {
id: "i2",
title: "多行文本",
icon: "pi-icon-multi-input",
name: "textarea",
props: {}
}, {
id: "i3",
title: "密码",
icon: "pi-icon-lock",
name: "password",
props: {}
}, {
id: "i4",
title: "计数器",
icon: "pi-icon-number-input",
name: "number",
props: {}
}]
const choiceComps = [{
id: "c1",
title: "下拉组件",
icon: "pi-icon-select",
name: "select",
props: {}
}, {
id: "c2",
title: "级联组件",
icon: "pi-icon-cascader",
name: "cascader",
props: {}
}, {
id: "c3",
title: "单选组件",
icon: "pi-icon-radio",
name: "radio",
props: {}
}, {
id: "c4",
title: "多选组件",
icon: "pi-icon-checkbox",
name: "checkbox",
props: {}
}, {
id: "c5",
title: "开关",
icon: "pi-icon-switch",
name: "switch",
props: {}
}, {
id: "c6",
title: "滑块",
icon: "pi-icon-slider",
name: "slider",
props: {}
}, {
id: "c7",
title: "时间选择",
icon: "pi-icon-time-picker",
name: "time",
props: {}
}, {
id: "c8",
title: "时间范围",
icon: "pi-icon-time-range",
name: "timerange",
props: {}
}, {
id: "c9",
title: "日期选择",
icon: "pi-icon-date-picker",
name: "date",
props: {}
}, {
id: "c10",
title: "日期范围",
icon: "pi-icon-date-range",
name: "daterange",
props: {}
}, {
id: "c11",
title: "评分",
icon: "pi-icon-rate",
name: "rate",
props: {}
}, {
id: "c12",
title: "颜色选择",
icon: "pi-icon-color-picker",
name: "color",
props: {}
}, {
id: 'c13',
title: "上传",
icon: "pi-icon-upload-file",
name: "upload",
props: {}
}]
const layoutComps = [{
id: 'l1',
title: "行容器",
icon: "pi-icon-row-layout",
name: "layout",
props: {}
}, {
id: 'l2',
title: "按钮",
icon: "pi-icon-button",
name: "button",
props: {}
}];
const systemComps = [{
id: 's1',
title: "资源选择",
icon: "pi-icon-asset-choice",
name: "asset",
props: {}
},{
id: 's2',
title: "图标选择",
icon: "pi-icon-icon-choice",
name: "icon",
props: {}
}]
function cloneField(e) {
const field = JSON.parse(JSON.stringify(e));
field.id = field.id + this.num;
this.num++
return field
}
</script>
<style lang="scss" scoped>
.panel {
width: 260px;
.title {
margin-bottom: 10px;
i {
margin-right: 5px;
}
}
}
.go-base {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 10px;
.item {
width: 125px;
font-size: 12px;
cursor: move;
background: #f6f7ff;
border: 1px dashed #f6f7ff;
border-radius: 3px;
margin-bottom: 10px;
.comp {
display: flex;
align-items: center;
height: 32px;
padding: 0 10px;
i {
margin-right: 5px;
}
}
.tips {
display: none;
}
}
.item:hover {
border: 1px dashed #787be8;
color: #787be8;
}
}
</style>

View File

@ -0,0 +1,13 @@
<template>
<section class="panel">
13213
</section>
</template>
<script setup>
</script>
<style scoped>
.panel {width: 350px}
</style>