vue2-client 1.8.92 → 1.8.93
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 +3 -0
- package/package.json +1 -1
- package/src/assets/img/querySlotDemo.svg +15 -15
- package/src/base-client/components/common/CitySelect/index.js +3 -3
- package/src/base-client/components/common/CitySelect/index.md +109 -109
- package/src/base-client/components/common/PersonSetting/index.js +3 -3
- package/src/base-client/components/common/Upload/index.js +3 -3
- package/src/pages/DynamicStatistics/DataTabs.vue +3 -2
- package/src/pages/DynamicStatistics/DynamicTable.vue +39 -10
- package/src/pages/DynamicStatistics/EvaluationArea.vue +10 -5
- package/src/pages/DynamicStatistics/FavoriteList.vue +51 -51
- package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +108 -31
- package/src/pages/DynamicStatistics/SearchBar.vue +18 -20
- package/src/pages/DynamicStatistics/index.vue +58 -54
- package/src/pages/system/ticket/submitTicketSuccess.vue +1 -1
- package/src/services/api/entity.js +18 -18
- package/src/utils/waterMark.js +31 -31
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -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
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<a-row class="data-content">
|
|
3
3
|
<a-row>
|
|
4
|
-
<DynamicTable :table-data="pane.content"></DynamicTable>
|
|
4
|
+
<DynamicTable v-if="pane.key" :title="pane.title" :table-data="pane.content"></DynamicTable>
|
|
5
5
|
</a-row>
|
|
6
6
|
<a-row>
|
|
7
7
|
<ChartSelector :rawData="pane.content" v-if="pane?.content?.length"/>
|
|
8
8
|
</a-row>
|
|
9
|
-
<EvaluationArea :uuid="pane.key" v-if="pane.key"/>
|
|
9
|
+
<EvaluationArea :uuid="pane.key" v-if="pane.key && pane.content"/>
|
|
10
10
|
</a-row>
|
|
11
11
|
</template>
|
|
12
12
|
|
|
@@ -30,6 +30,7 @@ export default {
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
mounted () {
|
|
33
|
+
this.pane = {}
|
|
33
34
|
},
|
|
34
35
|
methods: {
|
|
35
36
|
show (obj) {
|
|
@@ -1,14 +1,35 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="table-main">
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
</
|
|
3
|
+
<template v-if="title">
|
|
4
|
+
<a-table
|
|
5
|
+
v-if="tableData"
|
|
6
|
+
:scroll="{ x: scrollXWidth, y: scrollYHeight }"
|
|
7
|
+
size="middle"
|
|
8
|
+
:columns="tableColumns"
|
|
9
|
+
:dataSource="tableData"
|
|
10
|
+
:rowKey="record => record.id">
|
|
11
|
+
</a-table>
|
|
12
|
+
<a-result
|
|
13
|
+
v-else
|
|
14
|
+
status="error"
|
|
15
|
+
title="请求失败"
|
|
16
|
+
sub-title="这通常是因为网络波动或程序故障导致的"
|
|
17
|
+
>
|
|
18
|
+
|
|
19
|
+
<div class="desc">
|
|
20
|
+
<p style="font-size: 16px;">
|
|
21
|
+
<strong>我如何解决这个问题:</strong>
|
|
22
|
+
</p>
|
|
23
|
+
<p>
|
|
24
|
+
<a-icon :style="{ color: 'red' }" type="close-circle" /> 尝试重新发起请求
|
|
25
|
+
</p>
|
|
26
|
+
<p>
|
|
27
|
+
<a-icon :style="{ color: 'red' }" type="close-circle" /> 调整提问方式
|
|
28
|
+
</p>
|
|
29
|
+
</div>
|
|
30
|
+
</a-result>
|
|
31
|
+
</template>
|
|
32
|
+
</div></template>
|
|
12
33
|
|
|
13
34
|
<script>
|
|
14
35
|
|
|
@@ -26,9 +47,13 @@ export default {
|
|
|
26
47
|
this.initData()
|
|
27
48
|
},
|
|
28
49
|
props: {
|
|
50
|
+
title: {
|
|
51
|
+
type: String,
|
|
52
|
+
default: undefined
|
|
53
|
+
},
|
|
29
54
|
tableData: {
|
|
30
55
|
type: Array,
|
|
31
|
-
default: () =>
|
|
56
|
+
default: () => null
|
|
32
57
|
}
|
|
33
58
|
},
|
|
34
59
|
watch: {
|
|
@@ -42,8 +67,12 @@ export default {
|
|
|
42
67
|
methods: {
|
|
43
68
|
async initData () {
|
|
44
69
|
try {
|
|
70
|
+
if (!this.tableData) {
|
|
71
|
+
return
|
|
72
|
+
}
|
|
45
73
|
// 从数据第一项推断列信息
|
|
46
74
|
if (this.tableData.length === 0) {
|
|
75
|
+
this.tableColumns = []
|
|
47
76
|
return
|
|
48
77
|
}
|
|
49
78
|
const sample = this.tableData[0]
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
<p>您对这次搜索结果满意吗?</p>
|
|
5
5
|
<a-button-group>
|
|
6
6
|
<a-space>
|
|
7
|
-
<a-button type="primary" icon="like" @click="submitEvaluation(
|
|
8
|
-
<a-button type="danger" icon="dislike" @click="submitEvaluation(
|
|
7
|
+
<a-button type="primary" icon="like" @click="submitEvaluation(0)">满意</a-button>
|
|
8
|
+
<a-button type="danger" icon="dislike" @click="submitEvaluation(1)">不满意</a-button>
|
|
9
|
+
<a-button type="default" icon="frown" @click="submitEvaluation(2)">待改进</a-button>
|
|
9
10
|
</a-space>
|
|
10
11
|
</a-button-group>
|
|
11
12
|
</div>
|
|
@@ -35,12 +36,16 @@ export default {
|
|
|
35
36
|
const content = Object.assign(item, {
|
|
36
37
|
evaluation: result
|
|
37
38
|
})
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
// 保存到数据库中
|
|
40
|
+
post('/api/af-system/logic/openapi/updateCommonData', {
|
|
41
|
+
type: 'ai-question',
|
|
42
|
+
content: this.uuid,
|
|
43
|
+
newContent: content
|
|
41
44
|
}).then(res => {
|
|
42
45
|
this.action = true
|
|
43
46
|
this.$message.success('评论成功')
|
|
47
|
+
indexedDB.delete(key)
|
|
48
|
+
indexedDB.add(key, content)
|
|
44
49
|
})
|
|
45
50
|
})
|
|
46
51
|
}
|
|
@@ -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>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<a-list item-layout="horizontal" :data-source="questions">
|
|
6
6
|
<a-list-item
|
|
7
7
|
slot="renderItem"
|
|
8
|
-
:class="item.uuid === currentuuid ? 'question-history-active' : 'question-history-inactive'"
|
|
8
|
+
:class="item.sql ? (item.uuid === currentuuid ? 'question-history-active' : 'question-history-inactive') : (item.uuid === currentuuid ? 'question-history-active-bug' : 'question-history-inactive-bug')"
|
|
9
9
|
slot-scope="item,index"
|
|
10
10
|
@click="handleOpenFavorite(item)">
|
|
11
11
|
<a-list-item-meta
|
|
@@ -13,26 +13,36 @@
|
|
|
13
13
|
:description="item.date"
|
|
14
14
|
/>
|
|
15
15
|
<a-space>
|
|
16
|
-
<a-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
<a-tooltip title="查看元数据">
|
|
17
|
+
<a-icon
|
|
18
|
+
v-if="item.data"
|
|
19
|
+
type="eye"
|
|
20
|
+
@click.stop="openMetaDataModal(item)"/>
|
|
21
|
+
</a-tooltip>
|
|
22
22
|
<span> </span>
|
|
23
|
-
<a-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
<a-tooltip title="删除对话">
|
|
24
|
+
<a-icon
|
|
25
|
+
type="delete"
|
|
26
|
+
theme="filled"
|
|
27
|
+
class="delClass"
|
|
28
|
+
@click.stop="delQuestion(item,index)"/>
|
|
29
|
+
</a-tooltip>
|
|
30
|
+
<span> </span>
|
|
31
|
+
<a-tooltip :title="item.isFavorite ? '取消收藏' : '收藏'" v-if="item.sql">
|
|
32
|
+
<a-icon
|
|
33
|
+
type="star"
|
|
34
|
+
:class="item.isFavorite ? 'startActive' : 'startInactive'"
|
|
35
|
+
@click.stop="toFavorites(item,index)"
|
|
36
|
+
:theme=" item.isFavorite ? 'filled': 'twoTone'"
|
|
37
|
+
two-tone-color="#FFD700"/>
|
|
38
|
+
</a-tooltip>
|
|
39
|
+
<a-tooltip title="重新查询" v-else>
|
|
40
|
+
<a-icon
|
|
41
|
+
@click.stop="reTrySearch(item, index)"
|
|
42
|
+
type="sync"
|
|
43
|
+
class="reSearch"
|
|
44
|
+
title="重新查询"/>
|
|
45
|
+
</a-tooltip>
|
|
36
46
|
</a-space>
|
|
37
47
|
</a-list-item>
|
|
38
48
|
</a-list>
|
|
@@ -49,6 +59,13 @@
|
|
|
49
59
|
:description="item.date"
|
|
50
60
|
/>
|
|
51
61
|
<a-space>
|
|
62
|
+
<a-tooltip title="查看元数据">
|
|
63
|
+
<a-icon
|
|
64
|
+
v-if="item.data"
|
|
65
|
+
type="eye"
|
|
66
|
+
@click.stop="openMetaDataModal(item)"/>
|
|
67
|
+
</a-tooltip>
|
|
68
|
+
<span> </span>
|
|
52
69
|
<a-icon
|
|
53
70
|
type="star"
|
|
54
71
|
:class="item.isFavorite ? 'startActive' : 'startInactive'"
|
|
@@ -60,6 +77,42 @@
|
|
|
60
77
|
</a-list>
|
|
61
78
|
</a-tab-pane>
|
|
62
79
|
</a-tabs>
|
|
80
|
+
<a-modal
|
|
81
|
+
width="1200px"
|
|
82
|
+
title="元数据"
|
|
83
|
+
@cancel="handleCancel"
|
|
84
|
+
:visible="metaDataModalVisible"
|
|
85
|
+
>
|
|
86
|
+
<a-descriptions :column="2" bordered>
|
|
87
|
+
<a-descriptions-item label="uuid">
|
|
88
|
+
{{ item.uuid }}
|
|
89
|
+
</a-descriptions-item>
|
|
90
|
+
<a-descriptions-item label="问题">
|
|
91
|
+
{{ item.question }}
|
|
92
|
+
</a-descriptions-item>
|
|
93
|
+
<a-descriptions-item label="类型">
|
|
94
|
+
{{ item.queryType }}
|
|
95
|
+
</a-descriptions-item>
|
|
96
|
+
<a-descriptions-item label="filterTable">
|
|
97
|
+
{{ item.filterTable }}
|
|
98
|
+
</a-descriptions-item>
|
|
99
|
+
<a-descriptions-item label="relationTable">
|
|
100
|
+
{{ item.relationTable }}
|
|
101
|
+
</a-descriptions-item>
|
|
102
|
+
<a-descriptions-item label="similarTable">
|
|
103
|
+
{{ item.similarTable }}
|
|
104
|
+
</a-descriptions-item>
|
|
105
|
+
<a-descriptions-item label="prompt">
|
|
106
|
+
{{ item.prompt }}
|
|
107
|
+
</a-descriptions-item>
|
|
108
|
+
<a-descriptions-item label="sql">
|
|
109
|
+
{{ item.sql }}
|
|
110
|
+
</a-descriptions-item>
|
|
111
|
+
<a-descriptions-item label="查询日期">
|
|
112
|
+
{{ item.date }}
|
|
113
|
+
</a-descriptions-item>
|
|
114
|
+
</a-descriptions>
|
|
115
|
+
</a-modal>
|
|
63
116
|
</a-card>
|
|
64
117
|
</template>
|
|
65
118
|
|
|
@@ -78,7 +131,10 @@ export default {
|
|
|
78
131
|
return {
|
|
79
132
|
activeKey: '1',
|
|
80
133
|
questions: [], // 你的问题历史
|
|
81
|
-
favorites: [] // 你的收藏问题
|
|
134
|
+
favorites: [], // 你的收藏问题
|
|
135
|
+
// 元数据窗口
|
|
136
|
+
metaDataModalVisible: false,
|
|
137
|
+
item: {}
|
|
82
138
|
}
|
|
83
139
|
},
|
|
84
140
|
mounted () {
|
|
@@ -86,6 +142,8 @@ export default {
|
|
|
86
142
|
},
|
|
87
143
|
methods: {
|
|
88
144
|
loadData () {
|
|
145
|
+
this.questions = []
|
|
146
|
+
this.favorites = []
|
|
89
147
|
indexedDB.getAll((data) => {
|
|
90
148
|
// 遍历data,将question和favorites分别赋值给questions和favorites
|
|
91
149
|
for (const datum of data) {
|
|
@@ -103,7 +161,8 @@ export default {
|
|
|
103
161
|
handleOpenFavorite (item) {
|
|
104
162
|
this.$emit('handleOpenFavorite', item)
|
|
105
163
|
},
|
|
106
|
-
reTrySearch (item) {
|
|
164
|
+
reTrySearch (item, index) {
|
|
165
|
+
this.delQuestion(item, index)
|
|
107
166
|
this.$emit('handleSearch', item.question, null, item.uuid)
|
|
108
167
|
},
|
|
109
168
|
add (question) {
|
|
@@ -119,14 +178,22 @@ export default {
|
|
|
119
178
|
return
|
|
120
179
|
}
|
|
121
180
|
this.questions.push(question)
|
|
181
|
+
this.handleOpenFavorite(question)
|
|
122
182
|
indexedDB.add('question-' + question.uuid, question)
|
|
183
|
+
this.loadData()
|
|
123
184
|
},
|
|
124
185
|
updateQuestion (question) {
|
|
125
186
|
const questionKey = 'question-' + question.uuid
|
|
126
187
|
indexedDB.delete(questionKey)
|
|
127
188
|
indexedDB.add(questionKey, question)
|
|
128
189
|
},
|
|
129
|
-
|
|
190
|
+
openMetaDataModal (item) {
|
|
191
|
+
this.item = item
|
|
192
|
+
this.metaDataModalVisible = true
|
|
193
|
+
},
|
|
194
|
+
handleCancel () {
|
|
195
|
+
this.metaDataModalVisible = false
|
|
196
|
+
},
|
|
130
197
|
toFavorites (question, index) {
|
|
131
198
|
this.questions[index].isFavorite = !this.questions[index].isFavorite
|
|
132
199
|
if (this.questions[index].isFavorite) {
|
|
@@ -138,7 +205,7 @@ export default {
|
|
|
138
205
|
this.$message.success('收藏成功')
|
|
139
206
|
} else {
|
|
140
207
|
// 根据 uuid 删除 favorites 中的对应项
|
|
141
|
-
this.favorites = this.favorites.filter(item => item.uuid !== question.uuid)
|
|
208
|
+
this.favorites = this.favorites.filter(item => item.uuid !== question.uuid).sort((a, b) => new Date(b.date) - new Date(a.date))
|
|
142
209
|
// 删除收藏的储存
|
|
143
210
|
const key = 'favorites-' + question.uuid
|
|
144
211
|
indexedDB.delete(key)
|
|
@@ -153,9 +220,6 @@ export default {
|
|
|
153
220
|
// 删除收藏
|
|
154
221
|
const favoritesKey = 'favorites-' + item.uuid
|
|
155
222
|
indexedDB.delete(favoritesKey)
|
|
156
|
-
// 删除收藏数组中的对应项
|
|
157
|
-
this.favorites = this.favorites.filter(favorite => favorite.uuid !== item.uuid)
|
|
158
|
-
this.$message.success('删除成功')
|
|
159
223
|
},
|
|
160
224
|
delFavorites (item, index) {
|
|
161
225
|
this.favorites.splice(index, 1)
|
|
@@ -189,15 +253,28 @@ export default {
|
|
|
189
253
|
height: 100%;
|
|
190
254
|
border-radius: 8px;
|
|
191
255
|
|
|
256
|
+
.question-history-active-bug {
|
|
257
|
+
border-left: 4px solid #FF0036;
|
|
258
|
+
border-radius: 4px;
|
|
259
|
+
padding: 18px 18px 18px 14px;
|
|
260
|
+
background-color: rgba(#ff0000, 0.04);
|
|
261
|
+
}
|
|
262
|
+
|
|
192
263
|
.question-history-active {
|
|
193
264
|
border-left: 4px solid #1890FF;
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
265
|
+
border-radius: 4px;
|
|
266
|
+
padding: 18px 18px 18px 14px;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.question-history-inactive-bug {
|
|
270
|
+
border-radius: 4px;
|
|
271
|
+
padding : 18px;
|
|
272
|
+
background-color: rgba(#ff0000, 0.04);
|
|
197
273
|
}
|
|
198
274
|
|
|
199
275
|
.question-history-inactive {
|
|
200
|
-
|
|
276
|
+
border-radius: 4px;
|
|
277
|
+
padding : 18px;
|
|
201
278
|
}
|
|
202
279
|
|
|
203
280
|
.ant-list-item-meta /deep/ {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="search-bar">
|
|
3
|
-
<a-select default-value="all" class="select" @change="handleChange">
|
|
3
|
+
<a-select default-value="all" class="select" @change="handleChange" :dropdownMatchSelectWidth="false">
|
|
4
4
|
<a-select-option v-for="d in selectOption" :key="d.value">
|
|
5
5
|
{{ d.text }}
|
|
6
6
|
</a-select-option>
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
|
|
41
41
|
<script>
|
|
42
42
|
import FavoriteList from './FavoriteList.vue'
|
|
43
|
-
import { post } from '@vue2-client/services/api'
|
|
43
|
+
import { get, post } from '@vue2-client/services/api'
|
|
44
44
|
import { debounce } from 'ant-design-vue/lib/vc-table/src/utils'
|
|
45
45
|
|
|
46
46
|
export default {
|
|
@@ -59,29 +59,28 @@ export default {
|
|
|
59
59
|
favoriteListVisible: false,
|
|
60
60
|
loading: false,
|
|
61
61
|
dataSourceResults: [],
|
|
62
|
-
selectOption: [
|
|
63
|
-
|
|
64
|
-
{ value: '合同', text: '合同类' },
|
|
65
|
-
{ value: '项目', text: '项目类' },
|
|
66
|
-
{ value: '人员', text: '人员类' },
|
|
67
|
-
]
|
|
62
|
+
selectOption: [],
|
|
63
|
+
queryType: 'all',
|
|
68
64
|
}
|
|
69
65
|
},
|
|
70
66
|
computed: {
|
|
71
67
|
},
|
|
68
|
+
created () {
|
|
69
|
+
this.selectOption = [
|
|
70
|
+
{ value: 'all', text: '全部' }
|
|
71
|
+
]
|
|
72
|
+
get('/ai/question_types', {}).then(res => {
|
|
73
|
+
for (const item of res) {
|
|
74
|
+
this.selectOption.push({ value: item, text: item })
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
},
|
|
72
78
|
mounted () {
|
|
73
79
|
this.init()
|
|
74
80
|
},
|
|
75
81
|
methods: {
|
|
76
82
|
handleChange (value) {
|
|
77
|
-
|
|
78
|
-
this.searchInput = ''
|
|
79
|
-
} else {
|
|
80
|
-
this.searchInput = value
|
|
81
|
-
}
|
|
82
|
-
this.dataSourceResults = []
|
|
83
|
-
this.fetchFunction(this.searchInput)
|
|
84
|
-
this.$refs.autoComplete.focus()
|
|
83
|
+
this.queryType = value
|
|
85
84
|
},
|
|
86
85
|
fetchFunction (value) {
|
|
87
86
|
this.dataSourceResults = []
|
|
@@ -101,7 +100,6 @@ export default {
|
|
|
101
100
|
this.dataSourceResults = res.map(item => JSON.parse(item.f_json).question)
|
|
102
101
|
.filter((item, index, arr) => arr.indexOf(item) === index)
|
|
103
102
|
.map(item => ({ category: item }))
|
|
104
|
-
console.warn(this.dataSourceResults)
|
|
105
103
|
}
|
|
106
104
|
}).finally(() => {
|
|
107
105
|
this.searching = false
|
|
@@ -112,7 +110,7 @@ export default {
|
|
|
112
110
|
onSearch (value) {
|
|
113
111
|
this.loading = true
|
|
114
112
|
// 触发父组件的搜索事件,传递搜索输入的值
|
|
115
|
-
this.$emit('search', value, () => {
|
|
113
|
+
this.$emit('search', value, this.queryType, () => {
|
|
116
114
|
this.loading = false
|
|
117
115
|
})
|
|
118
116
|
},
|
|
@@ -180,13 +178,13 @@ export default {
|
|
|
180
178
|
font-size: 16px;
|
|
181
179
|
}
|
|
182
180
|
.select {
|
|
183
|
-
width:
|
|
181
|
+
width: 160px;
|
|
184
182
|
height: 48px;
|
|
185
183
|
padding-right: 6px;
|
|
186
184
|
font-size: 16px;
|
|
187
185
|
text-align: center;
|
|
188
186
|
:deep(.ant-select-selection-selected-value) {
|
|
189
|
-
width:
|
|
187
|
+
width: 120px;
|
|
190
188
|
height: 48px;
|
|
191
189
|
line-height: 48px;
|
|
192
190
|
}
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
<a-spin :spinning="loading" tip="正在努力加载..." wrapperClassName="spingclass">
|
|
30
30
|
<!-- 数据展示Tabs -->
|
|
31
31
|
<data-tabs
|
|
32
|
+
v-show="!loading"
|
|
32
33
|
ref="tabs"
|
|
33
34
|
@tab-change="handleTabChange"
|
|
34
35
|
@remove-cache="remove"
|
|
@@ -47,6 +48,7 @@ import DataTabs from './DataTabs.vue'
|
|
|
47
48
|
import { formatDate } from '@vue2-client/utils/util'
|
|
48
49
|
import QuestionHistoryAndFavorites from './QuestionHistoryAndFavorites.vue'
|
|
49
50
|
import { post } from '@vue2-client/services/api'
|
|
51
|
+
import { indexedDB } from '@/utils/indexedDB'
|
|
50
52
|
|
|
51
53
|
export default {
|
|
52
54
|
name: 'DynamicStatistics',
|
|
@@ -65,13 +67,36 @@ export default {
|
|
|
65
67
|
},
|
|
66
68
|
methods: {
|
|
67
69
|
// 处理搜索逻辑,这里简化为直接赋值,实际应调用API
|
|
68
|
-
async handleSearch (value, callback, uuid) {
|
|
69
|
-
this.loading = true
|
|
70
|
+
async handleSearch (value, queryType, callback, uuid) {
|
|
70
71
|
if (!value) {
|
|
71
72
|
this.$message.warn('请先输入查询的数据')
|
|
72
73
|
callback()
|
|
73
74
|
return
|
|
74
75
|
}
|
|
76
|
+
const that = this
|
|
77
|
+
indexedDB.getAll((data) => {
|
|
78
|
+
let evaluation = true
|
|
79
|
+
for (const datum of data) {
|
|
80
|
+
if (datum.key.includes('question')) {
|
|
81
|
+
const item = datum.data
|
|
82
|
+
console.warn(item)
|
|
83
|
+
if (item.evaluation === undefined && item.sql) {
|
|
84
|
+
evaluation = false
|
|
85
|
+
break
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (evaluation) {
|
|
90
|
+
that.handleSearchMain(value, queryType, callback, uuid)
|
|
91
|
+
} else {
|
|
92
|
+
that.$message.warn('请先对已发起的对话进行评价!')
|
|
93
|
+
callback()
|
|
94
|
+
return false
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
},
|
|
98
|
+
handleSearchMain (value, queryType, callback, uuid) {
|
|
99
|
+
this.loading = true
|
|
75
100
|
if (!uuid) {
|
|
76
101
|
uuid = this.uuid()
|
|
77
102
|
}
|
|
@@ -79,74 +104,51 @@ export default {
|
|
|
79
104
|
this.$refs.qhaf.add({
|
|
80
105
|
uuid: uuid,
|
|
81
106
|
question: value,
|
|
107
|
+
queryType: queryType,
|
|
82
108
|
isFavorite: false,
|
|
83
109
|
date: formatDate('now')
|
|
84
110
|
})
|
|
85
|
-
|
|
111
|
+
let url = '/ai/question/'
|
|
112
|
+
if (queryType !== 'all') {
|
|
113
|
+
url = url + queryType + '/'
|
|
114
|
+
}
|
|
115
|
+
post(url, {
|
|
86
116
|
messages: [{
|
|
87
117
|
content: value,
|
|
88
118
|
role: 'user'
|
|
89
119
|
}]
|
|
90
120
|
}).then(res => {
|
|
91
121
|
this.loading = false
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
// name: '张三3',
|
|
107
|
-
// year: '2015',
|
|
108
|
-
// money: Math.floor(Math.random() * 100) + 1,
|
|
109
|
-
// age: Math.floor(Math.random() * 100) + 1
|
|
110
|
-
// },
|
|
111
|
-
// {
|
|
112
|
-
// name: '张三3',
|
|
113
|
-
// year: '2016',
|
|
114
|
-
// money: Math.floor(Math.random() * 100) + 1,
|
|
115
|
-
// age: Math.floor(Math.random() * 100) + 1
|
|
116
|
-
// },
|
|
117
|
-
// {
|
|
118
|
-
// name: '张三3',
|
|
119
|
-
// year: '2017',
|
|
120
|
-
// money: Math.floor(Math.random() * 100) + 1,
|
|
121
|
-
// age: Math.floor(Math.random() * 100) + 1
|
|
122
|
-
// }
|
|
123
|
-
// ]
|
|
122
|
+
const sql = res.sql ? res.sql.replace(/'/g, "''") : null
|
|
123
|
+
const questionInfo = {
|
|
124
|
+
uuid: uuid,
|
|
125
|
+
question: value,
|
|
126
|
+
queryType: queryType,
|
|
127
|
+
filterTable: res.filter_table,
|
|
128
|
+
prompt: res.prompt,
|
|
129
|
+
relationTable: res.relation_table,
|
|
130
|
+
similarTable: res.similar_table,
|
|
131
|
+
sql: sql,
|
|
132
|
+
date: formatDate('now'),
|
|
133
|
+
data: res.result,
|
|
134
|
+
isFavorite: false
|
|
135
|
+
}
|
|
124
136
|
// 保存到数据库中
|
|
125
137
|
post('/api/af-system/logic/openapi/addCommonData', {
|
|
126
138
|
type: 'ai-question',
|
|
127
|
-
content:
|
|
128
|
-
uuid: uuid,
|
|
129
|
-
question: value,
|
|
130
|
-
date: formatDate('now')
|
|
131
|
-
}
|
|
139
|
+
content: questionInfo
|
|
132
140
|
})
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
this.$message.warning(res)
|
|
137
|
-
}
|
|
141
|
+
this.addTab(questionInfo, false)
|
|
142
|
+
}).catch(e => {
|
|
143
|
+
this.$message.warning(e)
|
|
138
144
|
}).finally(() => {
|
|
139
145
|
callback()
|
|
146
|
+
this.loading = false
|
|
140
147
|
})
|
|
141
148
|
},
|
|
142
|
-
addTab (
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
question: question,
|
|
146
|
-
data: searchResults,
|
|
147
|
-
isFavorite: isFavorite,
|
|
148
|
-
date: formatDate('now')
|
|
149
|
-
}
|
|
149
|
+
addTab (questionInfo) {
|
|
150
|
+
const { uuid } = questionInfo
|
|
151
|
+
this.cacheSearchArray[uuid] = questionInfo
|
|
150
152
|
this.currentuuid = uuid
|
|
151
153
|
this.$refs.tabs.show(this.cacheSearchArray[uuid])
|
|
152
154
|
this.$refs.qhaf.add(this.cacheSearchArray[uuid])
|
|
@@ -163,7 +165,7 @@ export default {
|
|
|
163
165
|
},
|
|
164
166
|
// 处理从对话历史/收藏夹打开收藏项
|
|
165
167
|
handleOpenFavorite (item) {
|
|
166
|
-
this.addTab(item
|
|
168
|
+
this.addTab(item)
|
|
167
169
|
},
|
|
168
170
|
uuid () {
|
|
169
171
|
const tempUrl = URL.createObjectURL(new Blob())
|
|
@@ -253,6 +255,8 @@ export default {
|
|
|
253
255
|
|
|
254
256
|
.spingclass {
|
|
255
257
|
height: 100%;
|
|
258
|
+
background-color: #fff;
|
|
259
|
+
transition: none;
|
|
256
260
|
}
|
|
257
261
|
|
|
258
262
|
:deep(.ant-spin-container) {
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
<a-col :span="17"><span>{{ details.resultrecord }}</span></a-col>
|
|
65
65
|
</a-row>
|
|
66
66
|
</a-tab-pane>
|
|
67
|
-
<a-tab-pane key="2" tab="工单确认"
|
|
67
|
+
<a-tab-pane key="2" tab="工单确认" v-show="this.details.status === 4">
|
|
68
68
|
<a-row class="item">
|
|
69
69
|
<a-form :label-col="{ span: 5 }" :wrapper-col="{ span: 12 }">
|
|
70
70
|
<!-- 是否完成 -->
|
|
@@ -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 }
|
package/src/utils/waterMark.js
CHANGED
|
@@ -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
|
+
}
|