vue2-client 1.18.3 → 1.18.5

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.
Files changed (244) hide show
  1. package/.claude/settings.local.json +20 -20
  2. package/.cursorrules +19 -19
  3. package/.env.apply +19 -19
  4. package/.env.gaslink +19 -19
  5. package/.env.his +19 -19
  6. package/.env.liuli +20 -20
  7. package/.env.scada +19 -19
  8. package/.serena/memories/code_style_conventions.md +217 -217
  9. package/.serena/memories/project_overview.md +54 -54
  10. package/.serena/memories/project_structure.md +329 -329
  11. package/.serena/memories/suggested_commands.md +127 -127
  12. package/.serena/memories/task_completion_checklist.md +183 -183
  13. package/.serena/memories/tech_stack.md +94 -94
  14. package/CHANGELOG.md +830 -830
  15. package/CLAUDE.md +97 -97
  16. package/docs/LowCode/lowcode.md +155 -155
  17. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  18. package/jsconfig.json +19 -19
  19. package/package.json +1 -1
  20. package/public/his/editor/editor.html +51 -51
  21. package/public/his/editor/mock/bind_data.html +779 -779
  22. package/public/his/editor/mock/data_table.html +40 -40
  23. package/public/his/editor/mock/sign.html +75 -75
  24. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  25. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  26. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  27. package/public/his/editor/vender/date97/calendar.js +4 -4
  28. package/public/his/editor/vender/date97/lang/en.js +13 -13
  29. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  31. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  32. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  33. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  34. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  35. package/public/his/editor/vender/diff.js +1627 -1627
  36. package/public/his/editor/vender/editor.js +1 -1
  37. package/public/his/editor/vender/fabric.js +31187 -31187
  38. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  39. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  40. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  41. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  42. package/public/his/editor/vender/mui/mui.min.css +4 -4
  43. package/public/his/editor/vender/mui/mui.min.js +5 -5
  44. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  45. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  46. package/public/his/editor/vender/qrcode.js +7 -7
  47. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  48. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  49. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  50. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  51. package/public/his/editor/vender/validator.js +5094 -5094
  52. package/public/his/editor/vender/weui/weui.css +5659 -5659
  53. package/public/his/editor/vender/weui/weui.min.css +4 -4
  54. package/public/his/editor/vender/weui/weui.min.js +11 -11
  55. package/src/assets/img/paymentMethod/package.info +1 -1
  56. package/src/assets/svg/badtwo.svg +1 -1
  57. package/src/assets/svg/goodtwo.svg +1 -1
  58. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  59. package/src/base-client/components/AI/demo.vue +31 -31
  60. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  61. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  62. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  63. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  64. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  65. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  66. package/src/base-client/components/common/HIS/demo.vue +61 -61
  67. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  68. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  69. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  70. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  71. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  72. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  73. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  74. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  75. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  76. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  77. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  78. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  79. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  80. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  81. package/src/base-client/components/common/Recording/index.js +3 -3
  82. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  83. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
  84. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  85. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  86. package/src/base-client/components/common/XAddReport/index.js +3 -3
  87. package/src/base-client/components/common/XAddReport/index.md +56 -56
  88. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  89. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  90. package/src/base-client/components/common/XButtons/index.js +3 -3
  91. package/src/base-client/components/common/XButtons/index.md +61 -61
  92. package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
  93. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  94. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  95. package/src/base-client/components/common/XDataCard/index.js +3 -3
  96. package/src/base-client/components/common/XDataCard/index.md +1 -1
  97. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  98. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  99. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  100. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  101. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  102. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  103. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  104. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  105. package/src/base-client/components/common/XFormTable/XFormTable.vue +1258 -1257
  106. package/src/base-client/components/common/XFormTable/index.md +92 -92
  107. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  108. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  109. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  110. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  111. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  112. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  113. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  114. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  115. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  116. package/src/base-client/components/common/XPrint/index.vue +97 -97
  117. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  118. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  119. package/src/base-client/components/common/XReport/index.js +3 -3
  120. package/src/base-client/components/common/XReport/print.js +186 -186
  121. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  122. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  123. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  124. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  125. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  126. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  127. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  128. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  129. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  130. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  131. package/src/base-client/components/common/XTab/index.js +3 -3
  132. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  133. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  134. package/src/base-client/components/common/XTable/XTableWrapper.vue +1 -1
  135. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  136. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  137. package/src/base-client/components/common/XTree/index.js +3 -3
  138. package/src/base-client/components/common/XTree/index.md +36 -36
  139. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  140. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  141. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  142. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  143. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  144. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  145. package/src/base-client/components/index.js +51 -51
  146. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  147. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  148. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  149. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  150. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  151. package/src/base-client/plugins/Recording.js +258 -258
  152. package/src/base-client/plugins/index.js +23 -23
  153. package/src/components/CodeMirror/inedx.vue +118 -118
  154. package/src/components/CodeMirror/setting.js +40 -40
  155. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  156. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  157. package/src/components/checkbox/index.js +9 -9
  158. package/src/components/exception/ExceptionPage.vue +70 -70
  159. package/src/components/g2Charts/constants.js +202 -202
  160. package/src/components/g2Charts/demo.vue +808 -808
  161. package/src/components/g2Charts/designer.vue +228 -228
  162. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  163. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  164. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  165. package/src/components/g2Charts/index.vue +397 -397
  166. package/src/components/setting/Setting.vue +234 -234
  167. package/src/config/CreateQueryConfig.js +325 -325
  168. package/src/config/default/antd.config.js +89 -89
  169. package/src/config/default/setting.config.js +55 -55
  170. package/src/font-style/font.css +60 -60
  171. package/src/layouts/PageLayout.vue +151 -151
  172. package/src/layouts/SinglePageView.vue +136 -136
  173. package/src/layouts/header/AdminHeader.vue +132 -132
  174. package/src/layouts/header/InstitutionDetail.vue +181 -181
  175. package/src/layouts/tabs/TabsHead.vue +189 -189
  176. package/src/pages/DefaultExample/index.vue +77 -77
  177. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  178. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  179. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  180. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  181. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  182. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  183. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  184. package/src/pages/DynamicStatistics/index.vue +282 -282
  185. package/src/pages/Example/childIndex.vue +15 -15
  186. package/src/pages/Example/index.vue +30 -30
  187. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  188. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  189. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  190. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  191. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  192. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  193. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  194. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  195. package/src/pages/Recording/index.vue +77 -77
  196. package/src/pages/ServiceReview/index.vue +284 -284
  197. package/src/pages/SubExample/index.vue +26 -26
  198. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  199. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1815 -1815
  200. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -1014
  201. package/src/pages/XReportView/index.vue +64 -64
  202. package/src/pages/XTreeOneProExample/index.vue +67 -67
  203. package/src/pages/login/Login.vue +379 -379
  204. package/src/pages/login/LoginV3.vue +389 -389
  205. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  206. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  207. package/src/pages/report/ReportTable.js +124 -124
  208. package/src/pages/resourceManage/orgListManage.vue +98 -98
  209. package/src/pages/system/settings/modifyPassword.vue +117 -117
  210. package/src/pages/system/ticket/index.vue +480 -480
  211. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  212. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  213. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  214. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  215. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  216. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  217. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  218. package/src/plugins/EventLogPlugin.js +33 -33
  219. package/src/plugins/FindParentsData.js +17 -17
  220. package/src/services/DataModel.js +30 -30
  221. package/src/services/LodopFuncs.js +137 -137
  222. package/src/services/api/TicketDetailsViewApi.js +46 -46
  223. package/src/services/api/entity.js +18 -18
  224. package/src/services/api/index.js +17 -17
  225. package/src/store/modules/account.js +121 -121
  226. package/src/store/modules/index.js +5 -5
  227. package/src/store/modules/lowCode.js +33 -33
  228. package/src/theme/default/style.less +58 -58
  229. package/src/theme/global.less +313 -313
  230. package/src/utils/formatter.js +74 -74
  231. package/src/utils/htmlToPDF.js +108 -108
  232. package/src/utils/htmlToPDFApi.js +5 -5
  233. package/src/utils/login.js +188 -188
  234. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  235. package/src/utils/lowcode/lowcodeLog.js +29 -29
  236. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  237. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  238. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  239. package/src/utils/map-utils.js +47 -47
  240. package/src/utils/reg.js +95 -95
  241. package/src/utils/runEvalFunction.js +14 -14
  242. package/src/utils/theme-color-replacer-extend.js +92 -92
  243. package/src/utils/util.js +329 -329
  244. package/src/utils/waterMark.js +31 -31
@@ -1,122 +1,122 @@
1
- <template>
2
- <a-collapse :active-key="activeKey">
3
- <a-collapse-panel
4
- :key="value"
5
- v-for="(item, value) in questionList">
6
- <!-- 使用具名插槽#header来自定义头部内容 -->
7
- <template #header>
8
- <!-- 这里可以根据需要设计你的标题结构 -->
9
- <div class="custom-header">
10
- {{ item.question }}
11
- <!-- 假设你想在标题后显示一个状态图标,可以根据item.sql的存在与否来决定 -->
12
- <a-icon v-if="!item.sql" type="close-circle" style="color: red; margin-left: 5px;" />
13
- </div>
14
- </template>
15
- <a-row v-if="item.sql && item.data">
16
- <DynamicTable :title="item.question" :table-data="item.data" />
17
- <ChartSelector :rawData="item.data"/>
18
- </a-row>
19
- <a-row v-else>
20
- <a-result
21
- status="error"
22
- title="请求失败"
23
- sub-title="这通常是因为网络波动或程序故障导致的"
24
- >
25
-
26
- <div class="desc">
27
- <p style="font-size: 16px;">
28
- <strong>我如何解决这个问题:</strong>
29
- </p>
30
- <p>
31
- <a-icon :style="{ color: 'red' }" type="close-circle" /> 尝试重新发起请求
32
- </p>
33
- <p>
34
- <a-icon :style="{ color: 'red' }" type="close-circle" /> 调整提问方式
35
- </p>
36
- </div>
37
- </a-result>
38
- </a-row>
39
- <a-icon slot="extra" type="delete" @click.stop="handleClick(item)" />
40
- </a-collapse-panel>
41
- </a-collapse>
42
- </template>
43
-
44
- <script>
45
- import ChartSelector from './ChartSelector.vue'
46
- import EvaluationArea from './EvaluationArea.vue'
47
- import Ellipsis from '@vue2-client/components/Ellipsis/Ellipsis.vue'
48
- import DynamicTable from './DynamicTable.vue'
49
- import { indexedDB } from '@vue2-client/utils/indexedDB'
50
-
51
- export default {
52
- components: {
53
- DynamicTable,
54
- Ellipsis,
55
- ChartSelector,
56
- EvaluationArea
57
- },
58
- data () {
59
- return {
60
- dataTypeActiveKey: '0',
61
- pane: {},
62
- questionList: [],
63
- currentKey: '',
64
- activeKey: 0
65
- }
66
- },
67
- mounted () {
68
- this.pane = {}
69
- },
70
- methods: {
71
- async show (obj) {
72
- this.questionList = obj.questionList
73
- this.currentKey = obj.key
74
- },
75
- handleClick (item) {
76
- indexedDB.get(this.currentKey, (data) => {
77
- let index = 0
78
- // 使用while循环以避免在遍历过程中修改数组长度导致的问题
79
- while (index < data.questionList.length) {
80
- if (data.questionList[index].uuid === item.uuid) {
81
- // 找到匹配的uuid,使用splice方法移除该元素
82
- data.questionList.splice(index, 1)
83
- break
84
- } else {
85
- // 如果uuid不匹配,则索引加1继续检查下一个元素
86
- index++
87
- }
88
- }
89
- // 回更indexedDB库中的数据
90
- indexedDB.update(this.currentKey, data)
91
- // 刷新数据
92
- this.$emit('afterDelDialogOfOne', data)
93
- this.questionList = data.questionList
94
- })
95
- }
96
- }
97
- }
98
- </script>
99
- <style lang="less" scoped>
100
- .tab-title {
101
- font-size: 20px;
102
- font-weight: bold;
103
- color: #333;
104
- }
105
-
106
- .chart-card {
107
- margin-top: 20px;
108
- }
109
-
110
- .data-content {
111
- min-height: 100%;
112
- background-color: #fff;
113
- padding: 20px;
114
- border-radius: 8px;
115
- }
116
- :deep(.ant-tabs-bar) {
117
- margin-bottom: 0px;
118
- }
119
- :deep(.ant-collapse-extra) {
120
- margin-top: -20px
121
- }
122
- </style>
1
+ <template>
2
+ <a-collapse :active-key="activeKey">
3
+ <a-collapse-panel
4
+ :key="value"
5
+ v-for="(item, value) in questionList">
6
+ <!-- 使用具名插槽#header来自定义头部内容 -->
7
+ <template #header>
8
+ <!-- 这里可以根据需要设计你的标题结构 -->
9
+ <div class="custom-header">
10
+ {{ item.question }}
11
+ <!-- 假设你想在标题后显示一个状态图标,可以根据item.sql的存在与否来决定 -->
12
+ <a-icon v-if="!item.sql" type="close-circle" style="color: red; margin-left: 5px;" />
13
+ </div>
14
+ </template>
15
+ <a-row v-if="item.sql && item.data">
16
+ <DynamicTable :title="item.question" :table-data="item.data" />
17
+ <ChartSelector :rawData="item.data"/>
18
+ </a-row>
19
+ <a-row v-else>
20
+ <a-result
21
+ status="error"
22
+ title="请求失败"
23
+ sub-title="这通常是因为网络波动或程序故障导致的"
24
+ >
25
+
26
+ <div class="desc">
27
+ <p style="font-size: 16px;">
28
+ <strong>我如何解决这个问题:</strong>
29
+ </p>
30
+ <p>
31
+ <a-icon :style="{ color: 'red' }" type="close-circle" /> 尝试重新发起请求
32
+ </p>
33
+ <p>
34
+ <a-icon :style="{ color: 'red' }" type="close-circle" /> 调整提问方式
35
+ </p>
36
+ </div>
37
+ </a-result>
38
+ </a-row>
39
+ <a-icon slot="extra" type="delete" @click.stop="handleClick(item)" />
40
+ </a-collapse-panel>
41
+ </a-collapse>
42
+ </template>
43
+
44
+ <script>
45
+ import ChartSelector from './ChartSelector.vue'
46
+ import EvaluationArea from './EvaluationArea.vue'
47
+ import Ellipsis from '@vue2-client/components/Ellipsis/Ellipsis.vue'
48
+ import DynamicTable from './DynamicTable.vue'
49
+ import { indexedDB } from '@vue2-client/utils/indexedDB'
50
+
51
+ export default {
52
+ components: {
53
+ DynamicTable,
54
+ Ellipsis,
55
+ ChartSelector,
56
+ EvaluationArea
57
+ },
58
+ data () {
59
+ return {
60
+ dataTypeActiveKey: '0',
61
+ pane: {},
62
+ questionList: [],
63
+ currentKey: '',
64
+ activeKey: 0
65
+ }
66
+ },
67
+ mounted () {
68
+ this.pane = {}
69
+ },
70
+ methods: {
71
+ async show (obj) {
72
+ this.questionList = obj.questionList
73
+ this.currentKey = obj.key
74
+ },
75
+ handleClick (item) {
76
+ indexedDB.get(this.currentKey, (data) => {
77
+ let index = 0
78
+ // 使用while循环以避免在遍历过程中修改数组长度导致的问题
79
+ while (index < data.questionList.length) {
80
+ if (data.questionList[index].uuid === item.uuid) {
81
+ // 找到匹配的uuid,使用splice方法移除该元素
82
+ data.questionList.splice(index, 1)
83
+ break
84
+ } else {
85
+ // 如果uuid不匹配,则索引加1继续检查下一个元素
86
+ index++
87
+ }
88
+ }
89
+ // 回更indexedDB库中的数据
90
+ indexedDB.update(this.currentKey, data)
91
+ // 刷新数据
92
+ this.$emit('afterDelDialogOfOne', data)
93
+ this.questionList = data.questionList
94
+ })
95
+ }
96
+ }
97
+ }
98
+ </script>
99
+ <style lang="less" scoped>
100
+ .tab-title {
101
+ font-size: 20px;
102
+ font-weight: bold;
103
+ color: #333;
104
+ }
105
+
106
+ .chart-card {
107
+ margin-top: 20px;
108
+ }
109
+
110
+ .data-content {
111
+ min-height: 100%;
112
+ background-color: #fff;
113
+ padding: 20px;
114
+ border-radius: 8px;
115
+ }
116
+ :deep(.ant-tabs-bar) {
117
+ margin-bottom: 0px;
118
+ }
119
+ :deep(.ant-collapse-extra) {
120
+ margin-top: -20px
121
+ }
122
+ </style>
@@ -1,128 +1,128 @@
1
- <template>
2
- <div class="table-main">
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
- <template slot="footer">
12
- <a-space>
13
- <span>
14
- <strong>{{ `总行数 : ${tableData.length}` }}</strong>
15
- </span>
16
- <span v-for="column in tableColumns" :key="column.key">
17
- <strong v-if="column.sum !== undefined">{{ `${column.key} : ${column.sum}` }}</strong>
18
- </span>
19
- </a-space>
20
- </template>
21
- </a-table>
22
- <a-result
23
- v-else
24
- status="error"
25
- title="请求失败"
26
- sub-title="这通常是因为网络波动或程序故障导致的"
27
- >
28
-
29
- <div class="desc">
30
- <p style="font-size: 16px;">
31
- <strong>我如何解决这个问题:</strong>
32
- </p>
33
- <p>
34
- <a-icon :style="{ color: 'red' }" type="close-circle" /> 尝试重新发起请求
35
- </p>
36
- <p>
37
- <a-icon :style="{ color: 'red' }" type="close-circle" /> 调整提问方式
38
- </p>
39
- </div>
40
- </a-result>
41
- </template>
42
- </div></template>
43
-
44
- <script>
45
-
46
- export default {
47
- name: 'DynamicTable',
48
- data () {
49
- return {
50
- tableColumns: [],
51
- // x滚动条宽度
52
- scrollXWidth: 1600,
53
- scrollYHeight: 400
54
- }
55
- },
56
- mounted () {
57
- this.initData()
58
- },
59
- props: {
60
- title: {
61
- type: String,
62
- default: undefined
63
- },
64
- tableData: {
65
- type: Array,
66
- default: () => null
67
- }
68
- },
69
- watch: {
70
- tableData: {
71
- deep: true,
72
- handler (newVal) {
73
- this.initData()
74
- }
75
- }
76
- },
77
- methods: {
78
- async initData () {
79
- try {
80
- if (!this.tableData) {
81
- return
82
- }
83
- // 从数据第一项推断列信息
84
- if (this.tableData.length === 0) {
85
- this.tableColumns = []
86
- return
87
- }
88
- const sample = this.tableData[0]
89
- this.tableColumns = Object.keys(sample).map(key => {
90
- // 检查是否所有的值都是数字
91
- const allNumbers = this.tableData.every(item => typeof item[key] === 'number')
92
- let sum = 0
93
- if (allNumbers) {
94
- // 计算总和
95
- sum = this.tableData.reduce((total, item) => total + item[key], 0)
96
- }
97
- return {
98
- title: key, // 使用键名作为列标题
99
- dataIndex: key, // 数据索引与键名相同
100
- key: key,
101
- ellipsis: true,
102
- sum: allNumbers ? sum : undefined, // 如果所有的值都是数字,添加总和
103
- }
104
- })
105
- let totalWidth = 0
106
- // 设置表格宽度
107
- for (let i = 0; i < this.tableColumns.length; i++) {
108
- totalWidth = totalWidth + 180
109
- }
110
- // 设置表格高度为固定值
111
- this.scrollYHeight = 'calc(100vh - 35rem)'
112
- // 横向滚动长度大于所有宽度,才能实现固定表头
113
- this.scrollXWidth = totalWidth
114
- } catch (error) {
115
- console.error('Fetching data failed:', error)
116
- }
117
- },
118
- }
119
- }
120
- </script>
121
- <style lang="less" scoped>
122
- .table-main {
123
- margin-top: 8px;
124
- :deep(.ant-table) {
125
- background-color: #fff;
126
- }
127
- }
128
- </style>
1
+ <template>
2
+ <div class="table-main">
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
+ <template slot="footer">
12
+ <a-space>
13
+ <span>
14
+ <strong>{{ `总行数 : ${tableData.length}` }}</strong>
15
+ </span>
16
+ <span v-for="column in tableColumns" :key="column.key">
17
+ <strong v-if="column.sum !== undefined">{{ `${column.key} : ${column.sum}` }}</strong>
18
+ </span>
19
+ </a-space>
20
+ </template>
21
+ </a-table>
22
+ <a-result
23
+ v-else
24
+ status="error"
25
+ title="请求失败"
26
+ sub-title="这通常是因为网络波动或程序故障导致的"
27
+ >
28
+
29
+ <div class="desc">
30
+ <p style="font-size: 16px;">
31
+ <strong>我如何解决这个问题:</strong>
32
+ </p>
33
+ <p>
34
+ <a-icon :style="{ color: 'red' }" type="close-circle" /> 尝试重新发起请求
35
+ </p>
36
+ <p>
37
+ <a-icon :style="{ color: 'red' }" type="close-circle" /> 调整提问方式
38
+ </p>
39
+ </div>
40
+ </a-result>
41
+ </template>
42
+ </div></template>
43
+
44
+ <script>
45
+
46
+ export default {
47
+ name: 'DynamicTable',
48
+ data () {
49
+ return {
50
+ tableColumns: [],
51
+ // x滚动条宽度
52
+ scrollXWidth: 1600,
53
+ scrollYHeight: 400
54
+ }
55
+ },
56
+ mounted () {
57
+ this.initData()
58
+ },
59
+ props: {
60
+ title: {
61
+ type: String,
62
+ default: undefined
63
+ },
64
+ tableData: {
65
+ type: Array,
66
+ default: () => null
67
+ }
68
+ },
69
+ watch: {
70
+ tableData: {
71
+ deep: true,
72
+ handler (newVal) {
73
+ this.initData()
74
+ }
75
+ }
76
+ },
77
+ methods: {
78
+ async initData () {
79
+ try {
80
+ if (!this.tableData) {
81
+ return
82
+ }
83
+ // 从数据第一项推断列信息
84
+ if (this.tableData.length === 0) {
85
+ this.tableColumns = []
86
+ return
87
+ }
88
+ const sample = this.tableData[0]
89
+ this.tableColumns = Object.keys(sample).map(key => {
90
+ // 检查是否所有的值都是数字
91
+ const allNumbers = this.tableData.every(item => typeof item[key] === 'number')
92
+ let sum = 0
93
+ if (allNumbers) {
94
+ // 计算总和
95
+ sum = this.tableData.reduce((total, item) => total + item[key], 0)
96
+ }
97
+ return {
98
+ title: key, // 使用键名作为列标题
99
+ dataIndex: key, // 数据索引与键名相同
100
+ key: key,
101
+ ellipsis: true,
102
+ sum: allNumbers ? sum : undefined, // 如果所有的值都是数字,添加总和
103
+ }
104
+ })
105
+ let totalWidth = 0
106
+ // 设置表格宽度
107
+ for (let i = 0; i < this.tableColumns.length; i++) {
108
+ totalWidth = totalWidth + 180
109
+ }
110
+ // 设置表格高度为固定值
111
+ this.scrollYHeight = 'calc(100vh - 35rem)'
112
+ // 横向滚动长度大于所有宽度,才能实现固定表头
113
+ this.scrollXWidth = totalWidth
114
+ } catch (error) {
115
+ console.error('Fetching data failed:', error)
116
+ }
117
+ },
118
+ }
119
+ }
120
+ </script>
121
+ <style lang="less" scoped>
122
+ .table-main {
123
+ margin-top: 8px;
124
+ :deep(.ant-table) {
125
+ background-color: #fff;
126
+ }
127
+ }
128
+ </style>
@@ -1,69 +1,69 @@
1
- <template>
2
- <div class="evaluation-card">
3
- <div v-if="!action">
4
- <p>您对这次搜索结果满意吗?</p>
5
- <a-button-group>
6
- <a-space>
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(3)">问题不明确</a-button>
10
- </a-space>
11
- </a-button-group>
12
- </div>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- import { post } from '@vue2-client/services/api'
18
- import { indexedDB } from '@vue2-client/utils/indexedDB'
19
-
20
- export default {
21
- data () {
22
- return {
23
- action: false
24
- }
25
- },
26
- props: {
27
- uuid: {
28
- type: String,
29
- required: true
30
- }
31
- },
32
- methods: {
33
- submitEvaluation (result) {
34
- const key = 'question-' + this.uuid
35
- let flag = true
36
- indexedDB.get(key, (item) => {
37
- flag = false
38
- // 收藏状态不存储到库里
39
- delete item.isFavorite
40
- const content = Object.assign(item, {
41
- evaluation: result
42
- })
43
- // 保存到数据库中
44
- post('/api/af-system/logic/openapi/updateCommonData', {
45
- type: 'ai-question',
46
- content: this.uuid,
47
- newContent: content
48
- }).then(res => {
49
- this.action = true
50
- this.$message.success('评论成功')
51
- indexedDB.delete(key)
52
- indexedDB.add(key, content)
53
- })
54
- })
55
- // 如果 indexedDB 没有获取到说明是对话库的数据
56
- if (flag) {
57
- this.$emit('submitEvaluationLib', result, this.uuid)
58
- }
59
- }
60
- }
61
- }
62
- </script>
63
- <style lang="less" scoped>
64
- .evaluation-card {
65
- width: 50%;
66
- text-align: center;
67
- margin: 20px auto 0 auto;
68
- }
69
- </style>
1
+ <template>
2
+ <div class="evaluation-card">
3
+ <div v-if="!action">
4
+ <p>您对这次搜索结果满意吗?</p>
5
+ <a-button-group>
6
+ <a-space>
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(3)">问题不明确</a-button>
10
+ </a-space>
11
+ </a-button-group>
12
+ </div>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import { post } from '@vue2-client/services/api'
18
+ import { indexedDB } from '@vue2-client/utils/indexedDB'
19
+
20
+ export default {
21
+ data () {
22
+ return {
23
+ action: false
24
+ }
25
+ },
26
+ props: {
27
+ uuid: {
28
+ type: String,
29
+ required: true
30
+ }
31
+ },
32
+ methods: {
33
+ submitEvaluation (result) {
34
+ const key = 'question-' + this.uuid
35
+ let flag = true
36
+ indexedDB.get(key, (item) => {
37
+ flag = false
38
+ // 收藏状态不存储到库里
39
+ delete item.isFavorite
40
+ const content = Object.assign(item, {
41
+ evaluation: result
42
+ })
43
+ // 保存到数据库中
44
+ post('/api/af-system/logic/openapi/updateCommonData', {
45
+ type: 'ai-question',
46
+ content: this.uuid,
47
+ newContent: content
48
+ }).then(res => {
49
+ this.action = true
50
+ this.$message.success('评论成功')
51
+ indexedDB.delete(key)
52
+ indexedDB.add(key, content)
53
+ })
54
+ })
55
+ // 如果 indexedDB 没有获取到说明是对话库的数据
56
+ if (flag) {
57
+ this.$emit('submitEvaluationLib', result, this.uuid)
58
+ }
59
+ }
60
+ }
61
+ }
62
+ </script>
63
+ <style lang="less" scoped>
64
+ .evaluation-card {
65
+ width: 50%;
66
+ text-align: center;
67
+ margin: 20px auto 0 auto;
68
+ }
69
+ </style>