vue2-client 1.8.88 → 1.8.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Change Log
2
2
  > 所有关于本项目的变化都在该文档里。
3
3
 
4
+ **1.8.90 -2024-3-9 @江超**
5
+ - 增加XAddForm自定义组表单项处理
6
+
7
+ **1.8.89 -2024-3-9 @张振宇**
8
+ - XTree 自定义字段取值修改
9
+ - XForm realJsonData 筛选逻辑修改
10
+
4
11
  **1.8.88 -2024-3-8 @张振宇**
5
12
  - XTree 可以自定义字段key了
6
13
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.8.88",
3
+ "version": "1.8.90",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
@@ -1,16 +1,16 @@
1
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 838.4997558593744 793.4999847412107" width="838.4997558593744" height="793.4999847412107">
2
- <!-- svg-source:excalidraw -->
3
- <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXElvI8dcdTAwMTW++1dcYvJ1RNe++CaR2qXZNPKMJjZcdTAwMDYtsrmMmmyabC2UMZfEcVx1MDAxMFx1MDAwM0FcdTAwMDLEycWBY1x1MDAwNDGQS1x1MDAxMlx1MDAxZoJcdTAwMDCGXHUwMDAz5M9kZpx/kVdNit3sjc1N0jhD2Fx1MDAwM6m7Wf2q6r3vfd+rKn3yztLSstdr28vvLy3bXHUwMDE3ZctpVDrW+fJcdTAwMWRz/czudFx1MDAxYm5cdTAwMGJuXHUwMDEx//eue9op+0/WPa/dff+994JvXHUwMDE0ym6z/y3bsZt2y+vCcz+B35eWPvH/XHK9p2OXPatVc2z/XHUwMDBi/q3gVYJHL951W/5bMeeaS6a0XHUwMDFhPtHoluB1nl2B21XL6drBXHUwMDFkc2nZ7ZRFy3F3Lrpb9Ky019vrdc+KwVurXHLHOfB6Tr9PVrl+2lx02dT1Ou6J/bhR8erm7ZHrw+91XVx1MDAxOIHgW1x1MDAxZPe0Vm/Z3e7VsPlX3bZVbng901x1MDAwZULDq/1BeH8puHJcdTAwMDG/rVxiQlx1MDAwYlx1MDAxY1OkXHUwMDE5XHUwMDE3QsP/w9umgVx1MDAxNcwoLiipkSBSMcWojJhWdFx1MDAxZLdjTHuXaY64XGaMO7bKJzWwsFVcdTAwMTk+43WsVrdtdWDKgufOXHUwMDA3nSZCXHUwMDE1XHUwMDEwfCjiWHIp9fCJut2o1T14RMqCNlx1MDAxZkIlXHUwMDEyiLOQMbY/L1x1MDAxOK5rXGYtXHUwMDA13TAmtLcrvot8XHUwMDE0XHUwMDFk17rVaVx1MDAwZsZv2Tc1ZL75dT3qX2FcdTAwMWZcdTAwMGLN/bn1+IPm1lx1MDAxMVuvs8era2s7SD5prlxy21x1MDAxYXFIq9Nxz5eHd15cZn5cbkw7bVesvpdhIVx1MDAxOEKEKJiZYHqdRutcdTAwMDRutk5cdTAwMWQnuOaWT1x1MDAwMsf0r764M1x1MDAxYVx1MDAxMH1D11x1MDAwZtdOXGIt0+36prt9uVvcquqdnaDTV0Z69kVohnxH4VxuXHUwMDE1XHUwMDEwOFxupZxiXHSTXHUwMDEwdVx1MDAxNIxcblTC4FNFYnOLVcJssiznnJd33XTYTet+XHUwMDAzh1x1MDAxNkwjToVcZmAoQC9Oolx1MDAxN4foJVx1MDAxOFOKYJ5cdTAwMDe9JnL0M7zh6JWV59aTYvuhKjYvyO52dV6Ojlx1MDAxNVFcYk/g6IHfXHUwMDFhf4V3/udfX7/8+Tcvf/3TV7/7tmR5VshcdTAwMGbclnfQuDSWXHUwMDExNXJ1w2o2nN7I9JvmVp1GzYzysmNXvZHk4TUgXHUwMDExXHJve2477JVdXHUwMDFizDZvoYFcdTAwMGaU4S1cdTAwMTZcXO1sV6L9cTuNWqNlOY/SOpBcdTAwMTHL2XNcdTAwMTGZh9FgZlpcdTAwMTUk05pcIkGxgv9cIsFMOfdRXHUwMDFmYXhKKMliXHUwMDExLVxuSFx1MDAwMlx1MDAxMFx1MDAwMFx1MDAwZSBOtJZcdTAwMDFcdTAwMTRcdTAwMGbjXHUwMDFiU1x1MDAxZq5cdTAwMTVAOTGNXHUwMDA0yfZtuKeEO1x1MDAwNt5BXHSFzifEO1x0TUM04M1EUMZYkPfyXHUwMDA3/IhDxrNcdTAwMGZhSPFpgrLtNqKIXHUwMDEy/LRcdTAwMTRMvv/L8OeP7iQ+nepv5lx1MDAxM/O0oLVcdTAwMTjqOFbXK7rNZsODbt43Jka70/WsjrfWaFVcdTAwMWGtXHUwMDFh3Fx1MDAwYlDwim5u50ilPriUT033UVx1MDAwMXPGXHUwMDE5xkxcdTAwMTLClZKChp6qWW0z2KzAIdpcYkFcdTAwMTJRTK468GJolN2qjDfJPVJbW0ertWJcdTAwMTXTbWWX2YFzsJJk0lxu5HLFIYtLXHUwMDAx72SEXHUwMDAx1Y3ZxFxuzFxmquLAhZFcIojGjPJHatXgS922YthcdTAwMDYmh++FXHUwMDEzQlx1MDAxNNBysXVcdTAwMTiXVP+njHKFRYh6jKXrmWN140CSRtcpXHUwMDA3uk6Mq3PO6NCRXHUwMDA2uE0w9UlcdTAwMTjlXHUwMDA0glfjxbF1ilx1MDAxM1x1MDAxMD9EU4aEXFxLwlx1MDAwNaNcdTAwMDF0XVx1MDAwYiGfgafcSW43kVx1MDAxYYfeeH6wv7l+flxctvd3712SfVBKxUZjfLP9L+9cdTAwMWX2Wk7DO7u7Vm6utVx1MDAwZlx1MDAxML04s+2ZzO23u9LDnY9rvdLTPbF376B7Ut+gK9vzomtcdTAwMTQzxIJ5nUmXJI9eLl2idVZEYO3r14SIXHUwMDE46k7G455M35KVsWRFMqqERiyGyj4gp2K11MzX+IFcdTAwMWQ3T1Wu9MOrr7979au/XHUwMDE54v3qj9/88Pc/XHUwMDAxXHUwMDBih9/noVwiytBcdTAwMDO7k6Ejmo1KJZz3QlKCXHUwMDA0QTYqJcYlsai6SOneXGYpmeu0acZcdTAwMTQj4Fx1MDAwZWHtMC4llyi/XFzZ3qDlj9c3elx1MDAxNNcrlydbb0BKJqxcdTAwMDDMTVx1MDAwM79cdTAwMTOYKVx1MDAxOSmMaMVGpJSIWLbglKxCsNVcdTAwMGZbglx1MDAxMKg+KkPJ+lxyTcn9dovVXHUwMDA3ZYeo3sbHrZJuPjrbWX3OXHUwMDFmJrfrh/nMmT75hTmt3dx/pq2jnSo6rFx1MDAxNT84PiQr5NHhxlx1MDAxY0ZhXHUwMDA2XHUwMDA2MT7Tm1RcdTAwMWaq/E6Z6ZOTeEjfMlx1MDAxYb16XHUwMDA1JkpSrDBGeeRtXHUwMDFlr7itWMKFzsRcdTAwMTKpr1x0S0CHJtD7XHUwMDE4lmCqqVlcdTAwMWOgXHUwMDBiwJIsfyRcdTAwMTJcdTAwMGI9gT9On8CNpa+///T197/op8zX3//21Vd/WPqwXHUwMDA1UWT1uu95rmc5r//6y8TEXHUwMDFkyo6zkYFI2lx1MDAxZpMoo2k/wf6o9Vx1MDAxOdQ8XHUwMDFiWcaUXHUwMDE5SVx1MDAwMbhcdTAwMWVRQPlcdTAwMTSASHRxXHRT6pNzYG1cdTAwMDK0K1IxP0RcdTAwMDVNOPB6JKBcdTAwMTFcdTAwMDGUgsXdXHUwMDEyM+IvXHUwMDFjMS6loEKSjCh7S91cdTAwMDeyXHUwMDFjyDtVidSdolRcdTAwMThcdTAwMTZcYuRcdTAwMTRleYosXHUwMDEzMnfwXHI1iZRcdTAwMWNenmuRMd3bzCfmZ0FzsVx1MDAxNDq3KmPuklx1MDAxZSogLYhZs+ZYQ75mXGaHnlx1MDAxYVRcdTAwMTlNkVx1MDAxMVx1MDAxMSEhJFx1MDAxNVx1MDAwNJ1mgycmrDNm48/SSJ1cdTAwMTFzXHIvVExcdIGkmemYVdJcdTAwMWZVgVx1MDAxMeWYXHUwMDBiRK6hzlx1MDAxOFx1MDAwMavQmlx1MDAxYVx1MDAxNWnOTzBVREoywZaAbLJ34yCSQkKYwlx1MDAwNeB7hFxu0G9cdTAwMDSISISEIOSDtim2SFx1MDAxZS75zZuDXHUwMDE0XGJgXHUwMDE05YhcdTAwMDHoUJCSwatC2D+yaUCFSsRcdTAwMDOo01xcwW0qXHUwMDE3UIDMZMxMTbRmPyku5Fx1MDAwZUGIQMQkUlxmKJPAXHUwMDFhKVx1MDAxYY9A6q+eMMlMXHUwMDEy1lx1MDAxMIJT4sJcdPe6vWZ9vS0un9ytr+Gn9UrJSsFcdTAwMDVcdTAwMDRcdTAwMDPFYXalmTdcYntcdTAwMTazqr8mclx1MDAwNbdCi5hROVF2QuRYTG5J92bziftxPLlkXCJaZpmGsdj+gWGZRlx1MDAwMjwzzHF+VMue5duKaoKIYP9cbkBChItKqszKXHSSXG4xKkJl5Fx1MDAxYqrScMWZ1ji0oPVGXHUwMDE3aWxxUGpu7Vx1MDAxZTuHat/eqD9rblx1MDAxNPdT2s1XpFlos/Mv0oyrKSV3JGg2RjBnzziZcJJWo6FcIrYzYYgk8HpIXHUwMDFkSuQv0mRP321FXHUwMDEyyFqZSIL7e2dcdTAwMTaOJCCa4khcdTAwMTJauFx1MDAxYWo9JojJtlx1MDAwYoCShTCgqWo0P/z7i5dfftWvbvz3y89cdTAwMWXa3VPHXHUwMDBij23SaspcXIsyY9JitCiTbHBiUObZY5pZh6Gc+Zt8YWKYplLJUY/FVLOCRppTysBrgX/EfY3LcZtzOSow84TCXHUwMDE4UEKHZNL4MkxZXHUwMDEzi1iTh8JNI8TMZVx1MDAxOFx1MDAxOC1cdTAwMGXcKyY6/ffI6NUh1DJcIkG8i0WsoUpwkKnCdr5sOc3fzCfmaXGuPKlEyFGIydzeP6ptXHUwMDE4VWYouWKcXG7OeeipgbRcdTAwMTlcXJhQXz1Xh2t7T93mZqtTsndrx/d541x1MDAxZUuru0hcdTAwMDVyXHUwMDBlQUpGoK4gMceM4P5m+oHswzDQMaOud39cdTAwMTdm6YvJMJSIcD7B/q7ssbpx5EjhXHUwMDE2XHUwMDFh+0Btln5cdTAwMTBXWsY25lxu5Vx1MDAxN19cYkhiJnQoUudcdTAwMDWpXHUwMDEzXHUwMDFjx4irXHUwMDE2zDXVlIg35/jFlHz97HGR1su1Z5qvlzqiXdVcdTAwMGZ7zr1cdTAwMWbdrqzkXsYoR8KuLIVHKLKKbstcdTAwMDJinOLHwbas7Fx1MDAxNci3pFwi7chcYqaKM554ZESn1oGoXHUwMDE0XFwjrFx1MDAxN8AohFbTLdZcdTAwMGW5/bc/e/3FX1x1MDAxZZzand6xXXU79ss/f/ph6/VvPnv53T/7NHpeZz1m2aVcdTAwMTVa7I0ogzGpKKZcZlx1MDAxMrpcdTAwMWLrbEbUZsNLplDQfFQnxMKW0L62RVxmOGjSSS+qxMhyTjyGgWmEiVx1MDAwN9LsbUyPi2lcdTAwMTgmjFx1MDAxOGckacE2voo7XFyykkhpmIU8W/AmlVx0oFx1MDAxOdU0QT1XmbCS5m7mXHUwMDEzd7Tr0Fx0uTk6yFx1MDAwNKIo00CxwESiSFxcJjC/b5iDkpBKaaank1xyk1x1MDAxY1x1MDAwYlx1MDAwMVx1MDAxZkNcblx1MDAxM1AwWIDKjK8h90+FcMTAtSjnTC5ONfThbK0uXHUwMDFm7FRcdTAwMWVox63RZtd6gjr2ZjtcdTAwMTdcdFx1MDAwMerqb1xyXHUwMDFm7KZSkYVMTJR/ZNXsPpFcdTAwMTSRXHUwMDA0XHUwMDEygkVCiW2ic6v/p4CFkVx1MDAwNHdcdTAwMDXviFx1MDAxZFnzb6Zcbj1GMOcj+8nmhVhcdTAwMTRcdTAwMDHDXHT6N83m8M8/97dOf/mPV7//dlx1MDAxZWzjWk+WjlqfXHUwMDE4b2N3R2CRvkOTMGB5jOQv/rNa08O1Umn76bNL0b5Qj1x1MDAxZd89PL09XHUwMDAxkFwi0CnuK3SpKeCkkJFSKiTFXHUwMDAy72t3XHUwMDBlwoYvUJ9cdTAwMTPkZzdcdTAwMTh0XHUwMDE4e4JVwilcdTAwMTamXHUwMDBiXGaQXHUwMDFjKDiSoOJDs3d1hFx1MDAwM1FcdTAwMDFUb1x1MDAxMVvBsySq+ZtcdTAwMDZT7faK5OBoYlx1MDAxOZ9cbp94XHUwMDBm7z9objqkVHV6R48uNp+K02pKKoRRXHUwMDA17WJO0VOBJcahI6fDXG5cdTAwMWFcdTAwMGLRXHUwMDBiKuPHNt+oXHUwMDFkXG6pXHUwMDFlZT4xX4qTqUxQyS79aVx1MDAxY706LP1cdTAwMTGCzW41nkeZNnJM8m1FXHUwMDE2xU3JhFxiwkx1RLCI9tKE9Vx1MDAwZrJhXHUwMDA22kyHSjy3ovJHTJVcdTAwMTlsXHUwMDE017xhYf6lv367lyePN++tbO3Z3Vx1MDAxZd1qXHUwMDFmdot7dff57DtcdTAwMGJmKP2ltDuuUpnckZzmZufoTHOvQGGOaSBcdTAwMTNf0nYs4PQ/k1wiXHUwMDE55ULkUsd5nOK2XHUwMDAyi3+mhFx1MDAxMiYxZyp80n9cdTAwMDAsWF9cdTAwMTew0IRyUMKhXHUwMDEyYE6aS7KIM+NcdTAwMGJhJdNtWFxiqnyrVc/uxGqaXHUwMDE5W1x1MDAxOFx1MDAxNnWuZEzizChUXnUhoVx1MDAwM1NFrUpfXG6UQnKuyVx1MDAwNEuBR9XLp63O6vF9voXLd7eeXHUwMDFmfVDfX731YVx1MDAwYlx1MDAwMWuUXHUwMDA26GGBXGLGNFK9kEr0z85cdTAwMDDxxKBE+MLCXHUwMDE2yyRpXHUwMDExXHUwMDBmW1wiKMxcbtLXLCaAeYQ2WS06bEFG9/06Wlx1MDAwNkhcdTAwMTboU+v9yZT9iEmZXHUwMDAxl6rtQ5QuujSk/T9aM8G+vst2u3ZcIlx1MDAxZd1zXHUwMDBmkXO+t1uqnj3Et//wpVwivrK/WrNcZpVcdTAwMDP9gFOC+9VCJjloIL64eJtpXHTlKlx1MDAxOFx1MDAxNbRcdTAwMDLQcM2b/iZefFx1MDAxZZXBeZT9aGNvkLyeea2iXHUwMDFm1+9cZl6wbLXbXHUwMDA3XHUwMDFlXGb/8lW1Y/msYZ+vxZ3t3ar/Mbjgo4KJP9v06pNcdTAwMTfvvPhcdTAwMWaTkGJcdTAwMTAifQ==<!-- payload-end -->
4
- <defs>
5
- <style>
6
- @font-face {
7
- font-family: "Virgil";
8
- src: url("https://excalidraw.com/Virgil.woff2");
9
- }
10
- @font-face {
11
- font-family: "Cascadia";
12
- src: url("https://excalidraw.com/Cascadia.woff2");
13
- }
14
- </style>
15
- </defs>
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 838.4997558593744 793.4999847412107" width="838.4997558593744" height="793.4999847412107">
2
+ <!-- svg-source:excalidraw -->
3
+ <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXElvI8dcdTAwMTW++1dcYvJ1RNe++CaR2qXZNPKMJjZcdTAwMDYtsrmMmmyabC2UMZfEcVx1MDAxMFx1MDAwM0FcdTAwMDLEycWBY1x1MDAwNDGQS1x1MDAxMlx1MDAxZoJcdTAwMDCGXHUwMDAz5M9kZpx/kVdNit3sjc1N0jhD2Fx1MDAwM6m7Wf2q6r3vfd+rKn3yztLSstdr28vvLy3bXHUwMDE3ZctpVDrW+fJcdTAwMWRz/czudFx1MDAxYm5cdTAwMGJuXHUwMDEx//eue9op+0/WPa/dff+994JvXHUwMDE0ym6z/y3bsZt2y+vCcz+B35eWPvH/XHK9p2OXPatVc2z/XHUwMDBi/q3gVYJHL951W/5bMeeaS6a0XHUwMDFhPtHoluB1nl2B21XL6drBXHUwMDFkc2nZ7ZRFy3F3Lrpb9Ky019vrdc+KwVurXHLHOfB6Tr9PVrl+2lx02dT1Ou6J/bhR8erm7ZHrw+91XVx1MDAxOIHgW1x1MDAxZPe0Vm/Z3e7VsPlX3bZVbng901x1MDAwZULDq/1BeH8puHJcdTAwMDG/rVxiQlx1MDAwYlx1MDAxY1OkXHUwMDE5XHUwMDE3QsP/w9umgVx1MDAxNcwoLiipkSBSMcWojJhWdFx1MDAxZLdjTHuXaY64XGaMO7bKJzWwsFVcdTAwMTk+43WsVrdtdWDKgufOXHUwMDA3nSZCXHUwMDE1XHUwMDEwfCjiWHIp9fCJut2o1T14RMqCNlx1MDAxZkIlXHUwMDEyiLOQMbY/L1x1MDAxOK5rXGYtXHUwMDA13TAmtLcrvot8XHUwMDE0XHUwMDFk17rVaVx1MDAwZsZv2Tc1ZL75dT3qX2FcdTAwMWZcdTAwMGLN/bn1+IPm1lx1MDAxMVuvs8era2s7SD5prlxy21x1MDAxYXFIq9Nxz5eHd15cZn5cbkw7bVesvpdhIVx1MDAxOEKEKJiZYHqdRutcdTAwMDRutk5cdTAwMWQnuOaWT1x1MDAwMsf0r764M1x1MDAxYVx1MDAxMH1D11x1MDAwZtdOXGIt0+36prt9uVvcquqdnaDTV0Z69kVohnxH4VxuXHUwMDE1XHUwMDEwOFxupZxiXHSTXHUwMDEwdVx1MDAxNIxcblTC4FNFYnOLVcJssiznnJd33XTYTet+XHUwMDAzh1x1MDAxNkwjToVcZmAoQC9Oolx1MDAxN4foJVx1MDAxOFOKYJ5cdTAwMDe9JnL0M7zh6JWV59aTYvuhKjYvyO52dV6Ojlx1MDAxNVFcYk/g6IHfXHUwMDFhf4V3/udfX7/8+Tcvf/3TV7/7tmR5VshcdTAwMGbclnfQuDSWXHUwMDExNXJ1w2o2nN7I9JvmVp1GzYzysmNXvZHk4TUgXHUwMDExXHJve2477JVdXHUwMDFizDZvoYFcdTAwMGaU4S1cdTAwMTZcXO1sV6L9cTuNWqNlOY/SOpBcdTAwMTHL2XNcdTAwMTGZh9FgZlpcdTAwMTUk05pcIkGxgv9cIsFMOfdRXHUwMDFmYXhKKMliXHUwMDExLVxuSFx1MDAwMlx1MDAxMFx1MDAwMFx1MDAwZSBOtJZcdTAwMDFcdTAwMTRcdTAwMGbjXHUwMDFiU1x1MDAxZq5cdTAwMTVAOTGNXHUwMDA0yfZtuKeEO1x1MDAwNt5BXHSFzifEO1x0TUM04M1EUMZYkPfyXHUwMDA3/IhDxrNcdTAwMGZhSPFpgrLtNqKIXHUwMDEy/LRcdTAwMTRMvv/L8OeP7iQ+nepv5lx1MDAxM/O0oLVcdTAwMTjqOFbXK7rNZsODbt43Jka70/WsjrfWaFVcdTAwMWGtXHUwMDFh3Fx1MDAwYlDwim5u50ilPriUT033UVx1MDAwMXPGXHUwMDE5xkxcdTAwMTLClZKChp6qWW0z2KzAIdpcYkFcdTAwMTJRTK468GJolN2qjDfJPVJbW0ertWJcdTAwMTXTbWWX2YFzsJJk0lxu5HLFIYtLXHUwMDAx72SEXHUwMDAx1Y3ZxFxuzFxmquLAhZFcIojGjPJHatXgS922YthcdTAwMDYmh++FXHUwMDEzQlx1MDAxNNBysXVcdTAwMTiXVP+njHKFRYh6jKXrmWN140CSRtcpXHUwMDA3uk6Mq3PO6NCRXHUwMDA2uE0w9UlcdTAwMTjlXHUwMDA0glfjxbF1ilx1MDAxM1x1MDAxMD9EU4aEXFxLwlx1MDAwNaNcdTAwMDF0XVx1MDAwYiGfgafcSW43kVx1MDAxYYfeeH6wv7l+flxctvd3712SfVBKxUZjfLP9L+9cdTAwMWX2Wk7DO7u7Vm6utVx1MDAwZlx1MDAxML04s+2ZzO23u9LDnY9rvdLTPbF376B7Ut+gK9vzomtcdTAwMTQzxIJ5nUmXJI9eLl2idVZEYO3r14SIXHUwMDE46k7G455M35KVsWRFMqqERiyGyj4gp2K11MzX+IFcdTAwMWQ3T1Wu9MOrr7979au/XHUwMDE54v3qj9/88Pc/XHUwMDAxXHUwMDBih9/noVwiytBcdTAwMDO7k6Ejmo1KJZz3QlKCXHUwMDA0QTYqJcYlsai6SOneXGYpmeu0acZcdTAwMTQj4Fx1MDAwZWHtMC4llyi/XFzZ3qDlj9c3elx1MDAxNNcrlydbb0BKJqxcdTAwMDDMTVx1MDAwM79cdTAwMTOYKVx1MDAxOSmMaMVGpJSIWLbglKxCsNVcdTAwMGZbglx1MDAxMKg+KkPJ+lxyTcn9dovVXHUwMDA3ZYeo3sbHrZJuPjrbWX3OXHUwMDFmJrfrh/nMmT75hTmt3dx/pq2jnSo6rFx1MDAxNT84PiQr5NHhxlx1MDAxY0ZhXHUwMDA2XHUwMDA2MT7Tm1RcdTAwMWaq/E6Z6ZOTeEjfMlx1MDAxYb16XHUwMDA1JkpSrDBGeeRtXHUwMDFlr7itWMKFzsRcdTAwMTKpr1x0S0CHJtD7XHUwMDE4lmCqqVlcdTAwMWOgXHUwMDBiwJIsfyRcdTAwMTJcdTAwMGI9gT9On8CNpa+///T197/op8zX3//21Vd/WPqwXHUwMDA1UWT1uu95rmc5r//6y8TEXHUwMDFkyo6zkYFI2lx1MDAxZpMoo2k/wf6o9Vx1MDAxOdQ8XHUwMDFiWcaUXHUwMDE5SVx1MDAwMbhcdTAwMWVRQPlcdTAwMTSASHRxXHRT6pNzYG1cdTAwMDK0K1IxP0RcdTAwMDVNOPB6JKBcdTAwMTFcdTAwMDGUgsXdXHUwMDEyM+IvXHUwMDFjMS6loEKSjCh7S91cdTAwMDeyXHUwMDFjyDtVidSdolRcdTAwMThcdTAwMTZcYuRcdTAwMTRleYosXHUwMDEzMnfwXHI1iZRcdTAwMWNenmuRMd3bzCfmZ0FzsVx1MDAxNDq3KmPuklx1MDAxZSogLYhZs+ZYQ75mXGaHnlx1MDAxYVRcdTAwMTlNkVx1MDAxMVx1MDAxMSEhJFx1MDAxNVx1MDAwNJ1mgycmrDNm48/SSJ1cdTAwMTFzXHIvVExcdIGkmemYVdJcdTAwMWZVgVx1MDAxMeWYXHUwMDBiRK6hzlx1MDAxOFx1MDAwMavQmlx1MDAxYVx1MDAxNWnOTzBVREoywZaAbLJ34yCSQkKYwlx1MDAwNeB7hFxu0G9cdTAwMDSISISEIOSDtim2SFx1MDAxZS75zZuDXHUwMDE0XGJgXHUwMDE05YhcdTAwMDHoUJCSwatC2D+yaUCFSsRcdTAwMDOo01xcwW0qXHUwMDE3UIDMZMxMTbRmPyku5Fx1MDAwZUGIQMQkUlxmKJPAXHUwMDFhKVx1MDAxYY9A6q+eMMlMXHUwMDEy1lx1MDAxMIJT4sJcdPe6vWZ9vS0un9ytr+Gn9UrJSsFcdTAwMDVcdTAwMDRcdTAwMDPFYXalmTdcYntcdTAwMTazqr8mclx1MDAwNbdCi5hROVF2QuRYTG5J92bziftxPLlkXCJaZpmGsdj+gWGZRlx1MDAwMjwzzHF+VMue5duKaoKIYP9cbkBChItKqszKXHSSXG4xKkJl5Fx1MDAxYqrScMWZ1ji0oPVGXHUwMDE3aWxxUGpu7Vx1MDAxZTuHat/eqD9rblx1MDAxNPdT2s1XpFlos/Mv0oyrKSV3JGg2RjBnzziZcJJWo6FcIrYzYYgk8HpIXHUwMDFkSuQv0mRP321FXHUwMDEyyFqZSIL7e2dcdTAwMTaOJCCa4khcdTAwMTJauFx1MDAxYWo9JojJtlx1MDAwYoCShTCgqWo0P/z7i5dfftWvbvz3y89cdTAwMWXa3VPHXHUwMDBij23SaspcXIsyY9JitCiTbHBiUObZY5pZh6Gc+Zt8YWKYplLJUY/FVLOCRppTysBrgX/EfY3LcZtzOSow84TCXHUwMDE4UEKHZNL4MkxZXHUwMDEzi1iTh8JNI8TMZVx1MDAxOFx1MDAxOC1cdTAwMGXcKyY6/ffI6NUh1DJcIkG8i0WsoUpwkKnCdr5sOc3fzCfmaXGuPKlEyFGIydzeP6ptXHUwMDE4VWYouWKcXG7OeeipgbRcdTAwMTlcXJhQXz1Xh2t7T93mZqtTsndrx/d541x1MDAxZUuru0hcdTAwMDVyXHUwMDBlQUpGoK4gMceM4P5m+oHswzDQMaOud39cdTAwMTdm6YvJMJSIcD7B/q7ssbpx5EjhXHUwMDE2XHUwMDFh+0Btln5cdTAwMTBXWsY25lxu5Vx1MDAxN19cYkhiJnQoUudcdTAwMDWpXHUwMDEzXHUwMDFjx4irXHUwMDE2zDXVlIg35/jFlHz97HGR1su1Z5qvlzqiXdVcdTAwMGZ7zr1cdTAwMWbdrqzkXsYoR8KuLIVHKLKKbstcdTAwMDJinOLHwbas7Fx1MDAxNci3pFwi7chcYqaKM554ZESn1oGoXHUwMDE0XFwjrFx1MDAxN8AohFbTLdZcdTAwMGW5/bc/e/3FX1x1MDAxZZzand6xXXU79ss/f/ph6/VvPnv53T/7NHpeZz1m2aVcdTAwMTVa7I0ogzGpKKZcZlx1MDAxMrpcdTAwMWLrbEbUZsNLplDQfFQnxMKW0L62RVxmOGjSSS+qxMhyTjyGgWmEiVx1MDAwN9LsbUyPi2lcdTAwMTgmjFx1MDAxOGckacE2voo7XFyykkhpmIU8W/AmlVx0oFx1MDAxOdU0QT1XmbCS5m7mXHUwMDEzd7Tr0Fx0uTk6yFx1MDAwNKIo00CxwESiSFxcJjC/b5iDkpBKaaank1xyk1x1MDAxY1x1MDAwYlx1MDAwMVx1MDAxZkNcblx1MDAxM1AwWIDKjK8h90+FcMTAtSjnTC5ONfThbK0uXHUwMDFm7FRcdTAwMWVox63RZtd6gjr2ZjtcdTAwMTdcdFx1MDAwMerqb1xyXHUwMDFm7KZSkYVMTJR/ZNXsPpFcdTAwMTSRXHUwMDA0XHUwMDEygkVCiW2ic6v/p4CFkVx1MDAwNHdcdTAwMDXviFx1MDAxZFnzb6Zcbj1GMOcj+8nmhVhcdTAwMTRcdTAwMDHDXHT6N83m8M8/97dOf/mPV7//dlx1MDAxZWzjWk+WjlqfXHUwMDE4b2N3R2CRvkOTMGB5jOQv/rNa08O1Umn76bNL0b5Qj1x1MDAxZd89PL09XHUwMDAxkFwi0CnuK3SpKeCkkJFSKiTFXHUwMDAy72t3XHUwMDBlwoYvUJ9cdTAwMTPkZzdcdTAwMTh0XHUwMDE4e4JVwilcdTAwMTamXHUwMDBiXGaQXHUwMDFjKDiSoOJDs3d1hFx1MDAwM1FcdTAwMDFUb1x1MDAxMVvBsySq+ZtcdTAwMDZT7faK5OBoYlx1MDAxOZ9cbp94XHUwMDBm7z9objqkVHV6R48uNp+K02pKKoRRXHUwMDA17WJO0VOBJcahI6fDXG5cdTAwMWFcdTAwMGLRXHUwMDBiKuPHNt+oXHUwMDFkXG6pXHUwMDFlZT4xX4qTqUxQyS79aVx1MDAxY706LP1cdTAwMTGCzW41nkeZNnJM8m1FXHUwMDE2xU3JhFxiwkx1RLCI9tKE9Vx1MDAwZrJhXHUwMDA22kyHSjy3ovJHTJVcdTAwMTlsXHUwMDE017xhYf6lv367lyePN++tbO3Z3Vx1MDAxZd1qXHUwMDFmdot7dff57DtcdTAwMGJmKP2ltDuuUpnckZzmZufoTHOvQGGOaSBcdTAwMTNf0nYs4PQ/k1wiXHUwMDE55ULkUsd5nOK2XHUwMDAyi3+mhFx1MDAxMiYxZyp80n9cdTAwMDAsWF9cdTAwMTew0IRyUMKhXHUwMDEyYE6aS7KIM+NcdTAwMGJhJdNtWFxiqnyrVc/uxGqaXHUwMDE5W1x1MDAxOFx1MDAxNnWuZEzizChUXnUhoVx1MDAwM1NFrUpfXG6UQnKuyVx1MDAwNEuBR9XLp63O6vF9voXLd7eeXHUwMDFmfVDfX731YVx1MDAwYlx1MDAwMWuUXHUwMDA26GGBXGLGNFK9kEr0z85cdTAwMDDxxKBE+MLCXHUwMDE2yyRpXHUwMDExXHUwMDBmW1wiKMxcbtLXLCaAeYQ2WS06bEFG9/06Wlx1MDAwNkhcdTAwMTboU+v9yZT9iEmZXHUwMDAxl6rtQ5QuujSk/T9aM8G+vst2u3ZcIlx1MDAxZd1zXHUwMDBmkXO+t1uqnj3Et//wpVwivrK/WrNcZpVcdTAwMDP9gFOC+9VCJjloIL64eJtpXHTlKlx1MDAxOFx1MDAxNbRcdTAwMDLQcM2b/iZefFx1MDAxZZXBeZT9aGNvkLyeea2iXHUwMDFm1+9cZl6wbLXbXHUwMDA3XHUwMDFlXGb/8lW1Y/msYZ+vxZ3t3ar/Mbjgo4KJP9v06pNcdTAwMTfvvPhcdTAwMWaTkGJcdTAwMTAifQ==<!-- payload-end -->
4
+ <defs>
5
+ <style>
6
+ @font-face {
7
+ font-family: "Virgil";
8
+ src: url("https://excalidraw.com/Virgil.woff2");
9
+ }
10
+ @font-face {
11
+ font-family: "Cascadia";
12
+ src: url("https://excalidraw.com/Cascadia.woff2");
13
+ }
14
+ </style>
15
+ </defs>
16
16
  <rect x="0" y="0" width="838.4997558593744" height="793.4999847412107" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(21.999893188476335 10) rotate(0 134.00001525878895 38.999996185302734)"><path d="M19.5 0 M19.5 0 C105.59 -0.5, 190.75 2.84, 248.5 0 M19.5 0 C72.48 0.89, 124.03 2.08, 248.5 0 M248.5 0 C262.29 -2.75, 265.64 3.83, 268 19.5 M248.5 0 C262.84 -4.35, 271.35 4.03, 268 19.5 M268 19.5 C266.1 28.47, 267.61 40.55, 268 58.5 M268 19.5 C266.77 30.1, 268.3 38.13, 268 58.5 M268 58.5 C268.25 74.9, 258.91 74.33, 248.5 78 M268 58.5 C269.94 67.99, 258.96 75.04, 248.5 78 M248.5 78 C166.8 76.9, 86.42 75.78, 19.5 78 M248.5 78 C160.94 77.18, 73.82 78.67, 19.5 78 M19.5 78 C8.24 74.35, 3.56 67.55, 0 58.5 M19.5 78 C2.27 73.48, 1.88 72.71, 0 58.5 M0 58.5 C1.2 54.34, -0.08 43.28, 0 19.5 M0 58.5 C2.07 48.37, 1.17 36.9, 0 19.5 M0 19.5 C-2.1 2.88, 6.68 3.71, 19.5 0 M0 19.5 C2.15 4.74, 7.9 -2.26, 19.5 0" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(65.49995422363304 31.49993896484375) rotate(0 94.5 20)"><text x="0" y="30" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="start" style="white-space: pre;" direction="ltr">传入参数Data</text></g><g stroke-linecap="round"><g transform="translate(146.7630571236012 86.00006103515625) rotate(0 3.860349272645692 69.03760786011821)"><path d="M1.61 -1.95 C2.4 20.93, 2.81 113.79, 3.62 136.96 M-0.96 3.16 C0.78 26.47, 7.71 117.27, 8.68 140.03" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(146.7630571236012 86.00006103515625) rotate(0 3.860349272645692 69.03760786011821)"><path d="M-6.09 109.01 C-1.74 120.06, 1.55 124.39, 10.16 140.81 M-2.72 110.63 C0.6 117.97, 1.36 126.32, 8.34 138.9" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(146.7630571236012 86.00006103515625) rotate(0 3.860349272645692 69.03760786011821)"><path d="M14.39 107.74 C13.42 119.35, 11.4 124.01, 10.16 140.81 M17.76 109.36 C16.33 116.72, 12.36 125.37, 8.34 138.9" stroke="#495057" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round" transform="translate(10 228.49992752075195) rotate(0 158.5 39)"><path d="M19.5 0 M19.5 0 C110.9 1.28, 200.45 3.04, 297.5 0 M19.5 0 C130.69 -0.61, 241.5 0.84, 297.5 0 M297.5 0 C310.57 -2.56, 313.83 5.87, 317 19.5 M297.5 0 C314.78 2.08, 319.03 1.98, 317 19.5 M317 19.5 C317.16 24.67, 316.86 34.56, 317 58.5 M317 19.5 C316.39 31.3, 315.51 42.69, 317 58.5 M317 58.5 C317.22 75.23, 310.87 76.23, 297.5 78 M317 58.5 C317.29 74.11, 313.76 75.47, 297.5 78 M297.5 78 C234.64 76.3, 173.74 75.31, 19.5 78 M297.5 78 C205.65 78.49, 110.67 76.71, 19.5 78 M19.5 78 C8.77 80.24, -0.34 70.02, 0 58.5 M19.5 78 C3.43 79.43, -4 74.68, 0 58.5 M0 58.5 C-1.22 47.24, 1.97 30.48, 0 19.5 M0 58.5 C0.3 44.05, -1.93 31.64, 0 19.5 M0 19.5 C0.16 5.06, 9.77 -1.22, 19.5 0 M0 19.5 C-3.47 5.92, 3.05 -0.93, 19.5 0" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(46 249.99992752075195) rotate(0 122.5 17.5)"><text x="122.5" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="middle" style="white-space: pre;" direction="ltr">根据Data查询数据</text></g><g stroke-linecap="round" transform="translate(21.500076293945085 457.000061035156) rotate(0 158.5 40)"><path d="M20 0 M20 0 C82.17 0.81, 146.13 1.39, 297 0 M20 0 C98.14 3.32, 175.07 4.16, 297 0 M297 0 C312.85 -1.3, 317.8 5.92, 317 20 M297 0 C314.84 -3.81, 314.82 6.04, 317 20 M317 20 C315.99 39.27, 319.23 49.09, 317 60 M317 20 C318.15 35.19, 316.47 50.33, 317 60 M317 60 C317.1 74.33, 306.63 79.8, 297 80 M317 60 C318.13 73.97, 305.86 80.71, 297 80 M297 80 C221.28 79.14, 151.55 76.66, 20 80 M297 80 C206.66 81.98, 116.44 84.02, 20 80 M20 80 C4.52 80.16, 0.82 76.09, 0 60 M20 80 C9.16 76.58, 4.39 69.84, 0 60 M0 60 C-1.12 47.24, 2.6 25.4, 0 20 M0 60 C0.98 43.46, -1.78 30.63, 0 20 M0 20 C1.72 5.54, 9.39 0.04, 20 0 M0 20 C-3.47 7.21, 5.13 2.96, 20 0" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(76.50007629394509 462.000061035156) rotate(0 103.5 35)"><text x="103.5" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="middle" style="white-space: pre;" direction="ltr">组织查询结果 </text><text x="103.5" y="59" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="middle" style="white-space: pre;" direction="ltr">arrays/total等</text></g><g stroke-linecap="round"><g transform="translate(153.48269834720134 307.9999542236328) rotate(0 1.0919746526446659 71.37524573892358)"><path d="M0.97 1.59 C0.92 25.8, -1.02 119.03, -1.14 142.77 M-1.95 -0.02 C-1.04 23.53, 4.13 114.91, 4.14 138.17" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(153.48269834720134 307.9999542236328) rotate(0 1.0919746526446659 71.37524573892358)"><path d="M-4.75 107.37 C-3.41 116.77, 1.36 123, 6.34 141.27 M-7.13 111.87 C-4.8 114.98, -3.57 123.4, 3.23 137.63" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(153.48269834720134 307.9999542236328) rotate(0 1.0919746526446659 71.37524573892358)"><path d="M15.76 106.71 C11.56 116.43, 10.81 122.84, 6.34 141.27 M13.38 111.22 C11.51 114.67, 8.53 123.22, 3.23 137.63" stroke="#495057" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round"><g transform="translate(164.36975087018686 540.9999084472656) rotate(0 2.2161321658697375 75.94996558740735)"><path d="M1.88 1.85 C1.45 26.32, -0.5 123.91, -0.14 147.93 M-0.54 0.38 C-0.35 25.23, 4.34 126.92, 4.98 151.52" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(164.36975087018686 540.9999084472656) rotate(0 2.2161321658697375 75.94996558740735)"><path d="M-3.68 120.34 C-1.83 136.99, -0.24 146.44, 3.92 153.66 M-4.61 121.98 C-4.4 130.96, -1.52 136.21, 5.66 150.88" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(164.36975087018686 540.9999084472656) rotate(0 2.2161321658697375 75.94996558740735)"><path d="M16.83 119.58 C10.74 136.8, 4.37 146.55, 3.92 153.66 M15.89 121.22 C11.32 130.12, 9.43 135.55, 5.66 150.88" stroke="#495057" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round" transform="translate(19.499954223632358 703.4999847412107) rotate(0 158.5 40)"><path d="M20 0 M20 0 C122.6 -0.3, 220.47 -2.27, 297 0 M20 0 C124.5 -0.87, 227.33 0.37, 297 0 M297 0 C311.74 0.39, 314.64 7.85, 317 20 M297 0 C309.94 2.74, 321.57 2.3, 317 20 M317 20 C316.99 28.72, 315.11 41.67, 317 60 M317 20 C314.77 33.47, 316.21 46.94, 317 60 M317 60 C319.17 76.89, 307.34 83.46, 297 80 M317 60 C315.94 74.95, 308.65 81.56, 297 80 M297 80 C194.87 77.36, 91.4 74.91, 20 80 M297 80 C199.87 75.36, 103.48 77.79, 20 80 M20 80 C9.7 81.97, -0.82 73.15, 0 60 M20 80 C7.65 84.16, 4.19 70.21, 0 60 M0 60 C-1.49 51.89, 1.42 38.35, 0 20 M0 60 C-0.15 51.62, -0.05 43.02, 0 20 M0 20 C0.76 10.21, 3.5 -3.38, 20 0 M0 20 C3.33 7.27, 6.27 3.91, 20 0" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(62.49995422363236 725.9999847412107) rotate(0 115.5 17.5)"><text x="115.5" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="middle" style="white-space: pre;" direction="ltr">返回结果集Result</text></g><g stroke-linecap="round"><g transform="translate(290.99992370605423 46.96952930676798) rotate(0 127.702671778947 26.139837041058172)"><path d="M-1.81 1.98 C41.39 10.06, 214.26 41.16, 257.22 48.88 M2.4 0.59 C45.43 8.97, 213.24 43.4, 255.1 51.69" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(290.99992370605423 46.96952930676798) rotate(0 127.702671778947 26.139837041058172)"><path d="M228.27 56.48 C230.02 53.99, 236.02 52.42, 251.5 48.09 M226.11 54.87 C234.71 55.76, 247.23 52.33, 253.26 50.46" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(290.99992370605423 46.96952930676798) rotate(0 127.702671778947 26.139837041058172)"><path d="M232.33 36.36 C233.22 38.41, 238.29 41.43, 251.5 48.09 M230.17 34.75 C237.51 42.65, 248.62 46.24, 253.26 50.46" stroke="#c92a2a" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round" transform="translate(553.9999389648432 72.99993515014648) rotate(0 134.00001525878895 40)"><path d="M20 0 M20 0 C101.4 -0.71, 186.55 1.63, 248 0 M20 0 C79.14 -2.22, 138.39 -4.25, 248 0 M248 0 C262.69 -2.16, 264.27 9.37, 268 20 M248 0 C262.21 0.58, 267.87 5.53, 268 20 M268 20 C265.47 38.52, 268.9 49.57, 268 60 M268 20 C267.66 33, 269.89 43.69, 268 60 M268 60 C265.47 76.33, 259.65 83.87, 248 80 M268 60 C272.2 76.61, 263.07 81.58, 248 80 M248 80 C201.03 75.11, 147.15 74.73, 20 80 M248 80 C170.64 82.72, 91.81 80.94, 20 80 M20 80 C4.79 81.74, -3.5 75.87, 0 60 M20 80 C2.39 84.04, -3.75 77.36, 0 60 M0 60 C4.15 47.01, -0.78 38.45, 0 20 M0 60 C1.41 46.25, -0.71 33.05, 0 20 M0 20 C-2.16 3.21, 3.69 -2.84, 20 0 M0 20 C-0.84 4.54, 5.89 -0.59, 20 0" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(564.4999542236321 77.99993515014648) rotate(0 123.5 35)"><text x="123.5" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="middle" style="white-space: pre;" direction="ltr">调用Querybefore处</text><text x="123.5" y="59" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="middle" style="white-space: pre;" direction="ltr">理并返回Data</text></g><g stroke-linecap="round"><g transform="translate(549.9999237060542 117.99999237060547) rotate(0 -193.69374129965888 52.07656196191908)"><path d="M-0.54 0.38 C-64.41 17.26, -320.9 86.05, -385.1 103.67 M-4.27 -1.88 C-68.27 16.49, -322.99 87.52, -386.85 106.03" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(549.9999237060542 117.99999237060547) rotate(0 -193.69374129965888 52.07656196191908)"><path d="M-361.98 89.75 C-371.22 92.8, -373.46 92.97, -390.83 108.57 M-364.48 90.46 C-367.05 91.52, -372.24 94.62, -388.29 104.7" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(549.9999237060542 117.99999237060547) rotate(0 -193.69374129965888 52.07656196191908)"><path d="M-356.38 109.49 C-367.27 107.92, -370.81 103.5, -390.83 108.57 M-358.88 110.2 C-362.53 106.8, -368.95 105.54, -388.29 104.7" stroke="#c92a2a" stroke-width="1" fill="none"></path></g></g><g transform="translate(340.00007629394486 161.4999771118164) rotate(0 80.5 20)"><text x="0" y="30" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="start" style="white-space: pre;" direction="ltr">把Data更新</text></g><g stroke-linecap="round"><g transform="translate(333.9999084472653 493.3000038313785) rotate(0 111.50646419912574 24.34065105429312)"><path d="M-1.63 -1.02 C34.82 7.51, 182.44 40.73, 219.21 49.22 M2.68 -4.04 C39.99 5.12, 187.63 43.17, 224.64 52.72" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(333.9999084472653 493.3000038313785) rotate(0 111.50646419912574 24.34065105429312)"><path d="M193.33 53.07 C203.98 52.22, 214.48 53.27, 222.97 49.84 M194.13 54.48 C206.13 55.27, 219.3 55.58, 224.46 50.75" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(333.9999084472653 493.3000038313785) rotate(0 111.50646419912574 24.34065105429312)"><path d="M198.45 33.2 C207.2 38.59, 216.07 45.96, 222.97 49.84 M199.25 34.61 C209.48 43.16, 220.63 51.3, 224.46 50.75" stroke="#c92a2a" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round" transform="translate(560.4997253417965 516.9999313354492) rotate(0 134.00001525878895 40)"><path d="M20 0 M20 0 C96.14 3.51, 175 4.43, 248 0 M20 0 C104.03 1.88, 188.76 2.04, 248 0 M248 0 C261.89 1.26, 267.65 9.71, 268 20 M248 0 C260.21 2.83, 265.09 4.34, 268 20 M268 20 C265.04 34.72, 266.55 41.39, 268 60 M268 20 C269.01 27.45, 270.15 37.47, 268 60 M268 60 C268.25 77.08, 263.17 81.34, 248 80 M268 60 C267.11 70.61, 258.89 77.46, 248 80 M248 80 C156.98 77.11, 73.68 77.36, 20 80 M248 80 C193.67 77.31, 142.15 78.05, 20 80 M20 80 C5.48 79.58, -0.4 75.64, 0 60 M20 80 C10.8 80.03, 3.06 69.75, 0 60 M0 60 C-2.05 46.78, 3.2 35.63, 0 20 M0 60 C1.32 51, 0.36 41.02, 0 20 M0 20 C0.32 5.52, 4.64 1.45, 20 0 M0 20 C3.89 8.18, 4.99 2.13, 20 0" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(576.4997406005855 521.9999313354492) rotate(0 118 35)"><text x="118" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="middle" style="white-space: pre;" direction="ltr">调用QueryAfter处</text><text x="118" y="59" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="middle" style="white-space: pre;" direction="ltr">理并返回Result</text></g><g transform="translate(397.99983215331986 654.9999618530271) rotate(0 87.5 20)"><text x="0" y="30" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="start" style="white-space: pre;" direction="ltr">把Result更新</text></g><g stroke-linecap="round"><g transform="translate(562.9999542236322 576.5000152587886) rotate(0 -194.84828739121545 52.56615835860373)"><path d="M-0.34 0.72 C-65.22 18.78, -322.39 88.94, -386.73 106.49 M-3.97 -1.36 C-69.52 15.96, -325.3 83.33, -389.36 101.74" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(562.9999542236322 576.5000152587886) rotate(0 -194.84828739121545 52.56615835860373)"><path d="M-363.85 83.37 C-373.97 90.66, -384.2 101.62, -391.42 98.44 M-365.97 85.74 C-370.99 87.77, -379.92 93.71, -391.14 103.58" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(562.9999542236322 576.5000152587886) rotate(0 -194.84828739121545 52.56615835860373)"><path d="M-358.43 103.16 C-370.41 102.7, -382.75 105.92, -391.42 98.44 M-360.55 105.53 C-366.64 102.23, -377.01 102.87, -391.14 103.58" stroke="#c92a2a" stroke-width="1" fill="none"></path></g></g></svg>
@@ -1,3 +1,3 @@
1
- import CitySelect from './CitySelect'
2
-
3
- export default CitySelect
1
+ import CitySelect from './CitySelect'
2
+
3
+ export default CitySelect
@@ -1,109 +1,109 @@
1
- # 省市区修改组件
2
-
3
- > 下拉框数据从库里查询 divisions_of_china 表
4
- > 省市区数据存储格式
5
-
6
- +---------+-----+------------+--------+--------+----------+
7
- |code |name |provinceCode|cityCode|areaCode|parentCode|
8
- +---------+-----+------------+--------+--------+----------+
9
- |11 |北京市 |NULL |NULL |NULL |NULL |
10
- |1101 |市辖区 |11 |NULL |NULL |11 |
11
- |110101 |东城区 |11 |1101 |NULL |1101 |
12
- |110101001|东华门街道|11 |1101 |110101 |1101 |
13
- |110101002|景山街道 |11 |1101 |110101 |1101 |
14
- +---------+-----+------------+--------+--------+----------+
15
-
16
-
17
- 查询出来之后转成tree 作为数据 (截取了一段数据)
18
-
19
- ```json
20
- [
21
- {
22
- "code": "11",
23
- "name": "北京",
24
- "label": "北京",
25
- "value": "北京",
26
- "children":
27
- [
28
- {
29
- "code": "1101",
30
- "parentcode": "11",
31
- "name": "辖区",
32
- "label": "辖区",
33
- "value": "辖区",
34
- "children":
35
- [
36
- {
37
- "code": "110101",
38
- "parentcode": "1101",
39
- "name": "东城区",
40
- "label": "东城区",
41
- "value": "东城区"
42
- }
43
- ]}]}]
44
- ```
45
-
46
- 可传递参数
47
- ```js
48
- props = {
49
- // 页面渲染内容 默认 省市区街道 四个 所以是4
50
- contexts: {
51
- type: Number,
52
- default: 3
53
- },
54
- placeholder: {
55
- type: String,
56
- default: '请选择省市区'
57
- },
58
- // small lage 输入框大小
59
- size: {
60
- type: String,
61
- default: undefined
62
- },
63
- // 类型 simple / undefined
64
- // simple 就是用的 cascader 不穿就是用的 自己封装的
65
- type: {
66
- type: String,
67
- default: undefined
68
- },
69
- // 框的样式
70
- inputStyle: {
71
- type: Object,
72
- default: () => {
73
- }
74
- },
75
- // 下拉框的样式
76
- dropdownStyle: {
77
- type: Object,
78
- default: () => {
79
- return {
80
- width: '35rem',
81
- padding: '1%'
82
- }
83
- }
84
- },
85
- // 标签的样式
86
- tagStyle: {
87
- type: Object,
88
- default: () => {
89
- return {
90
- fontSize: '0.88rem',
91
- width: '23%',
92
- textAlign: 'left',
93
- margin: '0.5%',
94
- cursor: 'pointer'
95
- }
96
- }
97
- },
98
- // 用于v-model 绑定
99
- value: {
100
- type: String,
101
- default: undefined
102
- },
103
- // 用于v-model 绑定 code :最后一级的code address: 所有级拼接的地址
104
- valueType: {
105
- type: String,
106
- default: 'address'
107
- }
108
- }
109
- ```
1
+ # 省市区修改组件
2
+
3
+ > 下拉框数据从库里查询 divisions_of_china 表
4
+ > 省市区数据存储格式
5
+
6
+ +---------+-----+------------+--------+--------+----------+
7
+ |code |name |provinceCode|cityCode|areaCode|parentCode|
8
+ +---------+-----+------------+--------+--------+----------+
9
+ |11 |北京市 |NULL |NULL |NULL |NULL |
10
+ |1101 |市辖区 |11 |NULL |NULL |11 |
11
+ |110101 |东城区 |11 |1101 |NULL |1101 |
12
+ |110101001|东华门街道|11 |1101 |110101 |1101 |
13
+ |110101002|景山街道 |11 |1101 |110101 |1101 |
14
+ +---------+-----+------------+--------+--------+----------+
15
+
16
+
17
+ 查询出来之后转成tree 作为数据 (截取了一段数据)
18
+
19
+ ```json
20
+ [
21
+ {
22
+ "code": "11",
23
+ "name": "北京",
24
+ "label": "北京",
25
+ "value": "北京",
26
+ "children":
27
+ [
28
+ {
29
+ "code": "1101",
30
+ "parentcode": "11",
31
+ "name": "辖区",
32
+ "label": "辖区",
33
+ "value": "辖区",
34
+ "children":
35
+ [
36
+ {
37
+ "code": "110101",
38
+ "parentcode": "1101",
39
+ "name": "东城区",
40
+ "label": "东城区",
41
+ "value": "东城区"
42
+ }
43
+ ]}]}]
44
+ ```
45
+
46
+ 可传递参数
47
+ ```js
48
+ props = {
49
+ // 页面渲染内容 默认 省市区街道 四个 所以是4
50
+ contexts: {
51
+ type: Number,
52
+ default: 3
53
+ },
54
+ placeholder: {
55
+ type: String,
56
+ default: '请选择省市区'
57
+ },
58
+ // small lage 输入框大小
59
+ size: {
60
+ type: String,
61
+ default: undefined
62
+ },
63
+ // 类型 simple / undefined
64
+ // simple 就是用的 cascader 不穿就是用的 自己封装的
65
+ type: {
66
+ type: String,
67
+ default: undefined
68
+ },
69
+ // 框的样式
70
+ inputStyle: {
71
+ type: Object,
72
+ default: () => {
73
+ }
74
+ },
75
+ // 下拉框的样式
76
+ dropdownStyle: {
77
+ type: Object,
78
+ default: () => {
79
+ return {
80
+ width: '35rem',
81
+ padding: '1%'
82
+ }
83
+ }
84
+ },
85
+ // 标签的样式
86
+ tagStyle: {
87
+ type: Object,
88
+ default: () => {
89
+ return {
90
+ fontSize: '0.88rem',
91
+ width: '23%',
92
+ textAlign: 'left',
93
+ margin: '0.5%',
94
+ cursor: 'pointer'
95
+ }
96
+ }
97
+ },
98
+ // 用于v-model 绑定
99
+ value: {
100
+ type: String,
101
+ default: undefined
102
+ },
103
+ // 用于v-model 绑定 code :最后一级的code address: 所有级拼接的地址
104
+ valueType: {
105
+ type: String,
106
+ default: 'address'
107
+ }
108
+ }
109
+ ```
@@ -1,3 +1,3 @@
1
- import PersonSetting from './PersonSetting'
2
-
3
- export default PersonSetting
1
+ import PersonSetting from './PersonSetting'
2
+
3
+ export default PersonSetting
@@ -1,3 +1,3 @@
1
- import Upload from './Upload'
2
-
3
- export default Upload
1
+ import Upload from './Upload'
2
+
3
+ export default Upload
@@ -13,7 +13,11 @@
13
13
  ref="nativeForm"
14
14
  @afterSubmit="afterSubmit"
15
15
  @onSubmit="onSubmit"
16
- @tempTableModify="tempTableModify"/>
16
+ @tempTableModify="tempTableModify">
17
+ <template slot="groupFormItems" slot-scope="{form, model, rules, modifyModelData}">
18
+ <slot name="groupFormItems" :form="form" :model="model" :rules="rules" :modifyModelData="modifyModelData"></slot>
19
+ </template>
20
+ </x-add-native-form>
17
21
  </a-modal>
18
22
  </template>
19
23
  <script>
@@ -5,6 +5,8 @@
5
5
  ref="selectForm"
6
6
  :zIndex="1001"
7
7
  :model="form"
8
+ :labelCol="{ span: 4 }"
9
+ :wrapperCol="{ span: 14 }"
8
10
  :rules="rules">
9
11
  <a-row :gutter="16">
10
12
  <x-form-item
@@ -37,6 +39,9 @@
37
39
  :env="env"
38
40
  />
39
41
  </a-card>
42
+ <template v-else>
43
+ <slot name="groupFormItems" :form="form" :model="groupItem.model" :rules="rules" :modifyModelData="modifyModelData"></slot>
44
+ </template>
40
45
  </a-row>
41
46
  <a-row :gutter="16" v-for="(item, key) in simpleFormJsonData" :key="'row' + key">
42
47
  <a-card v-if="item.value.length > 0" :title="item.name" :bordered="false" size="small">
@@ -70,8 +75,7 @@ export default {
70
75
  components: {
71
76
  XFormItem
72
77
  },
73
- props: {
74
- },
78
+ props: {},
75
79
  data () {
76
80
  return {
77
81
  // 预览模式
@@ -111,6 +115,8 @@ export default {
111
115
  isKeyHandle: true,
112
116
  // 动态简易表单集合
113
117
  simpleFormJsonData: {},
118
+ // 待修改的数据集
119
+ modifyModelData: {},
114
120
  // 当前环境
115
121
  env: 'prod'
116
122
  }
@@ -164,9 +170,9 @@ export default {
164
170
  this.configName = configName
165
171
  this.configContent = configContent
166
172
  if (typeof formItems === 'string') {
167
- this.formItems = JSON.parse(formItems)
173
+ this.formItems = JSON.parse(formItems)
168
174
  } else {
169
- this.formItems = JSON.parse(JSON.stringify(formItems))
175
+ this.formItems = JSON.parse(JSON.stringify(formItems))
170
176
  }
171
177
  this.viewMode = viewMode
172
178
  this.isHandleFormKey = isHandleFormKey
@@ -188,12 +194,10 @@ export default {
188
194
  // 设置表单分组项目相关参数
189
195
  for (let i = 0; i < this.groupJsonData.length; i++) {
190
196
  const groupItem = this.groupJsonData[i]
191
- if (groupItem.groupItems.length > 0) {
192
- formData[groupItem.model] = {}
193
- for (let j = 0; j < groupItem.groupItems.length; j++) {
194
- const item = groupItem.groupItems[j]
195
- this.setFormProps(formData[groupItem.model], item)
196
- }
197
+ formData[groupItem.model] = {}
198
+ for (let j = 0; j < groupItem.groupItems.length; j++) {
199
+ const item = groupItem.groupItems[j]
200
+ this.setFormProps(formData[groupItem.model], item)
197
201
  }
198
202
  }
199
203
  // 设置动态简易表单项的相关参数
@@ -207,6 +211,7 @@ export default {
207
211
  this.form = formData
208
212
  // 修改场景下对表单项赋值
209
213
  if (modifyModelData && modifyModelData.data) {
214
+ this.modifyModelData = modifyModelData
210
215
  this.files = modifyModelData.files
211
216
  this.images = modifyModelData.images
212
217
  if (Object.keys(modifyModelData.data).length > 0) {
@@ -302,7 +307,8 @@ export default {
302
307
  }
303
308
  this.loading = true
304
309
  for (const key of Object.keys(this.form)) {
305
- if (this.form[key] === null || this.form[key] === '') {
310
+ const value = this.form[key]
311
+ if (value === null || value === '' || (typeof value === 'object' && Object.keys(value).length === 0)) {
306
312
  this.form[key] = undefined
307
313
  }
308
314
  }
@@ -447,7 +453,7 @@ export default {
447
453
  for (let i = 0; i < this.groupJsonData.length; i++) {
448
454
  const item = this.groupJsonData[i]
449
455
  try {
450
- if (item.groupItems.length > 0 && modifyModelData.data[item.model]) {
456
+ if (modifyModelData.data[item.model]) {
451
457
  this.form[item.model] = JSON.parse(modifyModelData.data[item.model])
452
458
  }
453
459
  } catch (e) {
@@ -42,11 +42,13 @@
42
42
  <span
43
43
  :style="advanced && { float: 'right', overflow: 'hidden' } || {} "
44
44
  class="table-page-search-submitButtons">
45
- <a v-if="realJsonData.length > 3" @click="toggleAdvanced">
46
- <span v-show="!advanced"><a-icon type="eye" :style="iconStyle"/>&nbsp;更多条件</span>
47
- <span v-show="advanced"><a-icon type="eye-invisible" :style="iconStyle"/>&nbsp;收起更多</span>
48
- </a>
49
- <a-divider type="vertical"/>
45
+ <template v-if="realJsonData.length > 3">
46
+ <a @click="toggleAdvanced">
47
+ <span v-show="!advanced"><a-icon type="eye" :style="iconStyle"/>&nbsp;更多条件</span>
48
+ <span v-show="advanced"><a-icon type="eye-invisible" :style="iconStyle"/>&nbsp;收起更多</span>
49
+ </a>
50
+ <a-divider type="vertical"/>
51
+ </template>
50
52
  <a-button
51
53
  htmlType="submit"
52
54
  type="primary"
@@ -101,7 +103,7 @@ export default {
101
103
  computed: {
102
104
  // 过滤掉仅用于新增/修改场景的表单项
103
105
  realJsonData: function () {
104
- return this.formItems.filter(item => !item.isOnlyAddOrEdit)
106
+ return this.formItems.filter(item => (!item.isOnlyAddOrEdit && item.type !== 'group') || (item.type === 'group' && item.groupItems.some(groupItem => !groupItem.isOnlyAddOrEdit)))
105
107
  },
106
108
  // 过滤出用于新增/修改场景的表单项
107
109
  groupJsonData: function () {
@@ -6,7 +6,7 @@
6
6
  <a-form-model-item
7
7
  :ref="attr.model"
8
8
  :label="attr.name"
9
- :prop="attr.model">
9
+ :prop="attr.prop ? attr.prop : attr.model">
10
10
  <a-input v-model="form[attr.model]" :disabled="disabled" :placeholder="attr.placeholder ? attr.placeholder : '请输入'+attr.name.replace(/\s*/g, '')"/>
11
11
  </a-form-model-item>
12
12
  </x-form-col>
@@ -17,7 +17,7 @@
17
17
  <a-form-model-item
18
18
  :ref="attr.model"
19
19
  :label="attr.name"
20
- :prop="attr.model">
20
+ :prop="attr.prop ? attr.prop : attr.model">
21
21
  <a-select
22
22
  v-if="!attr.lazyLoad || attr.lazyLoad === 'false'"
23
23
  v-model="form[attr.model]"
@@ -98,7 +98,7 @@
98
98
  <a-form-model-item
99
99
  :ref="attr.model"
100
100
  :label="attr.name"
101
- :prop="attr.model">
101
+ :prop="attr.prop ? attr.prop : attr.model">
102
102
  <a-select
103
103
  v-if="!attr.lazyLoad || attr.lazyLoad === 'false'"
104
104
  v-model="form[attr.model]"
@@ -163,7 +163,7 @@
163
163
  <a-form-model-item
164
164
  :ref="attr.model"
165
165
  :label="attr.name"
166
- :prop="attr.model">
166
+ :prop="attr.prop ? attr.prop : attr.model">
167
167
  <a-radio-group v-model="form[attr.model]">
168
168
  <template v-if="attr.keys">
169
169
  <a-radio v-for="(item,index) in attr.keys" :key="index" :value="item.value">
@@ -189,7 +189,7 @@
189
189
  <x-form-col
190
190
  v-else-if="attr.type === 'rangePicker'"
191
191
  :flex="attr.flex">
192
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
192
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.prop ? attr.prop : attr.model">
193
193
  <a-date-picker
194
194
  v-if="mode === '新增/修改'"
195
195
  v-model="form[attr.model]"
@@ -203,7 +203,7 @@
203
203
  <x-form-col
204
204
  v-else-if="attr.type === 'monthPicker'"
205
205
  :flex="attr.flex">
206
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
206
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.prop ? attr.prop : attr.model">
207
207
  <a-month-picker v-model="form[attr.model]" :disabled="disabled" :show-time="true" valueFormat="YYYY-MM"/>
208
208
  </a-form-model-item>
209
209
  </x-form-col>
@@ -211,7 +211,7 @@
211
211
  <x-form-col
212
212
  v-else-if="attr.type === 'yearPicker'"
213
213
  :flex="attr.flex">
214
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
214
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.prop ? attr.prop : attr.model">
215
215
  <a-date-picker
216
216
  v-model="form[attr.model]"
217
217
  :disabled="disabled"
@@ -228,7 +228,7 @@
228
228
  <x-form-col
229
229
  v-else-if="attr.type === 'datePicker'"
230
230
  :flex="attr.flex">
231
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
231
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.prop ? attr.prop : attr.model">
232
232
  <a-range-picker
233
233
  v-if="mode === '查询'"
234
234
  v-model="form[attr.model]"
@@ -253,7 +253,7 @@
253
253
  <a-form-model-item
254
254
  :ref="attr.model"
255
255
  :label="attr.name"
256
- :prop="attr.model">
256
+ :prop="attr.prop ? attr.prop : attr.model">
257
257
  <a-textarea v-model="form[attr.model]" :disabled="disabled" :placeholder="attr.placeholder ? attr.placeholder : '请输入'+attr.name.replace(/\s*/g, '')" :rows="4"/>
258
258
  </a-form-model-item>
259
259
  </x-form-col>
@@ -268,7 +268,7 @@
268
268
  xl: 24,
269
269
  xxl: 24
270
270
  }">
271
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
271
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.prop ? attr.prop : attr.model">
272
272
  <upload :files="files" :images="images" :model="attr" :service-name="serviceName" @setFiles="setFiles"></upload>
273
273
  </a-form-model-item>
274
274
  </x-form-col>
@@ -276,7 +276,7 @@
276
276
  <x-form-col
277
277
  v-else-if="attr.type === 'citySelect'"
278
278
  :flex="attr.flex">
279
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
279
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.prop ? attr.prop : attr.model">
280
280
  <citySelect v-model="form[attr.model]" ></citySelect>
281
281
  </a-form-model-item>
282
282
  </x-form-col>
@@ -284,7 +284,7 @@
284
284
  <x-form-col
285
285
  v-else-if="attr.type === 'addressSearch'"
286
286
  :flex="attr.flex">
287
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
287
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.prop ? attr.prop : attr.model">
288
288
  <address-search-combobox
289
289
  v-model="searchResult"
290
290
  :resultKeys="{ address: attr.model, coords: `${attr.model}_lng_lat` }"
@@ -297,7 +297,7 @@
297
297
  <x-form-col
298
298
  v-else-if="attr.type === 'personSetting'"
299
299
  :flex="attr.flex">
300
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
300
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.prop ? attr.prop : attr.model">
301
301
  <PersonSetting v-model="form[attr.model]" ></PersonSetting>
302
302
  </a-form-model-item>
303
303
  </x-form-col>
@@ -430,9 +430,9 @@ export default {
430
430
  xs: 24,
431
431
  sm: 24,
432
432
  md: 24,
433
- lg: 12,
434
- xl: 12,
435
- xxl: 8
433
+ lg: 24,
434
+ xl: 24,
435
+ xxl: 24
436
436
  }
437
437
  }
438
438
  if (this.attr.keyName && this.attr.keyName.indexOf('logic@') !== -1) {
@@ -6,7 +6,11 @@
6
6
  <x-add-form
7
7
  ref="xAddForm"
8
8
  @afterSubmit="onAddOrEditSubmitAfterSubmit"
9
- />
9
+ >
10
+ <template slot="groupFormItems" slot-scope="{form, model, rules, modifyModelData}">
11
+ <slot name="groupFormItems" :form="form" :model="model" :rules="rules" :modifyModelData="modifyModelData"></slot>
12
+ </template>
13
+ </x-add-form>
10
14
  <div v-if="crudTitle" class="crud_title">
11
15
  {{ crudTitle }}
12
16
  </div>
@@ -25,7 +25,7 @@ function onSelect (keys, e) {
25
25
  :tree-data="props.treeData"
26
26
  @select="onSelect"
27
27
  :replaceFields="props.replaceFields"
28
- :default-selected-keys="props.treeData.length > 0 ? [props.treeData[0].key] : null"
28
+ :default-selected-keys="props.treeData.length > 0 ? [props.treeData[0][replaceFields.key]] : null"
29
29
  :default-expand-all="true"
30
30
  ></a-directory-tree>
31
31
  </div>
@@ -1,51 +1,51 @@
1
- <template>
2
- <div>
3
- <a-list v-show="!loading" size="small" :data-source="data">
4
- <a-list-item slot="renderItem" slot-scope="item">
5
- <div>
6
- <p><a @click="$emit('openFavorites', item.uuid)">{{ item.question }} </a></p>
7
- <p>{{ item.date }}</p>
8
- </div>
9
- <a class="delete_item">
10
- <a-icon type="close" @click="$emit('saveToFavorites', item.uuid)"/>
11
- </a>
12
- </a-list-item>
13
- </a-list>
14
- </div>
15
- </template>
16
-
17
- <script>
18
- import { indexedDB } from '@vue2-client/utils/indexedDB'
19
-
20
- export default {
21
- name: 'FavoriteList',
22
- data () {
23
- return {
24
- data: [],
25
- loading: false
26
- }
27
- },
28
- mounted () {
29
- this.loadData()
30
- },
31
- methods: {
32
- loadData () {
33
- console.warn(123)
34
- indexedDB.getAll((data) => {
35
- const realData = data.filter(item => item.data && item.data.uuid)
36
- .map(item => item.data)
37
- this.data = realData
38
- })
39
- }
40
- }
41
- }
42
- </script>
43
- <style lang="less" scoped>
44
- .delete_item {
45
- margin-left: 8px;
46
- color: #333;
47
- }
48
- p {
49
- margin: 0
50
- }
51
- </style>
1
+ <template>
2
+ <div>
3
+ <a-list v-show="!loading" size="small" :data-source="data">
4
+ <a-list-item slot="renderItem" slot-scope="item">
5
+ <div>
6
+ <p><a @click="$emit('openFavorites', item.uuid)">{{ item.question }} </a></p>
7
+ <p>{{ item.date }}</p>
8
+ </div>
9
+ <a class="delete_item">
10
+ <a-icon type="close" @click="$emit('saveToFavorites', item.uuid)"/>
11
+ </a>
12
+ </a-list-item>
13
+ </a-list>
14
+ </div>
15
+ </template>
16
+
17
+ <script>
18
+ import { indexedDB } from '@vue2-client/utils/indexedDB'
19
+
20
+ export default {
21
+ name: 'FavoriteList',
22
+ data () {
23
+ return {
24
+ data: [],
25
+ loading: false
26
+ }
27
+ },
28
+ mounted () {
29
+ this.loadData()
30
+ },
31
+ methods: {
32
+ loadData () {
33
+ console.warn(123)
34
+ indexedDB.getAll((data) => {
35
+ const realData = data.filter(item => item.data && item.data.uuid)
36
+ .map(item => item.data)
37
+ this.data = realData
38
+ })
39
+ }
40
+ }
41
+ }
42
+ </script>
43
+ <style lang="less" scoped>
44
+ .delete_item {
45
+ margin-left: 8px;
46
+ color: #333;
47
+ }
48
+ p {
49
+ margin: 0
50
+ }
51
+ </style>
@@ -1,18 +1,18 @@
1
- import { post } from '@vue2-client/services/api/restTools'
2
-
3
- const entityApi = {
4
- // 根据ID查询数据
5
- getById: (entityName, id, data = {}, serviceName = process.env.VUE_APP_SYSTEM_NAME) => {
6
- return post(`/api/${serviceName}/entity/query/${entityName}/${id}`, data)
7
- },
8
- // 根据ID集合查询所有数据
9
- findAllByIds: (entityName, data, serviceName = process.env.VUE_APP_SYSTEM_NAME) => {
10
- return post(`/api/${serviceName}/entity/query/${entityName}`, data)
11
- },
12
- // 查询实体的总数量
13
- getCount: (entityName, serviceName = process.env.VUE_APP_SYSTEM_NAME) => {
14
- return post(`/api/${serviceName}/entity/queryCount/${entityName}`, {})
15
- }
16
- }
17
-
18
- export { entityApi }
1
+ import { post } from '@vue2-client/services/api/restTools'
2
+
3
+ const entityApi = {
4
+ // 根据ID查询数据
5
+ getById: (entityName, id, data = {}, serviceName = process.env.VUE_APP_SYSTEM_NAME) => {
6
+ return post(`/api/${serviceName}/entity/query/${entityName}/${id}`, data)
7
+ },
8
+ // 根据ID集合查询所有数据
9
+ findAllByIds: (entityName, data, serviceName = process.env.VUE_APP_SYSTEM_NAME) => {
10
+ return post(`/api/${serviceName}/entity/query/${entityName}`, data)
11
+ },
12
+ // 查询实体的总数量
13
+ getCount: (entityName, serviceName = process.env.VUE_APP_SYSTEM_NAME) => {
14
+ return post(`/api/${serviceName}/entity/queryCount/${entityName}`, {})
15
+ }
16
+ }
17
+
18
+ export { entityApi }
@@ -1,31 +1,31 @@
1
- /**
2
- * @description: createWaterMark.js 加水印功能
3
- */
4
- let waterMarkDOM
5
-
6
- const clearWaterMark = () => {
7
- if (waterMarkDOM) waterMarkDOM.remove()
8
- }
9
- /**
10
- * @description: 创建水印
11
- * @param waterMarkName 水印内容
12
- */
13
- export default function createWaterMark (waterMarkName) {
14
- clearWaterMark()
15
- if (!waterMarkName) {
16
- return
17
- }
18
- const width = window.parseInt(document.body.clientWidth)
19
- const canvasWidth = width / window.parseInt(width / 320)
20
- const fontFamily = window.getComputedStyle(document.body)['font-family']
21
- const fragment = document.createDocumentFragment()
22
- waterMarkDOM = document.createElement('div')
23
- waterMarkDOM.className = 'water-mark-wrap'
24
- let spanStr = ''
25
- for (let i = 0; i < 100; i++) {
26
- spanStr += `<span class="water-word" style=width:${canvasWidth}px;height:200px;font: ${fontFamily}>${waterMarkName}</span>`
27
- }
28
- waterMarkDOM.innerHTML = spanStr
29
- fragment.appendChild(waterMarkDOM)
30
- document.body.appendChild(fragment)
31
- }
1
+ /**
2
+ * @description: createWaterMark.js 加水印功能
3
+ */
4
+ let waterMarkDOM
5
+
6
+ const clearWaterMark = () => {
7
+ if (waterMarkDOM) waterMarkDOM.remove()
8
+ }
9
+ /**
10
+ * @description: 创建水印
11
+ * @param waterMarkName 水印内容
12
+ */
13
+ export default function createWaterMark (waterMarkName) {
14
+ clearWaterMark()
15
+ if (!waterMarkName) {
16
+ return
17
+ }
18
+ const width = window.parseInt(document.body.clientWidth)
19
+ const canvasWidth = width / window.parseInt(width / 320)
20
+ const fontFamily = window.getComputedStyle(document.body)['font-family']
21
+ const fragment = document.createDocumentFragment()
22
+ waterMarkDOM = document.createElement('div')
23
+ waterMarkDOM.className = 'water-mark-wrap'
24
+ let spanStr = ''
25
+ for (let i = 0; i < 100; i++) {
26
+ spanStr += `<span class="water-word" style=width:${canvasWidth}px;height:200px;font: ${fontFamily}>${waterMarkName}</span>`
27
+ }
28
+ waterMarkDOM.innerHTML = spanStr
29
+ fragment.appendChild(waterMarkDOM)
30
+ document.body.appendChild(fragment)
31
+ }