vue2-client 1.18.4 → 1.18.6

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 (243) 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 +46 -51
  133. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  134. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  135. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  136. package/src/base-client/components/common/XTree/index.js +3 -3
  137. package/src/base-client/components/common/XTree/index.md +36 -36
  138. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  139. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  140. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  141. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  142. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  143. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  144. package/src/base-client/components/index.js +51 -51
  145. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  146. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  147. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  148. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  149. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  150. package/src/base-client/plugins/Recording.js +258 -258
  151. package/src/base-client/plugins/index.js +23 -23
  152. package/src/components/CodeMirror/inedx.vue +118 -118
  153. package/src/components/CodeMirror/setting.js +40 -40
  154. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  155. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  156. package/src/components/checkbox/index.js +9 -9
  157. package/src/components/exception/ExceptionPage.vue +70 -70
  158. package/src/components/g2Charts/constants.js +202 -202
  159. package/src/components/g2Charts/demo.vue +808 -808
  160. package/src/components/g2Charts/designer.vue +228 -228
  161. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  162. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  163. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  164. package/src/components/g2Charts/index.vue +397 -397
  165. package/src/components/setting/Setting.vue +234 -234
  166. package/src/config/CreateQueryConfig.js +325 -325
  167. package/src/config/default/antd.config.js +89 -89
  168. package/src/config/default/setting.config.js +55 -55
  169. package/src/font-style/font.css +60 -60
  170. package/src/layouts/PageLayout.vue +151 -151
  171. package/src/layouts/SinglePageView.vue +136 -136
  172. package/src/layouts/header/AdminHeader.vue +132 -132
  173. package/src/layouts/header/InstitutionDetail.vue +181 -181
  174. package/src/layouts/tabs/TabsHead.vue +189 -189
  175. package/src/pages/DefaultExample/index.vue +77 -77
  176. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  177. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  178. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  179. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  180. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  181. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  182. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  183. package/src/pages/DynamicStatistics/index.vue +282 -282
  184. package/src/pages/Example/childIndex.vue +15 -15
  185. package/src/pages/Example/index.vue +30 -30
  186. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  187. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  188. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  189. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  190. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  191. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  192. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  193. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  194. package/src/pages/Recording/index.vue +77 -77
  195. package/src/pages/ServiceReview/index.vue +284 -284
  196. package/src/pages/SubExample/index.vue +26 -26
  197. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  198. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1815 -1815
  199. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -1014
  200. package/src/pages/XReportView/index.vue +64 -64
  201. package/src/pages/XTreeOneProExample/index.vue +67 -67
  202. package/src/pages/login/Login.vue +379 -379
  203. package/src/pages/login/LoginV3.vue +389 -389
  204. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  205. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  206. package/src/pages/report/ReportTable.js +124 -124
  207. package/src/pages/resourceManage/orgListManage.vue +98 -98
  208. package/src/pages/system/settings/modifyPassword.vue +117 -117
  209. package/src/pages/system/ticket/index.vue +480 -480
  210. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  211. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  212. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  213. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  214. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  215. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  216. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  217. package/src/plugins/EventLogPlugin.js +33 -33
  218. package/src/plugins/FindParentsData.js +17 -17
  219. package/src/services/DataModel.js +30 -30
  220. package/src/services/LodopFuncs.js +137 -137
  221. package/src/services/api/TicketDetailsViewApi.js +46 -46
  222. package/src/services/api/entity.js +18 -18
  223. package/src/services/api/index.js +17 -17
  224. package/src/store/modules/account.js +121 -121
  225. package/src/store/modules/index.js +5 -5
  226. package/src/store/modules/lowCode.js +33 -33
  227. package/src/theme/default/style.less +58 -58
  228. package/src/theme/global.less +313 -313
  229. package/src/utils/formatter.js +74 -74
  230. package/src/utils/htmlToPDF.js +108 -108
  231. package/src/utils/htmlToPDFApi.js +5 -5
  232. package/src/utils/login.js +188 -188
  233. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  234. package/src/utils/lowcode/lowcodeLog.js +29 -29
  235. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  236. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  237. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  238. package/src/utils/map-utils.js +47 -47
  239. package/src/utils/reg.js +95 -95
  240. package/src/utils/runEvalFunction.js +14 -14
  241. package/src/utils/theme-color-replacer-extend.js +92 -92
  242. package/src/utils/util.js +329 -329
  243. package/src/utils/waterMark.js +31 -31
@@ -1,281 +1,281 @@
1
- <template>
2
- <div>
3
- <a-drawer
4
- ref="QueryParamsDetailsView"
5
- :visible="visible"
6
- :width="isMobile ? screenWidth : screenWidth * 0.85"
7
- placement="right"
8
- title="查询配置详情"
9
- @close="onClose"
10
- >
11
- <create-query
12
- :to-edit-json="editJson"
13
- :visible.sync="createQueryVisible"
14
- @saveQueryParams="saveQueryParams"
15
- />
16
- <a-modal
17
- :getContainer="getContainer"
18
- :visible="importJsonVisible"
19
- title="导入JSON配置"
20
- @cancel="importJsonVisible = false"
21
- @ok="importJsonHandleOk"
22
- >
23
- <a-textarea v-model="ImportEditJson" placeholder="输入现有的JSON配置"/>
24
- </a-modal>
25
- <a-spin :spinning="loadDetails">
26
- <a-page-header :title="details.f_name+(details.f_remark ? '(' + details.f_remark + ')' : '')">
27
- <div class="row">
28
- <div class="content">
29
- <a-descriptions :column="isMobile ? 1 : 2" size="small">
30
- <a-descriptions-item label="所属模块">{{ details.f_module }}</a-descriptions-item>
31
- <a-descriptions-item label="创建人">{{ details.f_inputtor }}</a-descriptions-item>
32
- <a-descriptions-item label="创建时间">{{ details.f_input_date }}</a-descriptions-item>
33
- <a-descriptions-item label="描述">{{ details.f_remark }}</a-descriptions-item>
34
- </a-descriptions>
35
- </div>
36
- </div>
37
- <!-- actions -->
38
- <template #extra>
39
- <a-button-group style="margin-right: 4px;">
40
- <a-button :loading="loadDetails" type="dashed" @click="initView">刷新</a-button>
41
- </a-button-group>
42
- <a-button-group style="margin-right: 4px;">
43
- </a-button-group>
44
- </template>
45
- <template slot="footer">
46
- <a-tabs :activeKey="tabActiveKey" :default-active-key="tabActiveKey" style="margin-bottom: 23px;" @change="handleTabChange">
47
- <template v-for="value in tabList">
48
- <a-tab-pane :key="value.key" :tab="value.tab"/>
49
- </template>
50
- </a-tabs>
51
- <div v-if="!loadDetails">
52
- <div v-if="tabActiveKey === '1'">
53
- <a-space>
54
- <a-button type="primary" @click="toCreateQuery">
55
- <a-icon :style="iconStyle" type="edit"/>编辑查询配置
56
- </a-button>
57
- <a-button type="primary" @click="importJsonVisible = true">
58
- <a-icon :style="iconStyle" type="api"/>导入查询配置
59
- </a-button>
60
- </a-space>
61
-
62
- <a-card :bordered="true" size="small" style="margin-top: 20px;" title="查询配置预览">
63
- <json-viewer :copyable="{copyText: '复制', copiedText: '已复制'}" :expand-depth="parseInt('100')" :value="editJson" style="overflow: auto;max-height: 440px"></json-viewer>
64
- </a-card>
65
- </div>
66
- </div>
67
- </template>
68
- </a-page-header>
69
- </a-spin>
70
- </a-drawer>
71
- </div>
72
- </template>
73
-
74
- <script>
75
- import JsonViewer from 'vue-json-viewer'
76
- import { mapGetters, mapState } from 'vuex'
77
- import { post, QueryParamsDetailsViewApi } from '@vue2-client/services/api'
78
- import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
79
- import CreateQuery from '@vue2-client/base-client/components/common/CreateQuery'
80
-
81
- export default {
82
- name: 'QueryParamsDetailsView',
83
- components: {
84
- JsonViewer,
85
- XFormTable,
86
- CreateQuery
87
- },
88
- data () {
89
- return {
90
- // 页面宽度
91
- screenWidth: document.documentElement.clientWidth,
92
- // Tab页签
93
- tabActiveKey: '1',
94
- // 图标样式
95
- iconStyle: {
96
- position: 'relative',
97
- top: '1px'
98
- },
99
- // 是否显示生成查询配置抽屉
100
- createQueryVisible: false,
101
- // 设备类型详情
102
- details: {
103
- f_module: '',
104
- f_name: '',
105
- f_remark: '',
106
- f_content: '',
107
- f_input_date: '',
108
- f_inputtor: ''
109
- },
110
- // 查询表单配置json
111
- editJson: {},
112
- ImportEditJson: '',
113
- // importJsonVisible
114
- // 导入json对话框
115
- importJsonVisible: false,
116
- tabList: [
117
- { key: '1', tab: '编辑查询配置' }
118
- ],
119
- // 详情加载
120
- loadDetails: false
121
- }
122
- },
123
- mounted () {
124
- this.initView()
125
- },
126
- computed: {
127
- ...mapGetters(['account/user']),
128
- ...mapState('account', { currUser: 'user' }),
129
- ...mapState('setting', ['isMobile'])
130
- },
131
- props: {
132
- id: {
133
- type: String,
134
- required: true
135
- },
136
- visible: {
137
- type: Boolean,
138
- default: false
139
- }
140
- },
141
- methods: {
142
- // 获取model渲染上下文
143
- getContainer () {
144
- // return document.getElementById('QueryParamsDetailsView')
145
- return this.$refs.QueryParamsDetailsView.$el
146
- },
147
- // 初始化组件
148
- initView () {
149
- this.tabActiveKey = '1'
150
- this.editJson = {}
151
- this.getDetails(this.id)
152
- },
153
- toCreateQuery () {
154
- this.createQueryVisible = true
155
- },
156
- importJsonHandleOk () {
157
- try {
158
- this.editJson = JSON.parse(this.ImportEditJson)
159
- } catch (e) {
160
- this.$message.warn('操作失败,输入配置不是JSON格式')
161
- }
162
- this.importJsonVisible = false
163
- },
164
- onClose () {
165
- this.$emit('update:visible', false)
166
- },
167
- // 获取详情信息
168
- getDetails (id) {
169
- this.loadDetails = true
170
- return post(QueryParamsDetailsViewApi.getQueryParamsDetails, {
171
- id: id
172
- }).then(res => {
173
- this.details = res
174
- this.loadDetails = false
175
- if (this.details.f_content) {
176
- this.editJson = JSON.parse(this.details.f_content)
177
- }
178
- }, err => {
179
- this.loadDetails = false
180
- console.error(err)
181
- })
182
- },
183
- // 存储查询配置信息
184
- saveQueryParams (source) {
185
- return post('/api/af-system/logic/updateQueryParamsData', {
186
- id: this.id,
187
- source: source
188
- }).then(res => {
189
- this.$message.success('保存查询配置成功')
190
- this.getDetails(this.id)
191
- }, err => {
192
- console.error(err)
193
- })
194
- },
195
- // Tab切换
196
- handleTabChange (key) {
197
- this.tabActiveKey = key
198
- }
199
- },
200
- watch: {
201
- 'visible' (val) {
202
- if (val) {
203
- this.initView()
204
- }
205
- }
206
- }
207
- }
208
- </script>
209
-
210
- <style lang="less" scoped>
211
- .business {
212
- color: #ffffff;
213
- }
214
- .business:enabled:hover {
215
- background-color: #85CE61 !important;
216
- border-color: #85CE61 !important;
217
- }
218
- .business:enabled {
219
- background-color: #67c23a;
220
- border-color: #67c23a;
221
- }
222
- .business:disabled {
223
- color: rgba(0, 0, 0, 0.25);
224
- }
225
- .detail-layout {
226
- margin-left: 44px;
227
- }
228
- .text {
229
- color: rgba(0, 0, 0, .45);
230
- }
231
-
232
- .heading {
233
- color: rgba(0, 0, 0, .85);
234
- font-size: 20px;
235
- }
236
-
237
- .no-data {
238
- color: rgba(0, 0, 0, .25);
239
- text-align: center;
240
- line-height: 64px;
241
- font-size: 16px;
242
-
243
- i {
244
- font-size: 24px;
245
- margin-right: 16px;
246
- position: relative;
247
- top: 3px;
248
- }
249
- }
250
-
251
- .mobile {
252
- .detail-layout {
253
- margin-left: unset;
254
- }
255
- .text {
256
-
257
- }
258
- .status-list {
259
- text-align: left;
260
- }
261
- }
262
-
263
- .row {
264
- display: flex;
265
-
266
- .content {
267
- -webkit-box-flex: 1;
268
- flex: auto;
269
- -ms-flex: auto;
270
- }
271
-
272
- .extra {
273
- flex: 0 1 auto;
274
- -webkit-box-flex: 0;
275
- -ms-flex: 0 1 auto;
276
- min-width: 242px;
277
- margin-left: 88px;
278
- text-align: right;
279
- }
280
- }
281
- </style>
1
+ <template>
2
+ <div>
3
+ <a-drawer
4
+ ref="QueryParamsDetailsView"
5
+ :visible="visible"
6
+ :width="isMobile ? screenWidth : screenWidth * 0.85"
7
+ placement="right"
8
+ title="查询配置详情"
9
+ @close="onClose"
10
+ >
11
+ <create-query
12
+ :to-edit-json="editJson"
13
+ :visible.sync="createQueryVisible"
14
+ @saveQueryParams="saveQueryParams"
15
+ />
16
+ <a-modal
17
+ :getContainer="getContainer"
18
+ :visible="importJsonVisible"
19
+ title="导入JSON配置"
20
+ @cancel="importJsonVisible = false"
21
+ @ok="importJsonHandleOk"
22
+ >
23
+ <a-textarea v-model="ImportEditJson" placeholder="输入现有的JSON配置"/>
24
+ </a-modal>
25
+ <a-spin :spinning="loadDetails">
26
+ <a-page-header :title="details.f_name+(details.f_remark ? '(' + details.f_remark + ')' : '')">
27
+ <div class="row">
28
+ <div class="content">
29
+ <a-descriptions :column="isMobile ? 1 : 2" size="small">
30
+ <a-descriptions-item label="所属模块">{{ details.f_module }}</a-descriptions-item>
31
+ <a-descriptions-item label="创建人">{{ details.f_inputtor }}</a-descriptions-item>
32
+ <a-descriptions-item label="创建时间">{{ details.f_input_date }}</a-descriptions-item>
33
+ <a-descriptions-item label="描述">{{ details.f_remark }}</a-descriptions-item>
34
+ </a-descriptions>
35
+ </div>
36
+ </div>
37
+ <!-- actions -->
38
+ <template #extra>
39
+ <a-button-group style="margin-right: 4px;">
40
+ <a-button :loading="loadDetails" type="dashed" @click="initView">刷新</a-button>
41
+ </a-button-group>
42
+ <a-button-group style="margin-right: 4px;">
43
+ </a-button-group>
44
+ </template>
45
+ <template slot="footer">
46
+ <a-tabs :activeKey="tabActiveKey" :default-active-key="tabActiveKey" style="margin-bottom: 23px;" @change="handleTabChange">
47
+ <template v-for="value in tabList">
48
+ <a-tab-pane :key="value.key" :tab="value.tab"/>
49
+ </template>
50
+ </a-tabs>
51
+ <div v-if="!loadDetails">
52
+ <div v-if="tabActiveKey === '1'">
53
+ <a-space>
54
+ <a-button type="primary" @click="toCreateQuery">
55
+ <a-icon :style="iconStyle" type="edit"/>编辑查询配置
56
+ </a-button>
57
+ <a-button type="primary" @click="importJsonVisible = true">
58
+ <a-icon :style="iconStyle" type="api"/>导入查询配置
59
+ </a-button>
60
+ </a-space>
61
+
62
+ <a-card :bordered="true" size="small" style="margin-top: 20px;" title="查询配置预览">
63
+ <json-viewer :copyable="{copyText: '复制', copiedText: '已复制'}" :expand-depth="parseInt('100')" :value="editJson" style="overflow: auto;max-height: 440px"></json-viewer>
64
+ </a-card>
65
+ </div>
66
+ </div>
67
+ </template>
68
+ </a-page-header>
69
+ </a-spin>
70
+ </a-drawer>
71
+ </div>
72
+ </template>
73
+
74
+ <script>
75
+ import JsonViewer from 'vue-json-viewer'
76
+ import { mapGetters, mapState } from 'vuex'
77
+ import { post, QueryParamsDetailsViewApi } from '@vue2-client/services/api'
78
+ import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
79
+ import CreateQuery from '@vue2-client/base-client/components/common/CreateQuery'
80
+
81
+ export default {
82
+ name: 'QueryParamsDetailsView',
83
+ components: {
84
+ JsonViewer,
85
+ XFormTable,
86
+ CreateQuery
87
+ },
88
+ data () {
89
+ return {
90
+ // 页面宽度
91
+ screenWidth: document.documentElement.clientWidth,
92
+ // Tab页签
93
+ tabActiveKey: '1',
94
+ // 图标样式
95
+ iconStyle: {
96
+ position: 'relative',
97
+ top: '1px'
98
+ },
99
+ // 是否显示生成查询配置抽屉
100
+ createQueryVisible: false,
101
+ // 设备类型详情
102
+ details: {
103
+ f_module: '',
104
+ f_name: '',
105
+ f_remark: '',
106
+ f_content: '',
107
+ f_input_date: '',
108
+ f_inputtor: ''
109
+ },
110
+ // 查询表单配置json
111
+ editJson: {},
112
+ ImportEditJson: '',
113
+ // importJsonVisible
114
+ // 导入json对话框
115
+ importJsonVisible: false,
116
+ tabList: [
117
+ { key: '1', tab: '编辑查询配置' }
118
+ ],
119
+ // 详情加载
120
+ loadDetails: false
121
+ }
122
+ },
123
+ mounted () {
124
+ this.initView()
125
+ },
126
+ computed: {
127
+ ...mapGetters(['account/user']),
128
+ ...mapState('account', { currUser: 'user' }),
129
+ ...mapState('setting', ['isMobile'])
130
+ },
131
+ props: {
132
+ id: {
133
+ type: String,
134
+ required: true
135
+ },
136
+ visible: {
137
+ type: Boolean,
138
+ default: false
139
+ }
140
+ },
141
+ methods: {
142
+ // 获取model渲染上下文
143
+ getContainer () {
144
+ // return document.getElementById('QueryParamsDetailsView')
145
+ return this.$refs.QueryParamsDetailsView.$el
146
+ },
147
+ // 初始化组件
148
+ initView () {
149
+ this.tabActiveKey = '1'
150
+ this.editJson = {}
151
+ this.getDetails(this.id)
152
+ },
153
+ toCreateQuery () {
154
+ this.createQueryVisible = true
155
+ },
156
+ importJsonHandleOk () {
157
+ try {
158
+ this.editJson = JSON.parse(this.ImportEditJson)
159
+ } catch (e) {
160
+ this.$message.warn('操作失败,输入配置不是JSON格式')
161
+ }
162
+ this.importJsonVisible = false
163
+ },
164
+ onClose () {
165
+ this.$emit('update:visible', false)
166
+ },
167
+ // 获取详情信息
168
+ getDetails (id) {
169
+ this.loadDetails = true
170
+ return post(QueryParamsDetailsViewApi.getQueryParamsDetails, {
171
+ id: id
172
+ }).then(res => {
173
+ this.details = res
174
+ this.loadDetails = false
175
+ if (this.details.f_content) {
176
+ this.editJson = JSON.parse(this.details.f_content)
177
+ }
178
+ }, err => {
179
+ this.loadDetails = false
180
+ console.error(err)
181
+ })
182
+ },
183
+ // 存储查询配置信息
184
+ saveQueryParams (source) {
185
+ return post('/api/af-system/logic/updateQueryParamsData', {
186
+ id: this.id,
187
+ source: source
188
+ }).then(res => {
189
+ this.$message.success('保存查询配置成功')
190
+ this.getDetails(this.id)
191
+ }, err => {
192
+ console.error(err)
193
+ })
194
+ },
195
+ // Tab切换
196
+ handleTabChange (key) {
197
+ this.tabActiveKey = key
198
+ }
199
+ },
200
+ watch: {
201
+ 'visible' (val) {
202
+ if (val) {
203
+ this.initView()
204
+ }
205
+ }
206
+ }
207
+ }
208
+ </script>
209
+
210
+ <style lang="less" scoped>
211
+ .business {
212
+ color: #ffffff;
213
+ }
214
+ .business:enabled:hover {
215
+ background-color: #85CE61 !important;
216
+ border-color: #85CE61 !important;
217
+ }
218
+ .business:enabled {
219
+ background-color: #67c23a;
220
+ border-color: #67c23a;
221
+ }
222
+ .business:disabled {
223
+ color: rgba(0, 0, 0, 0.25);
224
+ }
225
+ .detail-layout {
226
+ margin-left: 44px;
227
+ }
228
+ .text {
229
+ color: rgba(0, 0, 0, .45);
230
+ }
231
+
232
+ .heading {
233
+ color: rgba(0, 0, 0, .85);
234
+ font-size: 20px;
235
+ }
236
+
237
+ .no-data {
238
+ color: rgba(0, 0, 0, .25);
239
+ text-align: center;
240
+ line-height: 64px;
241
+ font-size: 16px;
242
+
243
+ i {
244
+ font-size: 24px;
245
+ margin-right: 16px;
246
+ position: relative;
247
+ top: 3px;
248
+ }
249
+ }
250
+
251
+ .mobile {
252
+ .detail-layout {
253
+ margin-left: unset;
254
+ }
255
+ .text {
256
+
257
+ }
258
+ .status-list {
259
+ text-align: left;
260
+ }
261
+ }
262
+
263
+ .row {
264
+ display: flex;
265
+
266
+ .content {
267
+ -webkit-box-flex: 1;
268
+ flex: auto;
269
+ -ms-flex: auto;
270
+ }
271
+
272
+ .extra {
273
+ flex: 0 1 auto;
274
+ -webkit-box-flex: 0;
275
+ -ms-flex: 0 1 auto;
276
+ min-width: 242px;
277
+ margin-left: 88px;
278
+ text-align: right;
279
+ }
280
+ }
281
+ </style>