vue2-client 1.18.4 → 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 (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 +51 -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,189 +1,189 @@
1
- <template>
2
- <div :class="['tabs-head', layout, pageWidth]">
3
- <a-tabs
4
- type="editable-card"
5
- :class="['tabs-container', layout, pageWidth, {'affixed' : affixed, 'fixed-header' : fixedHeader, 'collapsed' : adminLayout.collapsed}]"
6
- :active-key="active"
7
- :hide-add="true"
8
- >
9
- <a-tooltip placement="left" :title="lockTitle" slot="tabBarExtraContent">
10
- <a-icon
11
- theme="filled"
12
- @click="onLockClick"
13
- class="header-lock"
14
- :type="fixedTabs ? 'lock' : 'unlock'"
15
- />
16
- </a-tooltip>
17
- <a-tab-pane v-for="page in pageList" :key="page.path">
18
- <div slot="tab" class="tab" @contextmenu="e => onContextmenu(page.path, e)">
19
- <a-icon @click="onRefresh(page)" :class="['icon-sync', {'hide': page.path !== active && !page.loading}]" :type="page.loading ? 'loading' : 'sync'" />
20
- <div class="title" @click="onTabClick(page.path)" >{{ pageName(page) }}</div>
21
- <a-icon v-if="!page.unclose" @click="onClose(page.path)" class="icon-close" type="close"/>
22
- </div>
23
- </a-tab-pane>
24
- </a-tabs>
25
- <div v-if="affixed" class="virtual-tabs"></div>
26
- </div>
27
- </template>
28
-
29
- <script>
30
- import { mapState, mapMutations } from 'vuex'
31
- import { getI18nKey } from '@vue2-client/utils/routerUtil'
32
-
33
- export default {
34
- name: 'TabsHead',
35
- i18n: {
36
- messages: {
37
- CN: {
38
- lock: '点击锁定页签头',
39
- unlock: '点击解除锁定'
40
- },
41
- HK: {
42
- lock: '點擊鎖定頁簽頭',
43
- unlock: '點擊解除鎖定'
44
- },
45
- US: {
46
- lock: 'click to lock the tabs head',
47
- unlock: 'click to unlock'
48
- }
49
- }
50
- },
51
- props: {
52
- // eslint-disable-next-line vue/require-default-prop
53
- pageList: Array,
54
- // eslint-disable-next-line vue/require-default-prop
55
- active: String,
56
- fixed: Boolean
57
- },
58
- data () {
59
- return {
60
- affixed: false
61
- }
62
- },
63
- inject: ['adminLayout'],
64
- created () {
65
- this.affixed = this.fixedTabs
66
- },
67
- computed: {
68
- ...mapState('setting', ['layout', 'pageWidth', 'fixedHeader', 'fixedTabs', 'customTitles']),
69
- lockTitle () {
70
- return this.$t(this.fixedTabs ? 'unlock' : 'lock')
71
- }
72
- },
73
- methods: {
74
- ...mapMutations('setting', ['setFixedTabs']),
75
- onLockClick () {
76
- this.setFixedTabs(!this.fixedTabs)
77
- if (this.fixedTabs) {
78
- setTimeout(() => {
79
- this.affixed = true
80
- }, 200)
81
- } else {
82
- this.affixed = false
83
- }
84
- },
85
- onTabClick (key) {
86
- if (this.active !== key) {
87
- this.$emit('change', key)
88
- }
89
- },
90
- onClose (key) {
91
- this.$emit('close', key)
92
- },
93
- onRefresh (page) {
94
- this.$emit('refresh', page.path, page)
95
- },
96
- onContextmenu (pageKey, e) {
97
- this.$emit('contextmenu', pageKey, e)
98
- },
99
- pageName (page) {
100
- const custom = this.customTitles.find(item => item.path === page.path)
101
- return (custom && custom.title) || page.title || this.$t(getI18nKey(page.keyPath))
102
- }
103
- }
104
- }
105
- </script>
106
-
107
- <style scoped lang="less">
108
- .tab{
109
- margin: 0 -16px;
110
- padding: 0 16px;
111
- font-size: 14px;
112
- user-select: none;
113
- transition: all 0.2s;
114
- .title{
115
- display: inline-block;
116
- height: 100%;
117
- }
118
- .icon-close{
119
- font-size: 12px;
120
- margin-left: 6px;
121
- margin-right: -4px !important;
122
- color: @text-color-second;
123
- &:hover{
124
- color: @text-color;
125
- }
126
- }
127
- .icon-sync{
128
- margin-left: -4px;
129
- color: @primary-4;
130
- transition: all 0.3s ease-in-out;
131
- &:hover{
132
- color: @primary-color;
133
- }
134
- font-size: 14px;
135
- &.hide{
136
- font-size: 0;
137
- }
138
- }
139
- }
140
- .tabs-head{
141
- margin: 0 auto;
142
- &.head.fixed{
143
- width: 100%;
144
- }
145
- }
146
- .tabs-container{
147
- margin: -16px auto 8px;
148
- transition: top,left 0.2s;
149
- .header-lock{
150
- font-size: 18px;
151
- cursor: pointer;
152
- color: @primary-3;
153
- &:hover{
154
- color: @primary-color;
155
- }
156
- }
157
- &.affixed{
158
- margin: 0 auto;
159
- top: 0;
160
- padding: 8px 24px 0;
161
- position: fixed;
162
- height: 48px;
163
- z-index: 2;
164
- background-color: @layout-body-background;
165
- &.side,&.mix{
166
- right: 0;
167
- left: 256px;
168
- &.collapsed{
169
- left: 80px;
170
- }
171
- }
172
- &.head{
173
- width: inherit;
174
- padding: 8px 0 0;
175
- &.fluid{
176
- left: 0;
177
- right: 0;
178
- padding: 8px 24px 0;
179
- }
180
- }
181
- &.fixed-header{
182
- top: 64px;
183
- }
184
- }
185
- }
186
- .virtual-tabs{
187
- height: 48px;
188
- }
189
- </style>
1
+ <template>
2
+ <div :class="['tabs-head', layout, pageWidth]">
3
+ <a-tabs
4
+ type="editable-card"
5
+ :class="['tabs-container', layout, pageWidth, {'affixed' : affixed, 'fixed-header' : fixedHeader, 'collapsed' : adminLayout.collapsed}]"
6
+ :active-key="active"
7
+ :hide-add="true"
8
+ >
9
+ <a-tooltip placement="left" :title="lockTitle" slot="tabBarExtraContent">
10
+ <a-icon
11
+ theme="filled"
12
+ @click="onLockClick"
13
+ class="header-lock"
14
+ :type="fixedTabs ? 'lock' : 'unlock'"
15
+ />
16
+ </a-tooltip>
17
+ <a-tab-pane v-for="page in pageList" :key="page.path">
18
+ <div slot="tab" class="tab" @contextmenu="e => onContextmenu(page.path, e)">
19
+ <a-icon @click="onRefresh(page)" :class="['icon-sync', {'hide': page.path !== active && !page.loading}]" :type="page.loading ? 'loading' : 'sync'" />
20
+ <div class="title" @click="onTabClick(page.path)" >{{ pageName(page) }}</div>
21
+ <a-icon v-if="!page.unclose" @click="onClose(page.path)" class="icon-close" type="close"/>
22
+ </div>
23
+ </a-tab-pane>
24
+ </a-tabs>
25
+ <div v-if="affixed" class="virtual-tabs"></div>
26
+ </div>
27
+ </template>
28
+
29
+ <script>
30
+ import { mapState, mapMutations } from 'vuex'
31
+ import { getI18nKey } from '@vue2-client/utils/routerUtil'
32
+
33
+ export default {
34
+ name: 'TabsHead',
35
+ i18n: {
36
+ messages: {
37
+ CN: {
38
+ lock: '点击锁定页签头',
39
+ unlock: '点击解除锁定'
40
+ },
41
+ HK: {
42
+ lock: '點擊鎖定頁簽頭',
43
+ unlock: '點擊解除鎖定'
44
+ },
45
+ US: {
46
+ lock: 'click to lock the tabs head',
47
+ unlock: 'click to unlock'
48
+ }
49
+ }
50
+ },
51
+ props: {
52
+ // eslint-disable-next-line vue/require-default-prop
53
+ pageList: Array,
54
+ // eslint-disable-next-line vue/require-default-prop
55
+ active: String,
56
+ fixed: Boolean
57
+ },
58
+ data () {
59
+ return {
60
+ affixed: false
61
+ }
62
+ },
63
+ inject: ['adminLayout'],
64
+ created () {
65
+ this.affixed = this.fixedTabs
66
+ },
67
+ computed: {
68
+ ...mapState('setting', ['layout', 'pageWidth', 'fixedHeader', 'fixedTabs', 'customTitles']),
69
+ lockTitle () {
70
+ return this.$t(this.fixedTabs ? 'unlock' : 'lock')
71
+ }
72
+ },
73
+ methods: {
74
+ ...mapMutations('setting', ['setFixedTabs']),
75
+ onLockClick () {
76
+ this.setFixedTabs(!this.fixedTabs)
77
+ if (this.fixedTabs) {
78
+ setTimeout(() => {
79
+ this.affixed = true
80
+ }, 200)
81
+ } else {
82
+ this.affixed = false
83
+ }
84
+ },
85
+ onTabClick (key) {
86
+ if (this.active !== key) {
87
+ this.$emit('change', key)
88
+ }
89
+ },
90
+ onClose (key) {
91
+ this.$emit('close', key)
92
+ },
93
+ onRefresh (page) {
94
+ this.$emit('refresh', page.path, page)
95
+ },
96
+ onContextmenu (pageKey, e) {
97
+ this.$emit('contextmenu', pageKey, e)
98
+ },
99
+ pageName (page) {
100
+ const custom = this.customTitles.find(item => item.path === page.path)
101
+ return (custom && custom.title) || page.title || this.$t(getI18nKey(page.keyPath))
102
+ }
103
+ }
104
+ }
105
+ </script>
106
+
107
+ <style scoped lang="less">
108
+ .tab{
109
+ margin: 0 -16px;
110
+ padding: 0 16px;
111
+ font-size: 14px;
112
+ user-select: none;
113
+ transition: all 0.2s;
114
+ .title{
115
+ display: inline-block;
116
+ height: 100%;
117
+ }
118
+ .icon-close{
119
+ font-size: 12px;
120
+ margin-left: 6px;
121
+ margin-right: -4px !important;
122
+ color: @text-color-second;
123
+ &:hover{
124
+ color: @text-color;
125
+ }
126
+ }
127
+ .icon-sync{
128
+ margin-left: -4px;
129
+ color: @primary-4;
130
+ transition: all 0.3s ease-in-out;
131
+ &:hover{
132
+ color: @primary-color;
133
+ }
134
+ font-size: 14px;
135
+ &.hide{
136
+ font-size: 0;
137
+ }
138
+ }
139
+ }
140
+ .tabs-head{
141
+ margin: 0 auto;
142
+ &.head.fixed{
143
+ width: 100%;
144
+ }
145
+ }
146
+ .tabs-container{
147
+ margin: -16px auto 8px;
148
+ transition: top,left 0.2s;
149
+ .header-lock{
150
+ font-size: 18px;
151
+ cursor: pointer;
152
+ color: @primary-3;
153
+ &:hover{
154
+ color: @primary-color;
155
+ }
156
+ }
157
+ &.affixed{
158
+ margin: 0 auto;
159
+ top: 0;
160
+ padding: 8px 24px 0;
161
+ position: fixed;
162
+ height: 48px;
163
+ z-index: 2;
164
+ background-color: @layout-body-background;
165
+ &.side,&.mix{
166
+ right: 0;
167
+ left: 256px;
168
+ &.collapsed{
169
+ left: 80px;
170
+ }
171
+ }
172
+ &.head{
173
+ width: inherit;
174
+ padding: 8px 0 0;
175
+ &.fluid{
176
+ left: 0;
177
+ right: 0;
178
+ padding: 8px 24px 0;
179
+ }
180
+ }
181
+ &.fixed-header{
182
+ top: 64px;
183
+ }
184
+ }
185
+ }
186
+ .virtual-tabs{
187
+ height: 48px;
188
+ }
189
+ </style>
@@ -1,77 +1,77 @@
1
- <template>
2
- <a-card :bordered="false">
3
- <x-form-table
4
- title="示例表单查询"
5
- :queryParamsName="queryParamsName"
6
- :fixedAddForm="fixedAddForm"
7
- serviceName="af-his"
8
- @action="action"
9
- ref="xFormTable">
10
- </x-form-table>
11
- <a-button @click="navigateToAnotherPage">跳转到另一个页面</a-button> <!-- 使用方法进行跳转 -->
12
- <a-drawer
13
- title="详情信息"
14
- placement="right"
15
- :destroy-on-close="true"
16
- width="85vw"
17
- :closable="false"
18
- :visible="detailVisible"
19
- @close="onClose">
20
- <span>
21
- 详情表单内容
22
- </span>
23
- </a-drawer>
24
- </a-card>
25
- </template>
26
-
27
- <script>
28
- import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable.vue'
29
- import { mapState } from 'vuex'
30
-
31
- export default {
32
- name: 'ChargeQuery',
33
- components: {
34
- XFormTable
35
- },
36
- data () {
37
- return {
38
- // 查询配置名称
39
- queryParamsName: 'infusionExecutionCRUD',
40
- // queryParamsName: '1CRUD',
41
- // 新增表单固定值
42
- fixedAddForm: {},
43
- // 是否显示详情抽屉
44
- detailVisible: false,
45
- // 当前记录
46
- record: {}
47
- }
48
- },
49
- created () {
50
- },
51
- mounted () {
52
- console.log('==当前登录人', this.currUser)
53
- },
54
- methods: {
55
- action (record, id, actionType) {
56
- this.detailVisible = true
57
- console.log('触发了详情操作', record, id, actionType)
58
- },
59
- onClose () {
60
- this.detailVisible = false
61
- // 关闭详情之后重新查询表单
62
- this.$refs.xFormTable.refreshTable(true)
63
- },
64
- navigateToAnotherPage () {
65
- this.$router.replace({ path: 'sub-example', query: { message: 'Hello from DefaultExample' } })
66
- }
67
- },
68
- computed: {
69
- ...mapState('account', { currUser: 'user' }),
70
- ...mapState('setting', { isMobile: 'isMobile' })
71
- },
72
- }
73
- </script>
74
-
75
- <style scoped>
76
-
77
- </style>
1
+ <template>
2
+ <a-card :bordered="false">
3
+ <x-form-table
4
+ title="示例表单查询"
5
+ :queryParamsName="queryParamsName"
6
+ :fixedAddForm="fixedAddForm"
7
+ serviceName="af-his"
8
+ @action="action"
9
+ ref="xFormTable">
10
+ </x-form-table>
11
+ <a-button @click="navigateToAnotherPage">跳转到另一个页面</a-button> <!-- 使用方法进行跳转 -->
12
+ <a-drawer
13
+ title="详情信息"
14
+ placement="right"
15
+ :destroy-on-close="true"
16
+ width="85vw"
17
+ :closable="false"
18
+ :visible="detailVisible"
19
+ @close="onClose">
20
+ <span>
21
+ 详情表单内容
22
+ </span>
23
+ </a-drawer>
24
+ </a-card>
25
+ </template>
26
+
27
+ <script>
28
+ import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable.vue'
29
+ import { mapState } from 'vuex'
30
+
31
+ export default {
32
+ name: 'ChargeQuery',
33
+ components: {
34
+ XFormTable
35
+ },
36
+ data () {
37
+ return {
38
+ // 查询配置名称
39
+ queryParamsName: 'infusionExecutionCRUD',
40
+ // queryParamsName: '1CRUD',
41
+ // 新增表单固定值
42
+ fixedAddForm: {},
43
+ // 是否显示详情抽屉
44
+ detailVisible: false,
45
+ // 当前记录
46
+ record: {}
47
+ }
48
+ },
49
+ created () {
50
+ },
51
+ mounted () {
52
+ console.log('==当前登录人', this.currUser)
53
+ },
54
+ methods: {
55
+ action (record, id, actionType) {
56
+ this.detailVisible = true
57
+ console.log('触发了详情操作', record, id, actionType)
58
+ },
59
+ onClose () {
60
+ this.detailVisible = false
61
+ // 关闭详情之后重新查询表单
62
+ this.$refs.xFormTable.refreshTable(true)
63
+ },
64
+ navigateToAnotherPage () {
65
+ this.$router.replace({ path: 'sub-example', query: { message: 'Hello from DefaultExample' } })
66
+ }
67
+ },
68
+ computed: {
69
+ ...mapState('account', { currUser: 'user' }),
70
+ ...mapState('setting', { isMobile: 'isMobile' })
71
+ },
72
+ }
73
+ </script>
74
+
75
+ <style scoped>
76
+
77
+ </style>