cnhis-design-vue 2.1.78 → 2.1.80

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 (598) hide show
  1. package/.prettierrc.js +27 -27
  2. package/CHANGELOG.md +2953 -2911
  3. package/README.md +90 -90
  4. package/commitlint.config.js +1 -1
  5. package/es/affix/index.js +8 -8
  6. package/es/age/index.js +18 -18
  7. package/es/alert/index.js +8 -8
  8. package/es/anchor/index.js +8 -8
  9. package/es/auto-complete/index.js +8 -8
  10. package/es/avatar/index.js +8 -8
  11. package/es/back-top/index.js +8 -8
  12. package/es/badge/index.js +8 -8
  13. package/es/base/index.js +8 -8
  14. package/es/big-table/index.js +358 -338
  15. package/es/big-table/style.css +1 -1
  16. package/es/breadcrumb/index.js +8 -8
  17. package/es/button/index.js +31 -31
  18. package/es/calendar/index.js +8 -8
  19. package/es/captcha/index.js +7 -7
  20. package/es/card/index.js +8 -8
  21. package/es/carousel/index.js +8 -8
  22. package/es/cascader/index.js +8 -8
  23. package/es/checkbox/index.js +17 -17
  24. package/es/col/index.js +8 -8
  25. package/es/collapse/index.js +8 -8
  26. package/es/color-picker/index.js +5 -5
  27. package/es/comment/index.js +8 -8
  28. package/es/config-provider/index.js +8 -8
  29. package/es/date-picker/index.js +30 -30
  30. package/es/descriptions/index.js +8 -8
  31. package/es/divider/index.js +8 -8
  32. package/es/drag-layout/index.js +5 -5
  33. package/es/drawer/index.js +8 -8
  34. package/es/dropdown/index.js +8 -8
  35. package/es/editor/index.js +1 -1
  36. package/es/ellipsis/index.js +1 -1
  37. package/es/empty/index.js +8 -8
  38. package/es/fabric-chart/index.js +45 -45
  39. package/es/form/index.js +8 -8
  40. package/es/form-model/index.js +8 -8
  41. package/es/form-table/index.js +144 -144
  42. package/es/grid/index.js +4 -4
  43. package/es/index/index.js +3657 -2281
  44. package/es/index/style.css +1 -1
  45. package/es/input/index.js +11 -11
  46. package/es/input-number/index.js +8 -8
  47. package/es/keep-cache/index.js +9 -9
  48. package/es/layout/index.js +8 -8
  49. package/es/list/index.js +8 -8
  50. package/es/locale-provider/index.js +8 -8
  51. package/es/map/index.js +13 -13
  52. package/es/mentions/index.js +8 -8
  53. package/es/menu/index.js +8 -8
  54. package/es/message/index.js +8 -8
  55. package/es/multi-chat/index.js +117 -117
  56. package/es/multi-chat-client/index.js +111 -111
  57. package/es/multi-chat-history/index.js +6 -6
  58. package/es/multi-chat-record/index.js +27 -27
  59. package/es/multi-chat-setting/index.js +43 -43
  60. package/es/multi-chat-sip/index.js +1 -1
  61. package/es/notification/index.js +8 -8
  62. package/es/page-header/index.js +8 -8
  63. package/es/pagination/index.js +8 -8
  64. package/es/popconfirm/index.js +8 -8
  65. package/es/popover/index.js +8 -8
  66. package/es/progress/index.js +8 -8
  67. package/es/radio/index.js +17 -17
  68. package/es/rate/index.js +8 -8
  69. package/es/result/index.js +8 -8
  70. package/es/row/index.js +8 -8
  71. package/es/scale-container/index.js +1 -1
  72. package/es/scale-view/index.js +200 -198
  73. package/es/scale-view/style.css +1 -1
  74. package/es/select/index.js +44 -44
  75. package/es/select-label/index.js +75 -73
  76. package/es/select-label/style.css +1 -1
  77. package/es/select-person/index.js +45 -41
  78. package/es/select-person/style.css +1 -1
  79. package/es/shortcut-setter/index.js +10 -10
  80. package/es/skeleton/index.js +8 -8
  81. package/es/slider/index.js +8 -8
  82. package/es/space/index.js +8 -8
  83. package/es/spin/index.js +8 -8
  84. package/es/statistic/index.js +8 -8
  85. package/es/steps/index.js +8 -8
  86. package/es/switch/index.js +8 -8
  87. package/es/table-filter/index.js +2697 -1347
  88. package/es/table-filter/style.css +1 -1
  89. package/es/tabs/index.js +8 -8
  90. package/es/tag/index.js +9 -9
  91. package/es/time-picker/index.js +8 -8
  92. package/es/timeline/index.js +8 -8
  93. package/es/tooltip/index.js +8 -8
  94. package/es/transfer/index.js +8 -8
  95. package/es/tree/index.js +8 -8
  96. package/es/tree-select/index.js +8 -8
  97. package/es/upload/index.js +8 -8
  98. package/es/utils/clickoutside.js +7 -7
  99. package/es/utils/kty.min-1.0.0.js +5 -5
  100. package/es/utils/time-domain.js +16 -16
  101. package/es/utils/utils-map.js +32 -32
  102. package/es/utils/vexutils.js +27 -27
  103. package/es/verification-code/index.js +2 -2
  104. package/lib/cui.common.js +11438 -9918
  105. package/lib/cui.umd.js +11438 -9918
  106. package/lib/cui.umd.min.js +69 -69
  107. package/package.json +110 -110
  108. package/packages/affix/index.js +12 -12
  109. package/packages/affix/src/Affix.jsx +12 -12
  110. package/packages/age/index.js +27 -27
  111. package/packages/age/src/age/index.vue +139 -139
  112. package/packages/age/src/age-com/index.vue +209 -209
  113. package/packages/alert/index.js +12 -12
  114. package/packages/alert/src/Alert.jsx +11 -11
  115. package/packages/anchor/index.js +18 -18
  116. package/packages/anchor/src/Anchor.jsx +11 -11
  117. package/packages/anchor/src/Link.jsx +11 -11
  118. package/packages/auto-complete/index.js +12 -12
  119. package/packages/auto-complete/src/AutoComplete.jsx +12 -12
  120. package/packages/avatar/index.js +12 -12
  121. package/packages/avatar/src/Avatar.jsx +11 -11
  122. package/packages/back-top/index.js +12 -12
  123. package/packages/back-top/src/BackTop.jsx +11 -11
  124. package/packages/badge/index.js +12 -12
  125. package/packages/badge/src/Badge.jsx +11 -11
  126. package/packages/base/index.js +3 -3
  127. package/packages/big-table/index.js +16 -16
  128. package/packages/big-table/src/BigTable.vue +3205 -3193
  129. package/packages/big-table/src/Fieldset.vue +2067 -2067
  130. package/packages/big-table/src/assets/iconfont/iconfont.css +21 -21
  131. package/packages/big-table/src/assets/style/table-base.less +390 -387
  132. package/packages/big-table/src/assets/style/table-global.less +175 -175
  133. package/packages/big-table/src/components/AutoLayoutButton.vue +307 -307
  134. package/packages/big-table/src/components/NoData.vue +81 -81
  135. package/packages/big-table/src/components/TextOverTooltip.vue +120 -120
  136. package/packages/big-table/src/components/edit-form/EditForm.vue +509 -509
  137. package/packages/big-table/src/components/edit-form/edit-component/config-data/index.js +68 -68
  138. package/packages/big-table/src/components/edit-form/edit-component/edit-date-picker/edit-date-picker.vue +60 -60
  139. package/packages/big-table/src/components/edit-form/edit-component/edit-digital/edit-digital.vue +54 -54
  140. package/packages/big-table/src/components/edit-form/edit-component/edit-input/edit-input.vue +39 -39
  141. package/packages/big-table/src/components/edit-form/edit-component/edit-input-password/edit-input-password.vue +79 -79
  142. package/packages/big-table/src/components/edit-form/edit-component/edit-month-picker/edit-month-picker.vue +37 -37
  143. package/packages/big-table/src/components/edit-form/edit-component/edit-search/edit-search.vue +82 -82
  144. package/packages/big-table/src/components/edit-form/edit-component/edit-search-more/edit-search-more.vue +95 -95
  145. package/packages/big-table/src/components/edit-form/edit-component/edit-select/edit-select.vue +40 -40
  146. package/packages/big-table/src/components/edit-form/edit-component/edit-select-multiple/edit-select-multiple.vue +55 -55
  147. package/packages/big-table/src/components/edit-form/edit-component/edit-switch/edit-switch.vue +43 -43
  148. package/packages/big-table/src/components/edit-form/edit-component/edit-textarea/edit-textarea.vue +41 -41
  149. package/packages/big-table/src/components/edit-form/edit-component/edit-time-picker/edit-time-picker.vue +40 -40
  150. package/packages/big-table/src/components/edit-form/edit-component/mixins/bound-date.js +3 -3
  151. package/packages/big-table/src/components/edit-form/edit-component/mixins/dateType.js +217 -217
  152. package/packages/big-table/src/components/edit-form/edit-component/mixins/item-default.js +639 -639
  153. package/packages/big-table/src/components/edit-form/edit-component/mixins/search.js +1247 -1247
  154. package/packages/big-table/src/components/edit-form/edit-component/register-com.js +26 -26
  155. package/packages/big-table/src/components/edit-form/edit-item/form-event.js +80 -80
  156. package/packages/big-table/src/components/edit-form/edit-item/global-props.js +33 -33
  157. package/packages/big-table/src/components/edit-form/edit-item/index.js +4 -4
  158. package/packages/big-table/src/components/edit-form/edit-item/render-methods.js +28 -28
  159. package/packages/big-table/src/components/edit-form/edit-item/validate-rules.js +463 -463
  160. package/packages/big-table/src/components/edit-form/edit-mixins/form-commom.js +673 -673
  161. package/packages/big-table/src/components/edit-form/edit-mixins/index.js +3 -3
  162. package/packages/big-table/src/components/edit-form/edit-utils/index.js +112 -112
  163. package/packages/big-table/src/components/password-com.vue +58 -58
  164. package/packages/big-table/src/components/player-vod/index.vue +57 -57
  165. package/packages/big-table/src/components/player-vod/player.vue +193 -193
  166. package/packages/big-table/src/components/player-vod/video-list.vue +265 -265
  167. package/packages/big-table/src/components/player-vod/video-modal.vue +126 -126
  168. package/packages/big-table/src/utils/CustomPagination.vue +86 -86
  169. package/packages/big-table/src/utils/batchEditing.js +610 -610
  170. package/packages/big-table/src/utils/bigTableProps.js +108 -108
  171. package/packages/big-table/src/utils/eventBroadcast.js +24 -24
  172. package/packages/big-table/src/utils/format.js +557 -557
  173. package/packages/big-table/src/utils/nestTable.js +109 -109
  174. package/packages/big-table/src/utils/tableParse.js +234 -234
  175. package/packages/breadcrumb/index.js +21 -21
  176. package/packages/breadcrumb/src/Breadcrumb.jsx +11 -11
  177. package/packages/breadcrumb/src/BreadcrumbItem.jsx +11 -11
  178. package/packages/breadcrumb/src/BreadcrumbSeparator.jsx +11 -11
  179. package/packages/button/index.js +21 -21
  180. package/packages/button/src/Button.jsx +11 -11
  181. package/packages/button/src/ButtonGroup.jsx +11 -11
  182. package/packages/button/src/ButtonPrint/components/IdentityVerification.vue +181 -181
  183. package/packages/button/src/ButtonPrint/index.vue +766 -766
  184. package/packages/button/src/ButtonPrint/mixin/his-print.js +95 -95
  185. package/packages/calendar/index.js +12 -12
  186. package/packages/calendar/src/Calendar.jsx +11 -11
  187. package/packages/captcha/index.js +9 -9
  188. package/packages/captcha/src/Captcha.vue +164 -164
  189. package/packages/captcha/src/Index.vue +47 -47
  190. package/packages/captcha/src/SlideVerify.vue +285 -285
  191. package/packages/card/index.js +21 -21
  192. package/packages/card/src/Card.jsx +12 -12
  193. package/packages/card/src/CardGrid.js +7 -7
  194. package/packages/card/src/CardMeta.js +7 -7
  195. package/packages/carousel/index.js +12 -12
  196. package/packages/carousel/src/Carousel.jsx +12 -12
  197. package/packages/cascader/index.js +12 -12
  198. package/packages/cascader/src/Cascader.jsx +11 -11
  199. package/packages/checkbox/index.js +30 -30
  200. package/packages/checkbox/src/Checkbox.jsx +11 -11
  201. package/packages/checkbox/src/CheckboxImg/index.vue +141 -141
  202. package/packages/checkbox/src/Group.jsx +11 -11
  203. package/packages/col/index.js +13 -13
  204. package/packages/col/src/Col.jsx +11 -11
  205. package/packages/collapse/index.js +18 -18
  206. package/packages/collapse/src/Collapse.jsx +11 -11
  207. package/packages/collapse/src/Panel.jsx +11 -11
  208. package/packages/color-picker/index.js +10 -10
  209. package/packages/color-picker/src/color-picker.vue +191 -191
  210. package/packages/color-picker/src/style.less +109 -109
  211. package/packages/comment/index.js +12 -12
  212. package/packages/comment/src/Comment.jsx +11 -11
  213. package/packages/config-provider/index.js +12 -12
  214. package/packages/config-provider/src/ConfigProvider.jsx +11 -11
  215. package/packages/date-picker/index.js +26 -26
  216. package/packages/date-picker/src/DatePicker.jsx +12 -12
  217. package/packages/date-picker/src/MonthPicker.jsx +11 -11
  218. package/packages/date-picker/src/RangePicker.jsx +11 -11
  219. package/packages/date-picker/src/WeekPicker.jsx +11 -11
  220. package/packages/date-picker/src/utils/index.js +374 -374
  221. package/packages/descriptions/index.js +18 -18
  222. package/packages/descriptions/src/Descriptions.jsx +11 -11
  223. package/packages/descriptions/src/Item.jsx +11 -11
  224. package/packages/divider/index.js +12 -12
  225. package/packages/divider/src/Divider.jsx +11 -11
  226. package/packages/drag-layout/DragFormLeftItem.vue +173 -173
  227. package/packages/drag-layout/DragFormRightItem.vue +284 -284
  228. package/packages/drag-layout/I18n-mixins.js +10 -10
  229. package/packages/drag-layout/drag-layout.vue +778 -778
  230. package/packages/drag-layout/index.js +12 -12
  231. package/packages/drawer/index.js +12 -12
  232. package/packages/drawer/src/Drawer.jsx +11 -11
  233. package/packages/dropdown/index.js +12 -12
  234. package/packages/dropdown/src/Dropdown.jsx +11 -11
  235. package/packages/editor/index.js +9 -9
  236. package/packages/ellipsis/index.js +8 -8
  237. package/packages/ellipsis/src/Ellipsis.vue +65 -65
  238. package/packages/empty/index.js +12 -12
  239. package/packages/empty/src/Empty.jsx +11 -11
  240. package/packages/fabric-chart/index.js +9 -9
  241. package/packages/fabric-chart/src/FabricGrid.vue +67 -67
  242. package/packages/fabric-chart/src/components/DropPopup.vue +90 -90
  243. package/packages/fabric-chart/src/components/MouseRightClick.vue +168 -168
  244. package/packages/fabric-chart/src/components/TimeScaleValue.vue +125 -125
  245. package/packages/fabric-chart/src/const/defaultVaule.js +60 -60
  246. package/packages/fabric-chart/src/fabric-chart/FabricLines.vue +617 -617
  247. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +1191 -1191
  248. package/packages/fabric-chart/src/fabric-chart/FabricScaleValue.vue +139 -139
  249. package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +651 -651
  250. package/packages/fabric-chart/src/mixins/fabricCommon.js +81 -81
  251. package/packages/fabric-chart/src/mixins/fabricObject.js +193 -193
  252. package/packages/fabric-chart/src/mixins/type.js +5 -5
  253. package/packages/fabric-chart/src/utils/bus.js +2 -2
  254. package/packages/form/index.js +16 -16
  255. package/packages/form/src/Form.jsx +11 -11
  256. package/packages/form/src/Item.jsx +11 -11
  257. package/packages/form-model/index.js +14 -14
  258. package/packages/form-model/src/FormModel.jsx +11 -11
  259. package/packages/form-model/src/Item.jsx +11 -11
  260. package/packages/form-table/index.js +16 -16
  261. package/packages/form-table/src/FormTable.vue +1110 -1110
  262. package/packages/form-table/src/components/table-component/config-data/index.js +80 -80
  263. package/packages/form-table/src/components/table-component/global-props.js +22 -22
  264. package/packages/form-table/src/components/table-component/index.js +8 -8
  265. package/packages/form-table/src/components/table-component/mixins/bound-date.js +455 -455
  266. package/packages/form-table/src/components/table-component/mixins/dateType.js +217 -217
  267. package/packages/form-table/src/components/table-component/mixins/item-default.js +257 -257
  268. package/packages/form-table/src/components/table-component/mixins/search.js +1242 -1242
  269. package/packages/form-table/src/components/table-component/register-com.js +30 -30
  270. package/packages/form-table/src/components/table-component/table-age/table-age.vue +175 -175
  271. package/packages/form-table/src/components/table-component/table-date-picker/table-date-picker.vue +87 -87
  272. package/packages/form-table/src/components/table-component/table-digital/table-digital.vue +93 -93
  273. package/packages/form-table/src/components/table-component/table-input/table-input.vue +81 -81
  274. package/packages/form-table/src/components/table-component/table-input-password/table-input-password.vue +126 -126
  275. package/packages/form-table/src/components/table-component/table-month-picker/table-month-picker.vue +55 -55
  276. package/packages/form-table/src/components/table-component/table-search/table-search.vue +174 -174
  277. package/packages/form-table/src/components/table-component/table-search-more/table-search-more.vue +191 -191
  278. package/packages/form-table/src/components/table-component/table-select/table-select.vue +64 -64
  279. package/packages/form-table/src/components/table-component/table-select-multiple/table-select-multiple.vue +81 -81
  280. package/packages/form-table/src/components/table-component/table-textarea/table-textarea.vue +76 -76
  281. package/packages/form-table/src/components/table-component/table-time-picker/table-time-picker.vue +55 -55
  282. package/packages/form-table/src/components/table-component/table-tree-select/table-tree-select.vue +135 -135
  283. package/packages/form-table/src/components/table-component/text-over-tooltip/TextOverTooltip.vue +97 -97
  284. package/packages/form-table/src/components/table-item/form-event.js +81 -81
  285. package/packages/form-table/src/components/table-item/global-props.js +27 -27
  286. package/packages/form-table/src/components/table-item/index.js +4 -4
  287. package/packages/form-table/src/components/table-item/render-methods.js +28 -28
  288. package/packages/form-table/src/components/table-item/validate-rules.js +520 -520
  289. package/packages/form-table/src/components/table-mixins/form-commom.js +98 -98
  290. package/packages/form-table/src/components/table-mixins/index.js +3 -3
  291. package/packages/form-table/src/components/table-utils/index.js +112 -112
  292. package/packages/form-table/src/disabledDetail.less +46 -46
  293. package/packages/grid/index.js +10 -10
  294. package/packages/grid/src/grid.js +28 -28
  295. package/packages/icon/index.js +10 -10
  296. package/packages/icon/src/icon.js +13 -13
  297. package/packages/index.js +313 -313
  298. package/packages/input/index.js +30 -30
  299. package/packages/input/src/Group.jsx +11 -11
  300. package/packages/input/src/Input.jsx +11 -11
  301. package/packages/input/src/Password.jsx +11 -11
  302. package/packages/input/src/Search.jsx +11 -11
  303. package/packages/input/src/TextArea.jsx +11 -11
  304. package/packages/input/src/input-quick/components/quick-item.vue +284 -284
  305. package/packages/input/src/input-quick/components/quick-popover.vue +596 -596
  306. package/packages/input/src/input-quick/index.vue +137 -137
  307. package/packages/input-number/index.js +12 -12
  308. package/packages/input-number/src/InputNumber.jsx +11 -11
  309. package/packages/keep-cache/KeepCache.js +236 -236
  310. package/packages/keep-cache/index.css +2 -2
  311. package/packages/keep-cache/index.js +8 -8
  312. package/packages/layout/index.js +27 -27
  313. package/packages/layout/src/Content.jsx +11 -11
  314. package/packages/layout/src/Footer.jsx +11 -11
  315. package/packages/layout/src/Header.jsx +11 -11
  316. package/packages/layout/src/Layout.jsx +11 -11
  317. package/packages/layout/src/Sider.jsx +11 -11
  318. package/packages/list/index.js +21 -21
  319. package/packages/list/src/Item.jsx +11 -11
  320. package/packages/list/src/ItemMeta.jsx +11 -11
  321. package/packages/list/src/List.jsx +11 -11
  322. package/packages/locale-provider/index.js +12 -12
  323. package/packages/locale-provider/src/LocaleProvider.jsx +11 -11
  324. package/packages/map/index.js +9 -9
  325. package/packages/map/src/Map.vue +484 -484
  326. package/packages/map/src/popup-map.vue +53 -53
  327. package/packages/mentions/index.js +18 -18
  328. package/packages/mentions/src/Mentions.jsx +11 -11
  329. package/packages/mentions/src/Option.jsx +11 -11
  330. package/packages/menu/index.js +27 -27
  331. package/packages/menu/src/Divider.jsx +11 -11
  332. package/packages/menu/src/Item.jsx +11 -11
  333. package/packages/menu/src/ItemGroup.jsx +11 -11
  334. package/packages/menu/src/Menu.jsx +11 -11
  335. package/packages/menu/src/SubMenu.jsx +11 -11
  336. package/packages/message/index.js +8 -8
  337. package/packages/modal/index.js +10 -10
  338. package/packages/modal/src/Modal.js +7 -7
  339. package/packages/multi-chat/chat/addConference.vue +200 -200
  340. package/packages/multi-chat/chat/addMembers.vue +411 -411
  341. package/packages/multi-chat/chat/advancedFilter.vue +372 -372
  342. package/packages/multi-chat/chat/calling.vue +246 -246
  343. package/packages/multi-chat/chat/chatFooter.vue +1647 -1647
  344. package/packages/multi-chat/chat/chatHistory.vue +605 -605
  345. package/packages/multi-chat/chat/chatMain.vue +1490 -1490
  346. package/packages/multi-chat/chat/client/index.vue +149 -149
  347. package/packages/multi-chat/chat/delay.vue +177 -177
  348. package/packages/multi-chat/chat/evaluate.vue +343 -343
  349. package/packages/multi-chat/chat/messageRecord.vue +324 -324
  350. package/packages/multi-chat/chat/mixins/NoData.js +20 -20
  351. package/packages/multi-chat/chat/mixins/base.js +97 -97
  352. package/packages/multi-chat/chat/mixins/uniRTCAPI.js +80 -80
  353. package/packages/multi-chat/chat/mixins/viewerOptions.js +67 -67
  354. package/packages/multi-chat/chat/quickReply.vue +439 -439
  355. package/packages/multi-chat/chat/robot/index.vue +312 -312
  356. package/packages/multi-chat/chat/scrollList.vue +1259 -1259
  357. package/packages/multi-chat/chat/videoVoiceList.vue +348 -348
  358. package/packages/multi-chat/chat/voice.vue +431 -431
  359. package/packages/multi-chat/components/avatar.vue +113 -113
  360. package/packages/multi-chat/components/chat-tabs-header.vue +251 -251
  361. package/packages/multi-chat/components/classify-tabs.vue +185 -185
  362. package/packages/multi-chat/components/empty.vue +24 -24
  363. package/packages/multi-chat/components/modal-refuse-reason.vue +112 -112
  364. package/packages/multi-chat/components/modal-sip.vue +160 -160
  365. package/packages/multi-chat/components/modal-user-transfer.vue +98 -98
  366. package/packages/multi-chat/components/msg-describe.vue +138 -138
  367. package/packages/multi-chat/components/msg-picture.vue +68 -68
  368. package/packages/multi-chat/components/msg-prescription.vue +205 -205
  369. package/packages/multi-chat/components/read-record.vue +133 -133
  370. package/packages/multi-chat/components/read-status.vue +34 -34
  371. package/packages/multi-chat/components/user-status.vue +198 -198
  372. package/packages/multi-chat/components/vuecmf-dialog.vue +322 -322
  373. package/packages/multi-chat/index.js +7 -7
  374. package/packages/multi-chat/setting/authority/index.vue +156 -156
  375. package/packages/multi-chat/setting/authority/roleSetting.vue +204 -204
  376. package/packages/multi-chat/setting/baseInfo/index.vue +1343 -1343
  377. package/packages/multi-chat/setting/customerService/batchSelect.vue +403 -403
  378. package/packages/multi-chat/setting/customerService/index.vue +273 -273
  379. package/packages/multi-chat/setting/event/edit/condition.vue +128 -128
  380. package/packages/multi-chat/setting/event/edit/index.vue +437 -437
  381. package/packages/multi-chat/setting/event/edit/notice.vue +129 -129
  382. package/packages/multi-chat/setting/event/edit/strategy.vue +98 -98
  383. package/packages/multi-chat/setting/event/index.vue +249 -249
  384. package/packages/multi-chat/setting/index.vue +269 -269
  385. package/packages/multi-chat/setting/page.vue +14 -14
  386. package/packages/multi-chat/setting/sessionList/index.vue +412 -412
  387. package/packages/multi-chat/setting/sessionList/messageRecord.vue +372 -372
  388. package/packages/multi-chat/setting/userConfig/index.vue +124 -124
  389. package/packages/multi-chat/setting/worktime/index.vue +274 -274
  390. package/packages/multi-chat/store/actions.js +452 -452
  391. package/packages/multi-chat/store/getters.js +380 -380
  392. package/packages/multi-chat/store/helper.js +66 -66
  393. package/packages/multi-chat/store/index.js +50 -50
  394. package/packages/multi-chat/store/mutation.js +305 -305
  395. package/packages/multi-chat/store/state.js +120 -120
  396. package/packages/multi-chat/style/emoji.css +315 -315
  397. package/packages/multi-chat/style/message.mixin.less +38 -38
  398. package/packages/multi-chat/utils/chatSock.js +93 -93
  399. package/packages/multi-chat/utils/compressImage.js +115 -115
  400. package/packages/multi-chat/utils/emoji.json +68 -68
  401. package/packages/multi-chat/utils/index.js +259 -259
  402. package/packages/multi-chat/utils/observer-scroll.js +49 -49
  403. package/packages/multi-chat/utils/panelsetting.js +48 -48
  404. package/packages/multi-chat-client/index.js +7 -7
  405. package/packages/multi-chat-history/index.js +7 -7
  406. package/packages/multi-chat-record/index.js +7 -7
  407. package/packages/multi-chat-setting/index.js +7 -7
  408. package/packages/multi-chat-sip/index.js +6 -6
  409. package/packages/notification/index.js +8 -8
  410. package/packages/page-header/index.js +12 -12
  411. package/packages/page-header/src/PageHeader.jsx +11 -11
  412. package/packages/pagination/index.js +12 -12
  413. package/packages/pagination/src/Pagination.jsx +11 -11
  414. package/packages/popconfirm/index.js +12 -12
  415. package/packages/popconfirm/src/Popconfirm.jsx +11 -11
  416. package/packages/popover/index.js +12 -12
  417. package/packages/popover/src/Popover.jsx +11 -11
  418. package/packages/progress/index.js +12 -12
  419. package/packages/progress/src/Progress.jsx +11 -11
  420. package/packages/radio/index.js +33 -33
  421. package/packages/radio/src/Group.jsx +11 -11
  422. package/packages/radio/src/Radio.jsx +11 -11
  423. package/packages/radio/src/RadioButton.jsx +11 -11
  424. package/packages/radio/src/RadioImg/index.vue +124 -124
  425. package/packages/rate/index.js +12 -12
  426. package/packages/rate/src/Rate.jsx +11 -11
  427. package/packages/result/index.js +12 -12
  428. package/packages/result/src/Result.jsx +11 -11
  429. package/packages/row/index.js +12 -12
  430. package/packages/row/src/Row.jsx +11 -11
  431. package/packages/scale-container/index.js +8 -8
  432. package/packages/scale-container/src/ScaleContainer.vue +197 -197
  433. package/packages/scale-view/NoData.vue +81 -81
  434. package/packages/scale-view/answerParse.vue +133 -133
  435. package/packages/scale-view/customList.vue +801 -801
  436. package/packages/scale-view/data.js +80 -80
  437. package/packages/scale-view/evaluateCountdown.vue +155 -155
  438. package/packages/scale-view/evaluatePage.vue +202 -202
  439. package/packages/scale-view/formitem/data.js +3991 -3991
  440. package/packages/scale-view/formitem/index.js +7 -7
  441. package/packages/scale-view/formitem/r-address.vue +245 -245
  442. package/packages/scale-view/formitem/r-choice.vue +746 -746
  443. package/packages/scale-view/formitem/r-input.vue +93 -93
  444. package/packages/scale-view/formitem/r-prompt.vue +52 -52
  445. package/packages/scale-view/formitem/r-sign.vue +218 -218
  446. package/packages/scale-view/formitem/r-time.vue +285 -285
  447. package/packages/scale-view/formitem/r-upload-custom-list.vue +242 -242
  448. package/packages/scale-view/formitem/r-upload.vue +287 -287
  449. package/packages/scale-view/formitem/sign-com.vue +316 -316
  450. package/packages/scale-view/formitem/text-over-tooltip/TextOverTooltip.vue +98 -98
  451. package/packages/scale-view/index.js +17 -17
  452. package/packages/scale-view/mixin/NoData.js +38 -38
  453. package/packages/scale-view/mixin/addressVal.js +156 -156
  454. package/packages/scale-view/mixin/evaluate.js +146 -146
  455. package/packages/scale-view/mixin/index.js +337 -337
  456. package/packages/scale-view/mixin/judgeTypes.js +267 -267
  457. package/packages/scale-view/scaleView.vue +2017 -2017
  458. package/packages/select/index.js +27 -27
  459. package/packages/select/src/CustomSelect/index.vue +130 -130
  460. package/packages/select/src/OptGroup.jsx +11 -11
  461. package/packages/select/src/Option.jsx +11 -11
  462. package/packages/select/src/Select/Select.vue +231 -231
  463. package/packages/select/src/Select/index.js +12 -12
  464. package/packages/select/src/TableSelect/index.vue +514 -514
  465. package/packages/select-label/index.js +14 -14
  466. package/packages/select-label/label-classify.vue +129 -129
  467. package/packages/select-label/labelFormContent.vue +787 -787
  468. package/packages/select-label/select-label.vue +597 -581
  469. package/packages/select-person/index.js +10 -10
  470. package/packages/select-person/search-tree.vue +373 -373
  471. package/packages/select-person/select-person.vue +1703 -1696
  472. package/packages/shortcut-setter/index.js +12 -12
  473. package/packages/shortcut-setter/src/ShortcutSetter.vue +55 -55
  474. package/packages/shortcut-setter/src/ShortcutSetterItem.vue +85 -85
  475. package/packages/shortcut-setter/src/utils/index.js +63 -63
  476. package/packages/skeleton/index.js +12 -12
  477. package/packages/skeleton/src/Skeleton.jsx +11 -11
  478. package/packages/slider/index.js +12 -12
  479. package/packages/slider/src/Slider.jsx +11 -11
  480. package/packages/space/index.js +12 -12
  481. package/packages/space/src/Space.jsx +11 -11
  482. package/packages/spin/index.js +12 -12
  483. package/packages/spin/src/Spin.jsx +11 -11
  484. package/packages/statistic/index.js +18 -18
  485. package/packages/statistic/src/Countdown.jsx +11 -11
  486. package/packages/statistic/src/Statistic.jsx +11 -11
  487. package/packages/steps/index.js +18 -18
  488. package/packages/steps/src/Step.jsx +11 -11
  489. package/packages/steps/src/Steps.jsx +11 -11
  490. package/packages/switch/index.js +12 -12
  491. package/packages/switch/src/Switch.jsx +11 -11
  492. package/packages/table-filter/index.js +27 -27
  493. package/packages/table-filter/src/base-search-com/BaseSearch.vue +2622 -2630
  494. package/packages/table-filter/src/classification/Classification-com.vue +1760 -1760
  495. package/packages/table-filter/src/classification/search-class-name.vue +266 -266
  496. package/packages/table-filter/src/classification/search-professional-model.vue +680 -680
  497. package/packages/table-filter/src/components/TextOverTooltip.vue +120 -107
  498. package/packages/table-filter/src/components/age-com/index.vue +205 -205
  499. package/packages/table-filter/src/components/button-group/ButtonGroup.vue +162 -162
  500. package/packages/table-filter/src/components/button-icon/button-icon.js +33 -33
  501. package/packages/table-filter/src/components/button-icon/getBtnIcon.js +34 -34
  502. package/packages/table-filter/src/components/c-tree-select/tree-select.vue +336 -336
  503. package/packages/table-filter/src/components/checkbox-group/CheckboxGroup.vue +53 -0
  504. package/packages/table-filter/src/components/drop-button/drop-button.vue +224 -224
  505. package/packages/table-filter/src/components/drop-button/head-btn-icon.js +33 -33
  506. package/packages/table-filter/src/components/drop-view/drop-view.vue +89 -89
  507. package/packages/table-filter/src/components/multi-select/multi-select.vue +242 -236
  508. package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +232 -346
  509. package/packages/table-filter/src/components/range-age/index.vue +171 -172
  510. package/packages/table-filter/src/components/render-widget/components/CheckboxGroup.vue +51 -51
  511. package/packages/table-filter/src/components/render-widget/components/DateRangeQuick.vue +212 -0
  512. package/packages/table-filter/src/components/render-widget/components/NumberRange.vue +145 -0
  513. package/packages/table-filter/src/components/render-widget/components/Select.vue +50 -50
  514. package/packages/table-filter/src/components/render-widget/components/SelectDynamic.vue +304 -0
  515. package/packages/table-filter/src/components/render-widget/components/index.js +7 -7
  516. package/packages/table-filter/src/components/render-widget/enums.js +34 -29
  517. package/packages/table-filter/src/components/render-widget/index.vue +124 -91
  518. package/packages/table-filter/src/components/render-widget/mixins/dynamic-method.js +158 -0
  519. package/packages/table-filter/src/components/render-widget/widgetCfgMaps.js +245 -140
  520. package/packages/table-filter/src/components/search-condition/SearchCondition.vue +1907 -1907
  521. package/packages/table-filter/src/components/search-condition/fieldTypeList.js +169 -169
  522. package/packages/table-filter/src/components/search-filter/SearchFilter.vue +280 -278
  523. package/packages/table-filter/src/components/search-modal/set-classification.vue +336 -336
  524. package/packages/table-filter/src/components/table-modal/TableModal.vue +477 -477
  525. package/packages/table-filter/src/const/dataOptions.js +43 -43
  526. package/packages/table-filter/src/const/index.js +1 -1
  527. package/packages/table-filter/src/index.vue +584 -584
  528. package/packages/table-filter/src/mixins/mixins.js +773 -714
  529. package/packages/table-filter/src/mixins/out-quick-method.js +123 -0
  530. package/packages/table-filter/src/mixins/renderWidget.js +97 -89
  531. package/packages/table-filter/src/mixins/tableSearchCon.js +128 -128
  532. package/packages/table-filter/src/mixins/wordBookutils.js +113 -113
  533. package/packages/table-filter/src/quick-search/QuickSearch.vue +2190 -2167
  534. package/packages/tabs/index.js +18 -18
  535. package/packages/tabs/src/TabPane.jsx +11 -11
  536. package/packages/tabs/src/Tabs.jsx +11 -11
  537. package/packages/tag/index.js +21 -21
  538. package/packages/tag/src/CheckableTag.jsx +11 -11
  539. package/packages/tag/src/Tag.jsx +11 -11
  540. package/packages/tag/src/TagGroup.vue +621 -621
  541. package/packages/time-picker/index.js +12 -12
  542. package/packages/time-picker/src/TimePicker.jsx +11 -11
  543. package/packages/timeline/index.js +14 -14
  544. package/packages/timeline/src/Item.jsx +11 -11
  545. package/packages/timeline/src/Timeline.jsx +11 -11
  546. package/packages/tooltip/index.js +12 -12
  547. package/packages/tooltip/src/Tooltip.jsx +11 -11
  548. package/packages/transfer/index.js +12 -12
  549. package/packages/transfer/src/Transfer.jsx +11 -11
  550. package/packages/tree/index.js +18 -18
  551. package/packages/tree/src/Tree.jsx +11 -11
  552. package/packages/tree/src/TreeNode.jsx +11 -11
  553. package/packages/tree-select/index.js +18 -18
  554. package/packages/tree-select/src/TreeNode.jsx +11 -11
  555. package/packages/tree-select/src/TreeSelect.jsx +11 -11
  556. package/packages/upload/chunk-upload/chunk-upload-new.vue +1001 -1001
  557. package/packages/upload/chunk-upload/vod-chunk-upload.vue +749 -749
  558. package/packages/upload/chunk-upload/vod-upload-modal.vue +100 -100
  559. package/packages/upload/index.js +12 -12
  560. package/packages/upload/src/Upload.jsx +11 -11
  561. package/packages/verification-code/SlideVerify.vue +306 -306
  562. package/packages/verification-code/index.js +17 -17
  563. package/packages/verification-code/verification-code.vue +147 -147
  564. package/src/component/player-vod/index.vue +57 -57
  565. package/src/component/player-vod/player.vue +192 -192
  566. package/src/component/player-vod/video-list.vue +262 -262
  567. package/src/component/player-vod/video-modal.vue +128 -128
  568. package/src/component/select-options/index.vue +430 -430
  569. package/src/component/select-pages/index.vue +95 -95
  570. package/src/component/svg/index.vue +59 -59
  571. package/src/core/create.js +6 -6
  572. package/src/core/event.js +23 -23
  573. package/src/core/table-methods.js +444 -444
  574. package/src/directive/flexibleResize.js +151 -151
  575. package/src/directive/preventReClick.js +12 -12
  576. package/src/directive/scroll.js +230 -230
  577. package/src/global/variable.js +2 -2
  578. package/src/style/normalize.css +424 -424
  579. package/src/style/style.less +49 -49
  580. package/src/utils/UniRTCv2.js +626 -626
  581. package/src/utils/chatFetch.js +61 -61
  582. package/src/utils/clickoutside.js +75 -75
  583. package/src/utils/crypto.js +25 -25
  584. package/src/utils/index.js +81 -81
  585. package/src/utils/kty-sdk.js +582 -582
  586. package/src/utils/kty.min-1.0.0.js +14378 -14378
  587. package/src/utils/sip-device.js +79 -79
  588. package/src/utils/time-domain.js +249 -249
  589. package/src/utils/trtc.js +1 -1
  590. package/src/utils/utils-map.js +485 -485
  591. package/src/utils/vexutils.js +836 -836
  592. package/.idea/cnhis-design-vue.iml +0 -12
  593. package/.idea/codeStyles/Project.xml +0 -57
  594. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  595. package/.idea/git_toolbox_prj.xml +0 -15
  596. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  597. package/.idea/modules.xml +0 -8
  598. package/.idea/vcs.xml +0 -6
@@ -1,2067 +1,2067 @@
1
- <template>
2
- <div class="setting-view" ref="settingView">
3
- <c-spin :spinning="spinning" :tip="`...`" style="width: 100%; height: 100%">
4
- <div class="fields-set-content">
5
- <div class="fields-table">
6
- <div class="setting-title" :class="{ 'seting-title-api': !isCustomSearch }">
7
- <span class="width-show" style="width: 3%">&nbsp;</span>
8
- <!-- 字段名称 -->
9
- <span class="width-large"> 所有字段 </span>
10
- <!-- 编辑 -->
11
- <!-- <span v-if="false" class="width-show">
12
- <c-checkbox v-if="showCheckBox('isEdit')" :checked="calculateCheck('isEdit')" @change="handleAllCheck($event, 'isEdit')" />
13
- 编辑
14
- </span> -->
15
- <!-- 显示 -->
16
- <span class="width-show">
17
- <c-checkbox v-if="showCheckBox('isShow')" :checked="calculateCheck('isShow')" @change="handleAllCheck($event, 'isShow')" />
18
- 显示
19
- </span>
20
- <!-- 排序 -->
21
- <span class="width-show">
22
- <c-checkbox v-if="showCheckBox('isSort')" :checked="calculateCheck('isSort')" @change="handleAllCheck($event, 'isSort')" />
23
- 排序
24
- </span>
25
- <!-- 默认排序 -->
26
- <!-- <span class="width-showed">默认排序</span> -->
27
- <!-- <slot> -->
28
- <!-- 搜索 -->
29
- <!-- <span class="width-show">
30
- <c-checkbox
31
- v-if="showCheckBox('isSearch')"
32
- :checked="calculateCheck('isSearch')"
33
- @change="handleAllCheck($event, 'isSearch')"
34
- />
35
- 搜索
36
- </span> -->
37
- <!-- 求和 -->
38
- <!-- <span class="width-show" v-if="isCustomSearch">求和</span> -->
39
- <!-- 平均值 -->
40
- <!-- <span class="width-show" v-if="isCustomSearch">平均值</span> -->
41
- <!-- </slot> -->
42
- <!-- 固定 -->
43
- <span class="width-showed">固定</span>
44
- <slot>
45
- <!-- 自定义标题 -->
46
- <span class="width-word">自定义标题</span>
47
- </slot>
48
- <!-- 列宽 -->
49
- <span class="width-showed">列宽</span>
50
- <!-- 部分隐藏 -->
51
- <span v-if="false" class="width-word-a">
52
- 部分隐藏
53
- <c-tooltip placement="bottom" :getPopupContainer="triggerNode => triggerNode.parentNode">
54
- <template slot="title">
55
- <div class="small-font">
56
- 输入框填写内容与要求 <br />
57
- n:隐藏中间n个字符 <br />
58
- L(n):从左往右第n个位置隐藏 L(n)~(m):从左往右第n~m个位置隐藏<br />
59
- R(n):从右往左第n个位置开始前面做隐藏<br />
60
- R(n)~(m):从右往左第n~m个位置隐藏<br />
61
- 说明:n、m为正整数(即1、2、3等);括号为英文状态下输入项。
62
- </div>
63
- </template>
64
- <c-icon type="question-circle" />
65
- </c-tooltip>
66
- </span>
67
- <!-- 高级筛选 -->
68
- <!-- <span class="width-less">
69
- <c-checkbox v-if="showCheckBox('isShowSearch')" :checked="calculateCheck('isShowSearch')" @change="handleAllCheck($event, 'isShowSearch')" />
70
- 快速检索
71
- </span>
72
- <span class="width-less"> 筛选外显 </span> -->
73
- </div>
74
- <div class="set-show" ref="setShow" :class="{ 'set-show-api': !isCustomSearch }">
75
- <draggable v-model="fields" animation="150" tag="ul" handle=".drag-icon-wrap">
76
- <li
77
- class="left-style"
78
- :style="{
79
- background: clickItem.sid === ele.sid ? '#f2f2f2' : null
80
- }"
81
- v-for="(ele, j) in fields"
82
- :key="ele.sid"
83
- @click="handleFieldClick(ele)"
84
- >
85
- <span class="width-show drag-icon-wrap">
86
- <c-tooltip :mouseEnterDelay="1">
87
- <template slot="title"> 拖拽调整顺序 </template>
88
- <c-icon type="pause" :rotate="90" />
89
- </c-tooltip>
90
- </span>
91
- <!-- 字段名称 -->
92
- <span class="width-large title-item" :class="{ blue: ele.extraField }">
93
- <!-- <c-tooltip placement="bottom" v-if="showTitleFeildDescribe(ele)">
94
- <template slot="title">
95
- <span>
96
- {{ titleFeildDescribe(ele) }}
97
- </span>
98
- </template>
99
- <c-icon style="margin-right: 6px" type="question-circle" />
100
- </c-tooltip> -->
101
- <span style="width: 14px; margin-right: 6px"></span>
102
- <span>
103
- {{ ele.title }}
104
- </span>
105
- </span>
106
- <!-- 编辑 -->
107
- <!-- <span v-if="false" class="width-show">
108
- <c-checkbox v-show="ele.sid != '0001'" :defaultChecked="ele.isEdit == '1'" :checked="ele.isEdit == '1' ? true : false" @change="onChangeEdit($event, ele, j)"></c-checkbox>
109
- </span> -->
110
- <!-- 显示 -->
111
- <span class="width-show">
112
- <c-checkbox v-show="ele.sid != '0001'" :defaultChecked="ele.isShow == '1'" :checked="ele.isShow == '1' ? true : false" @change="onChangeShow($event, ele, j)"></c-checkbox>
113
- </span>
114
- <!-- 排序 -->
115
- <span class="width-show">
116
- <c-checkbox
117
- v-show="ele.sid != '0001'"
118
- :defaultChecked="ele.isSort == '1'"
119
- :disabled="ele.notParticipatingSort == 1"
120
- :checked="!!ele.isSort"
121
- @change="onChangeSort($event, ele, j)"
122
- ></c-checkbox>
123
- </span>
124
- <!-- 默认排序 -->
125
- <!-- <span class="width-showed">
126
- <select v-show="ele.sid != '0001'" class="is-sort-style" v-model="ele.isOrder" @change="onChangeIsOrder($event, ele, j)" :disabled="ele.notParticipatingSort == 1">
127
- <option value="0">设置排序</option>
128
- <option value="desc">降序</option>
129
- <option value="asc">升序</option>
130
- </select>
131
- </span> -->
132
- <slot>
133
- <!-- 搜索 -->
134
- <!-- <span class="width-show">
135
- <c-checkbox
136
- v-show="ele.sid != '0001'"
137
- :defaultChecked="ele.isSearch == '1'"
138
- :checked="ele.isSearch == '1' ? true : false"
139
- :disabled="ele.notParticipatingSearch == 1"
140
- @change="onChangeSearch($event, ele)"
141
- ></c-checkbox>
142
- <c-popover placement="rightTop" v-if="ele.relationList && ele.relationList.length > 0">
143
- <template slot="content">
144
- <div class="popver-content">
145
- <template v-for="(v, i) in ele.relationList">
146
- <ul :key="i" class="popver-ul">
147
- <li class="ul-title">{{ v.tableName }}</li>
148
- <li v-for="(m, j) in v.fieldList.fieldList" :key="`${m.sid}${j}`">
149
- <c-checkbox v-show="m.sid != '0001'" v-model="m.checked" :defaultChecked="m.isSearch == '1'">{{ m.title }}</c-checkbox>
150
- </li>
151
- </ul>
152
- </template>
153
- </div>
154
- </template>
155
- <span>
156
- <c-icon type="caret-down" />
157
- </span>
158
- </c-popover>
159
- </span> -->
160
- <!-- 求和 -->
161
- <!-- <span class="width-show" v-if="isCustomSearch">
162
- <c-checkbox v-show="ele.fieldType === 'NUMBER'" :defaultChecked="ele.isSum == '1'" @change="onChangeSum($event, ele)" :disabled="!isCustomSearch"></c-checkbox>
163
- </span> -->
164
- <!-- 平均值 -->
165
- <!-- <span class="width-show" v-if="isCustomSearch">
166
- <c-checkbox v-show="ele.fieldType === 'NUMBER'" :defaultChecked="ele.isAvg == '1'" @change="onChangeAvg($event, ele)" :disabled="!isCustomSearch"></c-checkbox>
167
- </span> -->
168
- </slot>
169
-
170
- <!-- 固定 -->
171
- <span class="width-showed">
172
- <select class="is-sort-style" v-model="ele.isFixed">
173
- <option :value="0">不固定</option>
174
- <option :value="1">左固定</option>
175
- <option :value="2">右固定</option>
176
- </select>
177
- </span>
178
- <slot>
179
- <!-- 自定义标题 -->
180
- <span class="width-word">
181
- <input v-show="ele.sid != '0001'" class="alias-style" v-model="ele.alias" />
182
- </span>
183
- </slot>
184
-
185
- <!-- 列宽 -->
186
- <span class="width-showed">
187
- <input @input="colWidthChange" class="alias-style col-width-style" v-model="ele.colWidth" />
188
- </span>
189
- <!-- 部分隐藏设置 -->
190
- <!-- <span class="width-word-a">
191
- <template v-if="ele.attrType == 'PASSWORD'"> 密码无需设置隐藏 </template>
192
- <template v-else>
193
- <template v-if="ele.columnName !== primaryKey">
194
- <c-input @change="handleHideExpression(ele)" class="alias-style" :class="{ 'error-tip': !ele.expressionFlag }" v-model="ele.hideExpression" />
195
- </template>
196
- <template v-else>
197
- 主键不可设置隐藏
198
- </template>
199
- </template>
200
- </span> -->
201
- <!-- 高级筛选 -->
202
- <!-- <span class="width-less">
203
- <c-checkbox
204
- v-show="ele.sid != '0001'"
205
- :defaultChecked="ele.isShowSearch == '1'"
206
- :checked="ele.isShowSearch == '1' ? true : false"
207
- @change="onChangeQuick($event, ele)"
208
- :disabled="ele.notParticipatingSearch == 1"
209
- ></c-checkbox>
210
- </span>
211
- <span class="width-less">
212
- <c-checkbox
213
- v-show="ele.sid != '0001'"
214
- :defaultChecked="ele.filterExplicit == '1'"
215
- :checked="ele.filterExplicit == '1' ? true : false"
216
- @change="onChangeOutFilter($event, ele)"
217
- :disabled="ele.notParticipatingSearch == 1"
218
- ></c-checkbox>
219
- </span> -->
220
- </li>
221
- </draggable>
222
- </div>
223
- </div>
224
- <div class="check-options">
225
- <div v-if="isButtonList && isMiddleAndAdmin" class="buttonList" ref="buttonList">
226
- <h2 class="lable-title">按钮/超链接</h2>
227
- <div class="linkButton">
228
- <span style="margin-right: 50px" v-for="itemButton in buttonList" :key="itemButton.id">
229
- <c-checkbox :defaultChecked="itemButton.isShow == '1'" @change="onButtonChecked($event, itemButton)">
230
- {{ itemButton.name }}
231
- </c-checkbox>
232
- </span>
233
- </div>
234
- </div>
235
-
236
- <div v-if="false" class="show-setting" ref="showSetting">
237
- <h2 class="lable-title">显示设置</h2>
238
- <!-- <c-checkbox :checked="showButtonTop == '1'" @change="showSetting($event, 'showButtonTop')">按钮置顶显示</c-checkbox>
239
- <c-checkbox :checked="buttonAdaption == '1'" @change="showSetting($event, 'buttonAdaption')">按钮自适应</c-checkbox>
240
- <c-checkbox :checked="openOnly == '1'" @change="showSetting($event, 'openOnly')"
241
- >字段手风琴<c-tooltip placement="bottom" :getPopupContainer="triggerNode => triggerNode.parentNode" title="只展示一个字段分组">
242
- <c-icon style="margin-left:4px;" type="question-circle" /> </c-tooltip
243
- ></c-checkbox> -->
244
- <slot>
245
- <!-- <c-checkbox v-if="isCustomSearch" :checked="asyncCount == '1'" @change="showSetting($event, 'asyncCount')" :disabled="!isCustomSearch">异步统计列表数据</c-checkbox> -->
246
- <!-- <c-checkbox :checked="hideCondition == '1'" @change="showSetting($event, 'hideCondition')">隐藏搜索分类</c-checkbox> -->
247
- <!-- <c-checkbox :checked="hideSearch == '1'" @change="showSetting($event, 'hideSearch')">隐藏模糊搜索</c-checkbox> -->
248
- <!-- <c-checkbox v-show="hasCheckedQuickSearch" :checked="hideQuickSearch == '1'" @change="showSetting($event, 'hideQuickSearch')">隐藏快速搜索</c-checkbox> -->
249
- <c-checkbox :checked="tableView.hideBottom" @change="showSetting($event, 'hideBottom')">隐藏底部分页栏</c-checkbox>
250
- <!-- <c-checkbox :checked="hideExportBtn == '1'" @change="showSetting($event, 'hideExportBtn')">隐藏导出按钮</c-checkbox> -->
251
- <!-- <c-checkbox :checked="tableView.hideSettingBtn" @change="showSetting($event, 'hideSettingBtn')">隐藏齿轮设置按钮</c-checkbox> -->
252
- <!-- <c-checkbox v-if="isCustomSearch" :checked="countCondition == '1'" @change="showSetting($event, 'countCondition')">统计筛选分类结果数量</c-checkbox> -->
253
- </slot>
254
- <template v-if="false">
255
- <h2 class="lable-title pagesize-title">分组统计设置</h2>
256
- <!-- isShow 1 显示 0 隐藏 -->
257
- <c-checkbox v-for="group in groupCountFields" :key="group.key" :value="group.key" :checked="group.isShow == '1'" @change="changeGroupShow($event, group)">
258
- {{ group.tips }}
259
- </c-checkbox>
260
- </template>
261
- <template>
262
- <h2 class="lable-title pagesize-title">默认分页设置</h2>
263
- <c-radio-group name="radioGroup" v-model="pageSize">
264
- <c-radio v-for="(item, index) of pageSizeArr" :key="index" :value="item"> {{ item }}条/页 </c-radio>
265
- <c-radio :value="pageSizeCustom">
266
- 自定义
267
- <c-input-number id="alias-style" v-model="pageSizeCustom" :min="1" :max="300" :precision="0" @change="onChange" />
268
- 条/页
269
- </c-radio>
270
- </c-radio-group>
271
- </template>
272
- <!-- <slot v-if="isMiddleAndAdmin && saveConfirm">
273
- <h2 class="lable-title pagesize-title">授权范围设置</h2>
274
- <c-radio-group name="radioGroup" v-model="saveType">
275
- <c-radio value="dept">应用于所在部门</c-radio>
276
- <c-radio value="org">应用于全部人</c-radio>
277
- </c-radio-group>
278
- </slot> -->
279
- </div>
280
- <div class="btn-operate">
281
- <!-- <c-button @click="goBack" style="margin-right: 8px">
282
- {{ openModal ? '取消' : '返回' }}
283
- </c-button> -->
284
- <c-button @click="() => $emit('onClose')" style="margin-right: 8px">
285
- 取消
286
- </c-button>
287
- <c-button type="primary" @click="handleFieldSave">
288
- 保存
289
- </c-button>
290
- </div>
291
- </div>
292
- </div>
293
- </c-spin>
294
- </div>
295
- </template>
296
- <script>
297
- import draggable from 'vuedraggable';
298
- import create from '@/core/create';
299
- const DEFLAYOUTPCNAME = '资料';
300
- export default create({
301
- name: 'fieldset',
302
- props: {
303
- // tableId: String,
304
- fields: Array,
305
- fieldwidths: Object,
306
- settingViewData: {
307
- type: Object,
308
- default: function() {
309
- return {};
310
- }
311
- },
312
- settingWidthsPage: {
313
- type: Object,
314
- default: function() {
315
- return {};
316
- }
317
- },
318
- listFormUnionSetting: {
319
- type: Object,
320
- default: function() {
321
- return {};
322
- }
323
- },
324
- menuSource: {
325
- type: String,
326
- default: ''
327
- },
328
- settingType: {
329
- default: ''
330
- },
331
- pageLayoutSet: String,
332
- curMiddleParams: {
333
- type: Object,
334
- default: function() {
335
- return {};
336
- }
337
- },
338
- openModal: {
339
- default: false
340
- },
341
- drawerDirection: {
342
- type: String,
343
- default: 'right'
344
- }
345
- },
346
- components: {
347
- draggable
348
- },
349
- data() {
350
- return {
351
- spinning: false,
352
- fieldList: [],
353
- primaryKey: '',
354
- buttonList: [],
355
- settingData: {},
356
- isButtonList: null,
357
- showButtonTop: 1, // 按钮置顶
358
- buttonAdaption: 0, // 按钮自适应
359
- asyncCount: 0, // 异步统计列表数据
360
- hideCondition: 0, // 隐藏搜索分类
361
- hideSearch: 0, // 隐藏模糊搜索
362
- hideQuickSearch: 0, // 隐藏快速搜索
363
- hideBottom: 0, // 隐藏底部分页栏
364
- hideExportBtn: 0, // 隐藏导出按钮
365
- hideSettingBtn: 0, // 隐藏齿轮设置按钮
366
- countCondition: 1, // 统计筛选分类数量
367
- openOnly: 0, // 手风琴模式
368
- saveConfirm: false, // 授权范围设置
369
- saveType: 'dept', // dept/org 应用于所在部门/应用于全部人
370
- showOtherSetting: undefined, // 列表设置按钮
371
- tableView: {
372
- hideBottom: false // 隐藏底部分页栏
373
- // hideSettingBtn: false // 隐藏齿轮设置按钮
374
- },
375
- pageSizeArr: [5, 10, 20, 30, 50, 100],
376
- pageSize: 20,
377
- pageSizeCustom: '',
378
- viewShow: {},
379
- relatedData: {
380
- showItems: [],
381
- hideItems: [],
382
- mbShowItems: [],
383
- mbHideItems: []
384
- },
385
- relatedSetting: null,
386
- relatedSettingMobile: null,
387
- allWidth: false,
388
- halfWidth: false,
389
- threeWidth: false,
390
- fourWidth: false,
391
- visibleLine: false,
392
- visibleLineAdd: false,
393
- itemTitleName: '',
394
- itemTitleNameAdd: '',
395
- is_show: 1,
396
- editIndex: '',
397
- editHideItem: '',
398
- editShowItem: '',
399
- clickTimes: 0,
400
- visibleShowItem: false,
401
- isAddChecked: false,
402
- itemTitleShowItem: '',
403
- count: false,
404
- color: '#000000',
405
- showColor: false,
406
- curColor: '#000000',
407
- btnIcon: '', // 按钮icon
408
- isShow: '',
409
- configId: '',
410
- tableName: '',
411
- setting: {},
412
- settingView: {},
413
- settingAbout: {},
414
- hideButtonIds: [],
415
- viewSid: '',
416
- aboutSid: '',
417
- mobileAboutSid: '',
418
- userTypeTab: '',
419
- ViewModalVisible: false,
420
- ViewDetail: '', // 视图模板
421
- copyFieldList: [],
422
- copyRelationTableList: [],
423
- copyButtonList: [],
424
- viewCongfigList: [], // 视图列表
425
- aboutItemList: [], // 相关项
426
- mobileAboutItemList: [],
427
- defaultViewDetail: {}, // 修改视图传给子组件
428
- viewTempType: 'add', // 默认类型
429
- relationTableList: [], // '块表查询'
430
- pcTmplateList: [], // pc类型所有模板
431
- mobileTmplateList: [], // mobile 类型所有模板
432
- mobileButtonList: [],
433
- viewTypeObj: {
434
- type: '',
435
- typeTable: '',
436
- refString: ''
437
- },
438
- templateList: [],
439
- viewList: [],
440
- templateListMobile: [],
441
- viewListMobile: [],
442
- aboutEditType: 'PC',
443
- aboutModel: '',
444
- btnSetting: {
445
- hideButtons: [],
446
- showButtons: []
447
- },
448
- btnSettingObj: null,
449
- btnMobileSetting: {
450
- hideButtons: [],
451
- showButtons: []
452
- },
453
- btnMobileSettingObj: null,
454
- viewSetVisible: false,
455
- middleParams: '',
456
- middleListModal: false,
457
- modalTitle: '1.9.276',
458
- curAboutType: '',
459
- curModalType: 'edit',
460
- extraField: undefined,
461
- isChangeWindow: false,
462
- modalWidth: '1280px',
463
- modalHeight: '748px',
464
- aboutItemPositionPc: 'RIGHT',
465
- tabName: '',
466
- tabInputName: '',
467
- layoutPc: 'TAB',
468
- layoutMobile: 'TAB',
469
- triggerMethodMobile: 'singleClick',
470
- layoutMobileName: '详情',
471
- locationPc: 'LEFT',
472
- layoutPcName: ' 资料',
473
- isCustomSearch: true,
474
-
475
- linkFieldList: [], // link 按钮配置的字段
476
- triggerMethodPc: 'doubleClick', // 相关项触发方式
477
- triggerMethodField: '', // 相关性触发字段
478
- clickItem: {},
479
- ratioList: ['2:10', '4:8', '6:6', '8:4', '10:2'],
480
- displayRatio: '4:8',
481
- remark: '', // 列表备注
482
- groupCountFields: [] // 分组统计设置
483
- };
484
- },
485
- watch: {
486
- // fieldwidths: {
487
- // handler() {
488
- // this.initfieldwidths();
489
- // },
490
- // immediate: true,
491
- // deep: true
492
- // }
493
- },
494
- mounted() {
495
- this.hideTab();
496
- },
497
- computed: {
498
- // ...mapGetters(['userInfo', 'menuObj']),
499
- // isOrgAdmin() {
500
- // return this.userInfo.map && this.userInfo.map.sysParams.userType === 'orgAdmin';
501
- // },
502
- hasCheckedQuickSearch() {
503
- let foo = !!this.fieldList.filter(item => item?.isShowSearch === 1).length;
504
- return foo;
505
- },
506
- isMenuSource() {
507
- return this.$route.fullPath.includes('middleListDetail');
508
- },
509
- // 相关项触发字段配置选项
510
- triggerMethodFieldList() {
511
- return this.fieldList.filter(item => item.isShow == 1 && !this.linkFieldList.includes(item.columnName));
512
- },
513
-
514
- isDefinedListConfig() {
515
- let queryType = this?.$route?.query?.tableType || '';
516
- // let menuType =
517
- // this?.settingViewData?.menuTriggerObjContentObj?.type || "";
518
- // 不为空 就是自定义列表
519
- let reportType = this?.settingViewData?.menuTriggerObjContentObj?.reportType || '';
520
- return queryType == 'DEFINED_TABLE_LIST' || !!reportType;
521
- },
522
- showTitleFeildDescribe() {
523
- return function(ele) {
524
- return ele.fieldSetting?.feildDescribe || ele.fieldSetting?.feildDescribeI18n;
525
- };
526
- },
527
- titleFeildDescribe() {
528
- return function(ele) {
529
- return (ele.fieldSetting.feildDescribeI18n && this.$t(ele.fieldSetting.feildDescribeI18n)) || ele.fieldSetting.feildDescribe;
530
- };
531
- },
532
- isMiddleAndAdmin() {
533
- return this.menuSource === 'middle';
534
- },
535
- handleName() {
536
- return function(item, key = 'name') {
537
- // if (this.isOrgAdmin && this.menuSource == 'middle') return item[key];
538
- return item.alias || item[key];
539
- };
540
- },
541
- handleSetting() {
542
- // if (this.showOtherSetting === undefined || this.menuSource == 'middle') {
543
- // return this.isOrgAdmin && this.menuSource !== 'middle' && this.hideSettingBtn != 1;
544
- // }
545
- return this.showOtherSetting;
546
- },
547
- havelistFormUnionParamsList() {
548
- return !!this.listFormUnionSetting?.paramsList?.length;
549
- }
550
- },
551
- methods: {
552
- // initfieldwidths(){
553
- // this.initfieldwidths
554
- // },
555
- hideTab() {
556
- if (this.isMiddleAndAdmin) return;
557
-
558
- if (this.drawerDirection === 'right') {
559
- this.$refs['settingView']?.style.setProperty('margin', '-16px 0px 0');
560
- } else {
561
- this.$refs['settingView']?.style.setProperty('margin', 'auto');
562
- }
563
- // this.handlePageHeight();
564
- /* 非中台,仅展示字段设置的情况下,隐藏tab */
565
- // let el = this.$refs["settingView"]?.querySelector(".ant-tabs-bar");
566
- // el.style.setProperty("opacity", "0");
567
- },
568
- saveViewSetting() {
569
- this.settingView.showFields = this.viewShow.showFields;
570
- if (this.settingViewData != null) {
571
- let tableId = this.settingViewData.id || this.settingViewData.tableId;
572
- let params = {
573
- id: this.viewSid,
574
- tableId: tableId,
575
- setting: JSON.stringify(this.settingView)
576
- };
577
- let url = `/tableList/saveViewSetting`;
578
- this.spinning = true;
579
- this.axios
580
- .post(url, this.$qs.stringify(params))
581
- .then(({ data }) => {
582
- this.spinning = false;
583
- if (data) {
584
- this.saveMethod(data);
585
- }
586
- })
587
- .catch(() => {
588
- this.spinning = false;
589
- });
590
- }
591
- },
592
- handleClickSaveSetting() {
593
- if (this.isColWidthChange) {
594
- this.$confirm({
595
- title: this.$t('1.1.7'),
596
- content: this.$t('1.9.7'),
597
- okText: this.$t('1.9.8'),
598
- onOk: () => {
599
- this.saveSetting();
600
- },
601
- onCancel() {}
602
- });
603
- } else {
604
- this.saveSetting();
605
- }
606
- },
607
- handleFieldSave() {
608
- let tableFields = [];
609
- // let tableView = {};
610
- if (this.fields.length > 0) {
611
- this.fields.forEach((item, i) => {
612
- tableFields.push({
613
- id: item.sid, // 字段id
614
- field: item.columnName, // 字段名
615
- visible: item.isShow == 1, // 是否显示
616
- sequence: i, // 顺序位置
617
- sortable: item.isSort == 1, // 是否能排序
618
- title: item.alias || item.title, // 别名
619
- fixed: item.isFixed ? (item.isFixed == 1 ? 'left' : 'right') : '', // 固定位置
620
- minWidth: item.colWidth // 列宽
621
- });
622
- });
623
- }
624
- // tableView = Object.assign({ pageSize: this.pageSize }, this.tableView);
625
- this.$emit('onSave', { tableFields });
626
- },
627
- saveSetting() {
628
- let curRelationList = {};
629
- let hideButtonIdsMobile = [];
630
- let allExpressionFlag = true;
631
- if (this.fieldList.length > 0) {
632
- this.fieldList.forEach((item, i) => {
633
- let sid = item.sid;
634
- if (item.isOrder == '0') {
635
- item.isOrder = 0;
636
- }
637
- if (item.isFixed == '2') {
638
- item.isFixed = 2;
639
- } else if (item.isFixed == '1') {
640
- item.isFixed = 1;
641
- } else if (item.isFixed == '0') {
642
- item.isFixed = 0;
643
- }
644
- if (!item.expressionFlag) {
645
- allExpressionFlag = false;
646
- }
647
- // 跨表查询
648
- if (item.relationList && item.relationList.length > 0) {
649
- item.relationList.forEach(y => {
650
- let relationKey = 'relationTable_' + y.tableId;
651
- curRelationList[relationKey] = {};
652
- y.fieldList.fieldList.forEach(g => {
653
- let checkedVal = g.checked ? 1 : 0;
654
- curRelationList[relationKey][g.sid] = {
655
- isSearch: checkedVal,
656
- isShowSearch: checkedVal
657
- };
658
- });
659
- });
660
- }
661
- this.setting[sid] = {
662
- id: item.sid,
663
- title: item.title,
664
- isShow: item.isShow,
665
- sequence: i,
666
- isSearch: item.isSearch,
667
- isSort: item.isSort,
668
- isSum: item.isSum,
669
- isAvg: item.isAvg,
670
- alias: item.alias,
671
- isFixed: item.isFixed,
672
- isOrder: item.isOrder,
673
- isEdit: item.isEdit,
674
- colWidth: item.colWidth,
675
- isShowSearch: item.isShowSearch,
676
- filterExplicit: item.filterExplicit,
677
- hideExpression: item.hideExpression
678
- };
679
- });
680
- this.buttonList.forEach(item => {
681
- if (item.isShow == '0') {
682
- this.hideButtonIds.push(item.sid);
683
- }
684
- });
685
- this.mobileButtonList.forEach(v => {
686
- !v.isShow && hideButtonIdsMobile.push(v.sid);
687
- });
688
- }
689
- if (!allExpressionFlag) {
690
- this.$message.error(this.$t('1.9.9'));
691
- return;
692
- }
693
- if (this.settingViewData != null) {
694
- let tableId = this.settingViewData.id || this.settingViewData.tableId;
695
- // 分组统计
696
- let groupCountFields = this.groupCountFields
697
- .map(item => {
698
- if (item.isShow == 1) {
699
- return item.key;
700
- }
701
- return null;
702
- })
703
- .filter(Boolean);
704
- this.setting[tableId] = {
705
- hideButtonIds: this.hideButtonIds,
706
- hideButtonIdsMobile: hideButtonIdsMobile,
707
- pageSize: this.pageSize,
708
- showButtonTop: this.showButtonTop,
709
- buttonAdaption: this.buttonAdaption,
710
- openOnly: this.openOnly,
711
- asyncCount: this.asyncCount,
712
- hideSearch: this.hideSearch,
713
- hideCondition: this.hideCondition,
714
- hideQuickSearch: this.hideQuickSearch,
715
- hideBottom: this.hideBottom,
716
- hideExportBtn: this.hideExportBtn,
717
- hideSettingBtn: this.hideSettingBtn,
718
- triggerMethodPc: this.triggerMethodPc, // 相关项触发方式
719
- triggerMethodField: this.triggerMethodField, // 相关性触发字段
720
- countCondition: this.countCondition,
721
- groupCountFieldShowKeys: groupCountFields
722
- };
723
- Object.assign(this.setting, curRelationList);
724
- let params = {
725
- configId: this.configId,
726
- tableId: this.settingViewData.id || this.settingViewData.tableId,
727
- // type: this.settingViewData.tableType || this.settingViewData.type,
728
- saveType: this.saveConfirm ? this.saveType : '', // 授权范围设置
729
- setting: JSON.stringify(this.setting),
730
- type:
731
- this.$route.query.tableType === 'DEFINED_TABLE_LIST' || this.menuObj.reportType === 'definedListConfig' ? 'definedListConfig' : this.settingViewData.tableType || this.settingViewData.type
732
- };
733
- let url = `/tableList/saveSetting`;
734
- this.spinning = true;
735
- this.axios
736
- .post(url, this.$qs.stringify(params))
737
- .then(({ data }) => {
738
- this.spinning = false;
739
- if (data) {
740
- // 字段设置可配置筛选项开关,所以要更新 copyFieldList
741
- this.copyFieldList.forEach(item => {
742
- const field = this.setting[item.id];
743
- field && Object.assign(item, field);
744
- });
745
- this.saveMethod(data);
746
- }
747
- })
748
- .catch(() => {
749
- this.spinning = false;
750
- });
751
- }
752
- },
753
- handleOkLineAdd() {
754
- this.viewShow.showFields.push({
755
- name: this.itemTitleNameAdd,
756
- is_show: this.is_show,
757
- html_type: 'LINEBAR'
758
- });
759
- this.visibleLineAdd = false;
760
- },
761
- onChangeAdd(e) {
762
- if (e.target.checked == true) {
763
- this.is_show = 1;
764
- } else {
765
- this.is_show = 0;
766
- }
767
- },
768
- onChangeAddEdit() {
769
- if (this.isAddChecked == true) {
770
- this.viewShow.showFields[this.editIndex].is_show = 1;
771
- } else {
772
- this.viewShow.showFields[this.editIndex].is_show = 0;
773
- }
774
- },
775
- addItemShowLine() {
776
- this.visibleLineAdd = true;
777
- this.itemTitleNameAdd = '';
778
- this.is_show = 0;
779
- this.isAddChecked = false;
780
- },
781
- handleCancel() {
782
- this.visibleLine = false;
783
- this.visibleLineAdd = false;
784
- },
785
- handleOkLine() {
786
- this.visibleLine = false;
787
- this.viewShow.showFields[this.editIndex].name = this.itemTitleName;
788
- this.viewShow.showFields[this.editIndex].is_show = this.isAddChecked ? 1 : 0;
789
- },
790
- editItemLine(ele, i) {
791
- this.editIndex = i;
792
- this.visibleLine = true;
793
- this.itemTitleName = ele.name;
794
- if (ele.is_show == 1) {
795
- this.isAddChecked = true;
796
- } else {
797
- this.isAddChecked = false;
798
- }
799
- },
800
- removeItemLine(index) {
801
- this.viewShow.showFields.splice(index, 1);
802
- },
803
- removeSpanWidth(index) {
804
- this.viewShow.hideFields.unshift(this.viewShow.showFields[index]);
805
- this.viewShow.showFields.splice(index, 1);
806
- },
807
- initSetting() {
808
- /* 字段设置 */
809
- if (this.settingViewData != null) {
810
- let menuId = this.settingViewData.menuId;
811
- let tableId = this.settingViewData.id || this.settingViewData.tableId;
812
- let tableTeamId = this.settingViewData.tableTeamId;
813
- let tableTeamMark = this.settingViewData.tableTeamMark;
814
- let type = this.settingViewData.tableType || this.settingViewData.type;
815
- let extendParams = this.settingViewData.extendParams || {};
816
- if (type == 'REPORT' || type == 'TABLE_LIST') {
817
- type = 'TABLE_LIST';
818
- } else if (type == 'TABLE_TEAM') {
819
- type = 'TABLE_TEAM_TABLE';
820
- }
821
- const isMiddle = this.isMenuSource;
822
- let url = this.isMenuSource ? `/tableList/getMiddleDetail` : `/tableList/getDetail`;
823
- // if (this.$route.path.includes("middle")) {
824
- // url = "/tableList/getDetail";
825
- // }
826
- if (this.$route.query.tableType === 'DEFINED_TABLE_LIST' || this.menuObj.reportType === 'definedListConfig') {
827
- type = 'definedListConfig';
828
- }
829
- let idKey = 'tableId';
830
- let params = {
831
- [idKey]: tableId,
832
- tableType: type,
833
- menuId: menuId,
834
- tableTeamId: tableTeamId,
835
- tableTeamMark: tableTeamMark,
836
- tabChildId: this.settingViewData.tabChildId || undefined,
837
- is_setting: '1',
838
- classify: 'PC',
839
- ...(isMiddle ? {} : extendParams)
840
- };
841
- /* 页签模式下的参数设置为空 */
842
- if (this.pageLayoutSet == 3) {
843
- params.tableTeamId = '';
844
- params.tableTeamMark = '';
845
- params.menuId = '';
846
- }
847
- if (!isMiddle) {
848
- this.middleParams = params;
849
- }
850
- if (isMiddle && this.openModal) {
851
- Object.assign(params, this.curMiddleParams);
852
- }
853
- this.setSpinning(true);
854
- this.axios
855
- .get(url, {
856
- params
857
- })
858
- .then(({ data }) => {
859
- this.setSpinning(false);
860
- if (data.result == 'SUCCESS') {
861
- let {
862
- buttonList = [],
863
- buttonListMobile = [],
864
- fieldList = [],
865
- relationTableList = [],
866
- templateList = [],
867
- viewList = [],
868
- templateListMobile = [],
869
- viewListMobile = [],
870
- pageSize = 20,
871
- configId,
872
- tableName,
873
- extraField,
874
- primaryKey,
875
- isCustomSearch = true,
876
- displayRatio = '4:8',
877
- remark = '',
878
- groupCountFields = []
879
- } = data.map;
880
- let linkFieldList = []; // link按钮字段集合
881
- this.isCustomSearch = isCustomSearch;
882
- this.isRefreshStatus = false;
883
- this.extraField = extraField;
884
- this.configId = configId;
885
- this.templateList = templateList || []; // 列表视图
886
- this.viewList = viewList || [];
887
- this.templateListMobile = templateListMobile || []; // 列表视图
888
- this.viewListMobile = viewListMobile || [];
889
- this.tableName = tableName;
890
- this.remark = remark;
891
- this.primaryKey = primaryKey; // 字段主键
892
- this.groupCountFields = groupCountFields; // 分组统计设置
893
-
894
- // 复制一份
895
- this.copyFieldList = JSON.parse(JSON.stringify(fieldList));
896
- this.copyButtonList = JSON.parse(JSON.stringify(buttonList));
897
- this.displayRatio = displayRatio;
898
- buttonList.forEach(v => {
899
- if (v.type == 'LINK') {
900
- linkFieldList.push(v.name);
901
- }
902
- });
903
- this.$set(this, 'linkFieldList', linkFieldList);
904
-
905
- this.copyRelationTableList = JSON.parse(JSON.stringify(relationTableList));
906
- this.fieldList = fieldList.map(item => {
907
- return Object.assign(item, {
908
- key: item.id,
909
- hideExpression: item.hideExpression || '',
910
- expressionFlag: true,
911
- settingObj: item.settingObj || {}
912
- });
913
- });
914
-
915
- this.fieldList.forEach((it, index) => {
916
- if (this.settingWidthsPage && Object.keys(this.settingWidthsPage).length > 0) {
917
- // 当前表单项宽度赋值
918
- this.fieldList[index].colWidth = this.settingWidthsPage[this.fieldList[index].alias || this.fieldList[index].title];
919
- }
920
- if (it.isOrder == '') {
921
- it.isOrder = 0;
922
- }
923
- let relationList = [];
924
- relationTableList.forEach(el => {
925
- if (el.primaryField == it.columnName) {
926
- relationList.push(el);
927
- }
928
- el.fieldList.fieldList.forEach(e => {
929
- e.checked = e.isSearch == 1;
930
- });
931
- });
932
- it.fieldSetting = it.fieldSetting ? JSON.parse(it.fieldSetting) : '';
933
- let notParticipatingSort = it.fieldSetting?.notParticipatingSort || '';
934
- let notParticipatingSearch = it.fieldSetting?.notParticipatingSearch || '';
935
- this.$set(it, 'relationList', relationList);
936
- this.$set(it, 'notParticipatingSort', notParticipatingSort);
937
- this.$set(it, 'notParticipatingSearch', notParticipatingSearch);
938
- this.$set(it, 'attrType', it?.settingObj?.attr || '');
939
- });
940
- // 增加一个后台过滤
941
- this.fieldList = this.fieldList.filter(item => {
942
- return item.fieldSetting ? item.fieldSetting.isHide === '0' : true;
943
- });
944
-
945
- if (this.configId == 'null' || this.configId == 'undefined') {
946
- this.configId = '';
947
- }
948
- buttonListMobile.forEach(v => (v.isShow = v.isShow == '1' ? true : false));
949
- this.mobileButtonList = buttonListMobile;
950
- this.buttonList = buttonList;
951
- this.showButtonTop = data.map.showButtonTop; // 按钮置顶
952
- this.buttonAdaption = data.map.buttonAdaption; // 按钮自适应
953
-
954
- this.asyncCount = data.map.asyncCount || 0; // 异步统计列表数据
955
- this.hideSearch = data.map.hideSearch || 0; // 隐藏模糊搜索
956
- this.hideCondition = data.map.hideCondition || 0; // 隐藏模糊搜索
957
- this.hideQuickSearch = data.map.hideQuickSearch || 0; // 隐藏快速搜索
958
- this.hideBottom = data.map.hideBottom || 0; // 隐藏底部分页栏
959
- this.hideExportBtn = data.map.hideExportBtn || 0; // 隐藏导出按钮
960
- this.hideSettingBtn = data.map.hideSettingBtn || 0; // 隐藏齿轮设置按钮
961
- this.countCondition = data.map.countCondition; // 是否开启筛选统计分类数量
962
- this.showOtherSetting = data.map.showOtherSetting; // 列表设置按钮
963
- this.saveConfirm = data.map.saveConfirm; // 授权范围设置
964
-
965
- this.openOnly = data.map.openOnly || 0; // 手风琴模式
966
- this.pageSize = pageSize == +pageSize ? +pageSize : 20;
967
- if (!this.pageSizeArr.includes(this.pageSize)) {
968
- // 用户自定义分页条数
969
- this.pageSizeCustom = this.pageSize;
970
- }
971
- if (this.buttonList && this.buttonList.length > 0) {
972
- this.isButtonList = true;
973
- } else {
974
- this.isButtonList = false;
975
- }
976
- this.$nextTick(() => {
977
- this.handlePageHeight();
978
- });
979
- } else {
980
- this.$message.error(data.resultMsg);
981
- }
982
- });
983
- }
984
- },
985
- // 设置高度
986
- handlePageHeight() {
987
- let settingViewHieht = (this.$refs.settingView && this.$refs.settingView.offsetHeight) || 200;
988
- let showSettingHeight = (this.$refs.showSetting && this.$refs.showSetting.offsetHeight) || 0;
989
- let buttonListHeight = (this.$refs.buttonList && this.$refs.buttonList.offsetHeight) || 0;
990
- // 45/tabBar height 8/tabBar margin 52/tableCell height 49/btn height
991
- let MinusHeight = 45 + 8 + 52 + 49;
992
- let setShowHeight = settingViewHieht - showSettingHeight - buttonListHeight - MinusHeight;
993
- let resultHeight = setShowHeight > 100 ? setShowHeight : 100;
994
- if (this.$refs.setShow) {
995
- this.$refs.setShow.style.maxHeight = resultHeight + 'px';
996
- this.$refs.setShow.style.height = resultHeight + 'px';
997
- }
998
- },
999
- initAboutSetting() {
1000
- let tableId = this.settingViewData.id || this.settingViewData.tableId;
1001
- let urlAbout = this.isMenuSource ? `/tableList/getAboutItemMiddleSetting` : `/tableList/getAboutItemSetting`;
1002
- let params = {
1003
- tableId: tableId,
1004
- tableType: this.$route.query.tableType === 'DEFINED_TABLE_LIST' || this.menuObj.reportType === 'definedListConfig' ? 'definedListConfig' : null
1005
- };
1006
- this.axios.get(urlAbout, { params }).then(({ data }) => {
1007
- if (data.result == 'SUCCESS') {
1008
- let { setting = {}, settingMobile = {} } = data.map;
1009
- this.relatedSetting = setting;
1010
- this.relatedSettingMobile = settingMobile;
1011
- let pcList = [
1012
- {
1013
- k: 'layoutPc', // key
1014
- v: 'TAB' // 默认值
1015
- },
1016
- {
1017
- k: 'locationPc',
1018
- v: 'LEFT'
1019
- },
1020
- {
1021
- k: 'triggerMethodPc',
1022
- v: 'doubleClick'
1023
- },
1024
- {
1025
- k: 'triggerMethodField',
1026
- v: undefined
1027
- },
1028
- {
1029
- k: 'layoutPcName',
1030
- v: DEFLAYOUTPCNAME
1031
- },
1032
- {
1033
- k: 'aboutItemPositionPc',
1034
- v: 'RIGHT'
1035
- },
1036
- {
1037
- k: 'tabName',
1038
- v: ''
1039
- },
1040
- {
1041
- k: 'tabInputName',
1042
- v: ''
1043
- }
1044
- ];
1045
- this.aboutItemList = setting.showItems;
1046
- this.aboutSid = setting.sid;
1047
- if (setting.aboutItemPositionPc == 'TAB' && setting.tabName && setting.tabName != 'INPUT' && setting.tabName.includes('table.')) {
1048
- setting.tabName = setting.tabName.split('.')[1];
1049
- }
1050
- pcList.forEach(p => {
1051
- this[p.k] = setting[p.k] || p.v;
1052
- });
1053
-
1054
- this.mobileAboutItemList = settingMobile.showItems;
1055
- this.mobileAboutSid = settingMobile.mbSid;
1056
-
1057
- let mbList = [
1058
- { k: 'layoutMobile', v: 'TAB' },
1059
- { k: 'layoutMobileName', V: '详情' },
1060
- { k: 'triggerMethodMobile', v: 'singleClick' }
1061
- ];
1062
-
1063
- mbList.forEach(p => {
1064
- this[p.k] = settingMobile[p.k] || p.v;
1065
- });
1066
- }
1067
- });
1068
- },
1069
- handleRelateChange() {
1070
- let { layoutPc, locationPc, aboutItemPositionPc, layoutPcName, triggerMethodField, triggerMethodPc, tabName, tabInputName } = this.relatedSetting;
1071
- this.aboutItemPositionPc = aboutItemPositionPc || 'RIGHT';
1072
- this.tabName = tabName || '';
1073
- this.tabInputName = tabInputName || '';
1074
- this.layoutPc = layoutPc || 'TAB';
1075
- this.layoutMobile = this.relatedSettingMobile.layoutMobile || 'TAB';
1076
- this.layoutMobileName = this.relatedSettingMobile.layoutMobileName;
1077
- this.triggerMethodMobile = this.relatedSettingMobile.triggerMethodMobile || 'singleClick';
1078
- this.locationPc = locationPc || 'LEFT';
1079
- this.layoutPcName = layoutPcName || DEFLAYOUTPCNAME;
1080
- this.triggerMethodField = triggerMethodField || this.triggerMethodField || 'doubleClick';
1081
- this.triggerMethodPc = triggerMethodPc || this.triggerMethodPc;
1082
- },
1083
- aboutItemPosition(e) {
1084
- let { value = 'RIGHT' } = e?.target || {};
1085
- if (value === 'BOTTOM') {
1086
- this.layoutPc = 'TAB';
1087
- }
1088
- if (value === 'TAB') {
1089
- this.tabName = (this.fieldList.length && this.fieldList[0].columnName) || 'INPUT';
1090
- }
1091
- if (value !== 'TAB') {
1092
- this.tabName = '';
1093
- this.tabInputName = '';
1094
- }
1095
- },
1096
- changeTabName(val) {
1097
- if (val !== 'INPUT') {
1098
- this.tabInputName && (this.tabInputName = '');
1099
- }
1100
- },
1101
- onChangeShow(e, ele, j) {
1102
- if (e.target.checked == true) {
1103
- ele.isShow = 1;
1104
- } else {
1105
- ele.isShow = 0;
1106
- }
1107
- // this.handleSetfieldTracher(ele, j);
1108
- },
1109
- onChangeEdit(e, ele, j) {
1110
- if (e.target.checked == true) {
1111
- ele.isEdit = 1;
1112
- } else {
1113
- ele.isEdit = 0;
1114
- }
1115
- // this.handleSetfieldTracher(ele, j);
1116
- },
1117
- // 搜索checkbox-change事件
1118
- onChangeSearch(e, ele) {
1119
- if (e.target.checked == true) {
1120
- ele.isSearch = 1;
1121
- if (ele.filterExplicit !== 1) {
1122
- // 勾选搜索并且没有勾选筛选外显时勾选高级筛选
1123
- ele.isShowSearch = 1;
1124
- }
1125
- } else {
1126
- ele.isSearch = 0;
1127
- }
1128
- },
1129
- onChangeSort(e, ele, j) {
1130
- if (e.target.checked == true) {
1131
- ele.isSort = 1;
1132
- } else {
1133
- ele.isSort = 0;
1134
- }
1135
- // this.handleSetfieldTracher(ele, j);
1136
- },
1137
- onChangeSum(e, ele) {
1138
- if (e.target.checked == true) {
1139
- ele.isSum = 1;
1140
- } else {
1141
- ele.isSum = 0;
1142
- }
1143
- },
1144
- onChangeAvg(e, ele) {
1145
- if (e.target.checked == true) {
1146
- ele.isAvg = 1;
1147
- } else {
1148
- ele.isAvg = 0;
1149
- }
1150
- },
1151
- onChangeFixed(e, ele) {
1152
- if (e.target.checked == true) {
1153
- ele.isFixed = 1;
1154
- } else {
1155
- ele.isFixed = 0;
1156
- }
1157
- },
1158
- onChangeQuick(e, ele) {
1159
- if (e.target.checked == true) {
1160
- ele.isShowSearch = 1;
1161
- // ele.filterExplicit = 0;
1162
- } else {
1163
- ele.isShowSearch = 0;
1164
- ele.filterExplicit = 0;
1165
- }
1166
- },
1167
- onChangeOutFilter(e, ele) {
1168
- if (e.target.checked == true) {
1169
- ele.filterExplicit = 1;
1170
- ele.isShowSearch = 1;
1171
- } else {
1172
- // ele.isShowSearch = 1;
1173
- ele.filterExplicit = 0;
1174
- }
1175
- },
1176
-
1177
- onButtonChecked(e, itemButton) {
1178
- if (e.target.checked == true) {
1179
- itemButton.isShow = 1;
1180
- } else {
1181
- itemButton.isShow = 0;
1182
- }
1183
- },
1184
-
1185
- showSetting(e, v) {
1186
- this.tableView[v] = e.target.checked;
1187
-
1188
- // 埋点
1189
- // this.$_handleTracherLog('列表显示设置', {
1190
- // 列表ID: this.settingViewData.id || this.settingViewData.tableId,
1191
- // 列表名称: this.tableName || this.$attrs?.tableName || '',
1192
- // 设置项: v,
1193
- // 设置值: this[v]
1194
- // });
1195
- },
1196
- changeGroupShow(e, group) {
1197
- let value = e.target.checked ? '1' : '0';
1198
- group.isShow = value;
1199
- },
1200
- handlerChangeRadios(e, i) {
1201
- this.testData.forEach((el, j) => {
1202
- if (i !== j) {
1203
- el.select = '0';
1204
- }
1205
- });
1206
- },
1207
- handleChangeTem() {},
1208
- // 添加视图
1209
- handlerAddView(data = {}) {
1210
- let { type, typeTable, refString } = data;
1211
- this.viewTypeObj = {
1212
- type,
1213
- typeTable,
1214
- refString
1215
- };
1216
- this.defaultViewDetail = {};
1217
- // this.ViewModalVisible = true;
1218
- this.viewSetVisible = true;
1219
- },
1220
- saveDefault(val) {
1221
- this.spinning = val;
1222
- },
1223
-
1224
- // 修改视图
1225
- handlerEditView(data = {}) {
1226
- let { type, typeTable, refString, curData, defaultMark } = data;
1227
- this.viewTypeObj = {
1228
- type,
1229
- typeTable,
1230
- refString,
1231
- defaultMark
1232
- };
1233
- this.defaultViewDetail = curData || {};
1234
- this.viewSetVisible = true;
1235
- // 修改
1236
- this.viewTempType = 'edit';
1237
- },
1238
- // 刷新
1239
- handlerRefresh() {
1240
- this.hanlderRefreshTable();
1241
- },
1242
- hanlderRefreshTable() {
1243
- this.initSetting();
1244
- this.$emit('reload');
1245
- },
1246
- setSpinning(val) {
1247
- this.spinning = val;
1248
- },
1249
- saveMethod(data) {
1250
- if (data.result == 'SUCCESS') {
1251
- this.$message.success(this.$t('1.6.6'));
1252
- if (this.menuSource === 'middle') {
1253
- if (this.openModal) {
1254
- // this.$router.go(-1);
1255
- // return;
1256
- this.$emit('middleCancel');
1257
- this.$emit('emitMethod');
1258
- return;
1259
- }
1260
- }
1261
- this.emitMethod();
1262
- } else {
1263
- this.$message.error(this.$t('1.4.2.9'));
1264
- }
1265
- },
1266
- emitMethod() {
1267
- this.$emit('reload');
1268
- this.$emit('reloadPage');
1269
- this.$emit('onCloseSetting');
1270
- },
1271
- handleHideExpression(item) {
1272
- if (item.hideExpression) {
1273
- item.expressionFlag = /(^\d+$)|(^[L,l,R,r]\(\d+\)(~\(\d+\))?$)/.test(item.hideExpression);
1274
- } else {
1275
- item.expressionFlag = true;
1276
- }
1277
- },
1278
- handleRequestedBtnSet() {
1279
- let url = this.isMenuSource ? `/tableList/getMiddleButtonSetting` : `/tableList/getButtonSetting`;
1280
- this.axios
1281
- .get(url, {
1282
- params: {
1283
- tableId: this.settingViewData.id || this.settingViewData.tableId,
1284
- tableType: this.$route.query.tableType === 'DEFINED_TABLE_LIST' || this.menuObj.reportType === 'definedListConfig' ? 'definedListConfig' : null
1285
- }
1286
- })
1287
- .then(({ data }) => {
1288
- if (data.result === 'SUCCESS') {
1289
- let { map = {} } = data;
1290
- this.btnSettingObj = map.setting;
1291
- this.btnMobileSettingObj = map.settingMobile;
1292
- // this.setting = map.setting;
1293
- // this.settingMobile = map.settingMob`ile;
1294
- this.btnSetting.hideButtons = map.setting.hideButtons || [];
1295
- this.btnSetting.showButtons = map.setting.showButtons || [];
1296
- this.btnSetting.sid = map.setting.sid;
1297
- this.btnMobileSetting.hideButtons = map.settingMobile.hideButtons || [];
1298
- this.btnMobileSetting.showButtons = map.settingMobile.showButtons || [];
1299
- this.btnMobileSetting.sid = map.settingMobile.sid;
1300
- }
1301
- })
1302
- .catch(err => {
1303
- console.log(err);
1304
- });
1305
- },
1306
- handleMoveBtn(ele, index, type) {
1307
- let tpList = type.split('-');
1308
- this.aboutEditType = tpList[0];
1309
- this.aboutModel = 'btn-' + tpList[1];
1310
- let { btnSetting = {}, btnMobileSetting } = this;
1311
- this.clickTimes++;
1312
- if (this.clickTimes == 2) {
1313
- this.modalTitle = '1.9.276';
1314
- this.curAboutType = ele.type || '';
1315
- this.visibleShowItem = true;
1316
- this.itemTitleShowItem = ele.name;
1317
- this.btnIcon = ele.style;
1318
- this.clickTimes = 0;
1319
- }
1320
- setTimeout(() => {
1321
- if (this.clickTimes == 1) {
1322
- if (tpList[1] == 'show') {
1323
- if (tpList[0] == 'PC') {
1324
- btnSetting.hideButtons.push(...btnSetting.showButtons.splice(index, 1));
1325
- } else {
1326
- btnMobileSetting.hideButtons.push(...btnMobileSetting.showButtons.splice(index, 1));
1327
- }
1328
- } else {
1329
- if (tpList[0] == 'PC') {
1330
- btnSetting.showButtons.push(...btnSetting.hideButtons.splice(index, 1));
1331
- } else {
1332
- btnMobileSetting.showButtons.push(...btnMobileSetting.hideButtons.splice(index, 1));
1333
- }
1334
- }
1335
-
1336
- this.clickTimes = 0;
1337
- }
1338
- }, 300);
1339
- },
1340
- saveBtnSetItem(type = 'PC') {
1341
- let { btnSetting = {}, btnMobileSetting = {} } = this;
1342
- let isPc = type === 'PC';
1343
- let settingAbout = {};
1344
- let mapBtnList = (list = []) =>
1345
- list.map(v => {
1346
- return {
1347
- id: v.sid,
1348
- name: v.name,
1349
- icon: v.icon
1350
- };
1351
- });
1352
-
1353
- if (isPc) {
1354
- settingAbout.hideButtons = mapBtnList(btnSetting.hideButtons);
1355
- settingAbout.showButtons = mapBtnList(btnSetting.showButtons);
1356
- } else {
1357
- settingAbout.hideButtons = mapBtnList(btnMobileSetting.hideButtons);
1358
- settingAbout.showButtons = mapBtnList(btnMobileSetting.showButtons);
1359
- }
1360
- let params = {
1361
- id: isPc ? this.btnSetting.sid : this.btnMobileSetting.sid,
1362
- tableId: this.settingViewData.id || this.settingViewData.tableId,
1363
- setting: JSON.stringify(settingAbout),
1364
- classify: type
1365
- };
1366
- let url = `/tableList/saveButtonSetting`;
1367
- this.spinning = true;
1368
- this.axios
1369
- .post(url, this.$qs.stringify(params))
1370
- .then(({ data }) => {
1371
- this.spinning = false;
1372
- if (data) {
1373
- this.saveMethod(data);
1374
- }
1375
- })
1376
- .catch(() => {
1377
- this.spinning = false;
1378
- });
1379
- },
1380
- colWidthChange() {
1381
- this.isColWidthChange = true;
1382
- },
1383
- goMiddleListDetail() {
1384
- // let id = data.id || data.tableId;
1385
- // this.setModalOpenMiddle(1);
1386
- this.modalWidth = '1280px';
1387
- this.middleListModal = true;
1388
- },
1389
- middleCancel() {
1390
- this.setModalOpenMiddle('');
1391
- this.modalWidth = '1280px';
1392
- this.modalHeight = '748px';
1393
- this.isChangeWindow = false;
1394
- this.middleListModal = false;
1395
- },
1396
- goBack(refresh = false) {
1397
- if (this.openModal) {
1398
- if (refresh) {
1399
- this.$emit('emitMethod');
1400
- }
1401
- this.middleCancel();
1402
- this.$emit('middleCancel');
1403
- } else {
1404
- // this.$router.go(-1);
1405
- this.$router.push({
1406
- path: '/middleList',
1407
- query: { keywords: this.$route.query.keywords }
1408
- });
1409
- }
1410
- },
1411
-
1412
- getRefreshStatus() {
1413
- this.isRefreshStatus = true;
1414
- },
1415
-
1416
- async tabsOnChange(activeKey) {
1417
- switch (activeKey) {
1418
- case 'expandfields':
1419
- this.isRefreshStatus = false;
1420
- break;
1421
- case 'fieldList':
1422
- if (this.isRefreshStatus) {
1423
- this.initSetting();
1424
- }
1425
- break;
1426
- case '2':
1427
- if (this.$utils.isEmpty(this.btnSettingObj)) {
1428
- this.handleRequestedBtnSet();
1429
- }
1430
- break;
1431
- case '3':
1432
- if (this.$utils.isEmpty(this.relatedSetting)) {
1433
- this.initAboutSetting();
1434
- }
1435
- break;
1436
- default:
1437
- break;
1438
- }
1439
- },
1440
- openColor() {
1441
- this.showColor = true;
1442
- this.curColor = this.color || '#000000';
1443
- },
1444
- handleOkColor(val) {
1445
- this.color = val;
1446
- this.showColor = false;
1447
- },
1448
- closeColor(val) {
1449
- this.showColor = val;
1450
- },
1451
- changeModalWindow() {
1452
- this.isChangeWindow = !this.isChangeWindow;
1453
- let docHeight = document.body.clientHeight;
1454
- this.modalWidth = this.modalWidth === '1280px' ? `100%` : '1280px';
1455
- this.modalHeight = this.modalHeight === '748px' ? `${docHeight - 55}px` : '748px';
1456
- this.$nextTick(() => {
1457
- this.$refs.ListDetail?.handlePageHeight();
1458
- });
1459
- },
1460
- getContainer() {
1461
- // fix safari浏览器兼容
1462
- return document.body;
1463
- },
1464
- getAboutContainer() {
1465
- return document.getElementsByClassName('setting-tabs-about')[0];
1466
- },
1467
- showCheckBox(key) {
1468
- return this.fields.some(i => Object.prototype.hasOwnProperty.call(i, key));
1469
- },
1470
- calculateCheck(key) {
1471
- if (!this.fields.length) return false;
1472
- return this.fields.every(i => {
1473
- if (!Object.prototype.hasOwnProperty.call(i, key)) return true;
1474
- return i[key];
1475
- });
1476
- },
1477
- handleAllCheck(e, key) {
1478
- const value = e.target.checked ? 1 : 0;
1479
- this.fields.forEach(i => {
1480
- if (Object.prototype.hasOwnProperty.call(i, key)) {
1481
- i[key] = value;
1482
- }
1483
- return i;
1484
- });
1485
- this.fields = [].concat(this.fields);
1486
- },
1487
- hanldeSaveAboutItem() {
1488
- this.saveSetting();
1489
- },
1490
- handleFieldClick(item) {
1491
- this.clickItem = item;
1492
- },
1493
-
1494
- // // 修改默认排序
1495
- // onChangeIsOrder(e, item, j) {
1496
- // this.handleSetfieldTracher(item, j);
1497
- // },
1498
-
1499
- // // 修改固定
1500
- // onChangeIsFixed(e, item, j) {
1501
- // this.handleSetfieldTracher(item, j);
1502
- // },
1503
-
1504
- // //
1505
- // colWidthChangeOnBlur(e, item, j) {
1506
- // this.handleSetfieldTracher(item, j);
1507
- // },
1508
-
1509
- // handleSetfieldTracher(item, i) {
1510
- // try {
1511
- // // 埋点
1512
- // this.$_handleTracherLog('列表字段设置', {
1513
- // 列表ID: this.settingViewData.id || this.settingViewData.tableId,
1514
- // 列表名称: this.tableName || this.$attrs?.tableName || '',
1515
- // 字段: item.title,
1516
- // 显示: item.isShow,
1517
- // 排序: item.isSort,
1518
- // 默认排序: item.isOrder,
1519
- // 固定: item.isFixed,
1520
- // 列宽: item.colWidth,
1521
- // 顺序位置: i
1522
- // });
1523
- // } catch (error) {
1524
- // console.log(error);
1525
- // }
1526
- // },
1527
- // 选择上下显示比列
1528
- changeRatio(e) {
1529
- this.displayRatio = e;
1530
- },
1531
- // 自定义表格的条数
1532
- onChange(val) {
1533
- if (val > 300) {
1534
- this.$message.error('分页数不能超过300条/页');
1535
- }
1536
- if (!val) {
1537
- this.pageSizeCustom = undefined;
1538
- this.pageSize = 1;
1539
- } else {
1540
- this.pageSize = val;
1541
- }
1542
- },
1543
- visibleEditCheckbox(ele) {
1544
- let find = this.listFormUnionSetting?.paramsList?.find(item => item.tableField === ele.columnName);
1545
- return ele.sid != '0001' && find;
1546
- }
1547
- }
1548
- });
1549
- </script>
1550
- <style scoped lang="less">
1551
- ul {
1552
- margin: 0;
1553
- padding: 0;
1554
- }
1555
-
1556
- .fields-set-content {
1557
- height: 100%;
1558
- display: flex;
1559
- flex-direction: column;
1560
- overflow: hidden;
1561
- .fields-table {
1562
- flex: 1;
1563
- display: flex;
1564
- flex-direction: column;
1565
- overflow: auto;
1566
- }
1567
- }
1568
- .new-name {
1569
- display: inline-block;
1570
- width: 10%;
1571
- text-align: left;
1572
- }
1573
- .new-name-input {
1574
- width: 90%;
1575
- margin-bottom: 10px;
1576
- }
1577
- .name-new-change {
1578
- margin: 15px 0px 0px 40px;
1579
- }
1580
- /deep/ .ant-tabs {
1581
- padding: 0 16px;
1582
- .ant-tabs-nav-scroll {
1583
- text-align: left;
1584
- }
1585
- .ant-tabs-content {
1586
- text-align: left;
1587
- }
1588
- .ant-tabs-bar {
1589
- margin-bottom: 8px;
1590
- }
1591
- &.setting-tabs {
1592
- color: #7587af;
1593
- .ant-tabs-bar {
1594
- border-bottom: unset;
1595
- }
1596
- .ant-tabs-nav {
1597
- transition: none;
1598
- }
1599
- .ant-tabs-tab {
1600
- padding-bottom: unset;
1601
- > span {
1602
- display: inline-flex;
1603
- flex-direction: column;
1604
- justify-content: flex-start;
1605
- align-items: center;
1606
- > i {
1607
- margin-right: 0;
1608
- }
1609
- }
1610
- }
1611
- .ant-tabs-ink-bar,
1612
- .ant-tabs-ink-bar-animated {
1613
- display: none !important;
1614
- }
1615
- &.setting-tabs-about {
1616
- .location {
1617
- span {
1618
- margin-right: 8px;
1619
- }
1620
- }
1621
- .location + .location {
1622
- margin-top: 6px;
1623
- }
1624
- }
1625
- }
1626
- }
1627
-
1628
- .setting-view {
1629
- height: 100%;
1630
- position: relative;
1631
- /deep/ .ant-spin-container {
1632
- width: 100%;
1633
- height: 100%;
1634
- }
1635
- .settingview-tabs {
1636
- position: relative;
1637
- padding: 0;
1638
- /* 非中台,仅展示字段设置的情况下,隐藏tab */
1639
- &.settingview-only {
1640
- /deep/ .ant-tabs-bar {
1641
- opacity: 0;
1642
- pointer-events: none;
1643
- .ant-tabs-tab-btn-disabled {
1644
- cursor: default;
1645
- }
1646
- }
1647
- }
1648
- }
1649
- &.no-padding {
1650
- height: 100%;
1651
- padding-bottom: 0;
1652
- }
1653
- .setting-wrap {
1654
- position: absolute;
1655
- top: 12px;
1656
- right: 16px;
1657
- color: #212121 !important;
1658
-
1659
- cursor: pointer;
1660
- > div {
1661
- display: inline-block;
1662
- }
1663
- }
1664
- .setting-title {
1665
- background: #f2f2f4;
1666
- border: 1px solid #f2f2f2;
1667
- height: 52px;
1668
- line-height: 52px;
1669
- span {
1670
- display: inline-block;
1671
- }
1672
- &.seting-title-api {
1673
- .width-large {
1674
- width: 15%;
1675
- }
1676
- }
1677
- }
1678
- .set-show {
1679
- min-height: 100px;
1680
- overflow-y: auto;
1681
- &.set-show-api {
1682
- .width-large {
1683
- width: 15%;
1684
- }
1685
- }
1686
-
1687
- .left-style.sortable-chosen {
1688
- background: #fafafa;
1689
- box-shadow: 0px 0px 10px 0px #d5d5d5;
1690
- }
1691
-
1692
- li {
1693
- padding: 5px 0;
1694
- display: flex;
1695
- align-items: center;
1696
- border-bottom: 1px solid #e8e8e8;
1697
- height: 52px;
1698
- line-height: 52px;
1699
- }
1700
- .alias-style {
1701
- outline: none;
1702
- border-radius: 4px 4px 4px 4px;
1703
- border: solid 1px #d5d5d5;
1704
- height: 32px;
1705
- text-indent: 16px;
1706
- color: #38454f;
1707
- width: 100%;
1708
- }
1709
- .is-sort-style {
1710
- outline: none;
1711
- border-radius: 4px 4px 4px 4px;
1712
- border: solid 1px #d5d5d5;
1713
- height: 32px;
1714
- text-indent: 6px;
1715
- color: #38454f;
1716
- width: 87px;
1717
- margin-right: 5px;
1718
- &:disabled {
1719
- cursor: not-allowed;
1720
- background: #f5f5f5;
1721
- }
1722
- }
1723
- .col-width-style {
1724
- width: 70px;
1725
- }
1726
- .title-item {
1727
- display: inline-flex;
1728
- justify-content: flex-start;
1729
- align-items: center;
1730
- text-align: left;
1731
- > span {
1732
- display: inline-block;
1733
- max-width: calc(100% - 20px);
1734
- overflow: hidden;
1735
- white-space: nowrap;
1736
- text-overflow: ellipsis;
1737
- }
1738
- }
1739
- }
1740
- .alias-style {
1741
- outline: none;
1742
- border-radius: 4px 4px 4px 4px;
1743
- border: solid 1px rgba(212, 222, 229, 1);
1744
- height: 32px;
1745
- text-indent: 16px;
1746
- color: #38454f;
1747
- }
1748
- .buttonList {
1749
- padding-bottom: 24px;
1750
- padding-bottom: 20px;
1751
- border-bottom: 1px solid #d5d5d5;
1752
- }
1753
- .show-setting {
1754
- padding-top: 24px;
1755
- padding-bottom: 16px;
1756
- /deep/.ant-checkbox-wrapper {
1757
- margin-left: 0;
1758
- margin-right: 8px;
1759
- }
1760
- }
1761
- .btn-operate {
1762
- border-top: 1px solid #d5d5d5;
1763
- padding: 12px 0 4px;
1764
- }
1765
- .lable-title {
1766
- color: #000000;
1767
- margin-bottom: 11px;
1768
- font-size: 16px;
1769
- cursor: pointer;
1770
- &.pagesize-title {
1771
- margin-top: 20px;
1772
- border-top: 1px solid #d5d5d5;
1773
- padding-top: 14px;
1774
- }
1775
- }
1776
-
1777
- .view-model-input {
1778
- margin: 5px 0;
1779
- }
1780
- .left-show-part {
1781
- padding-right: 20px;
1782
- border-right: 1px solid rgb(205, 197, 211);
1783
- height: 748px;
1784
- overflow-y: auto;
1785
- .show-content-header {
1786
- cursor: pointer;
1787
- height: 30px;
1788
- line-height: 30px;
1789
- border-bottom: 1px dashed #eee;
1790
- margin-bottom: 10px;
1791
- .left-item-height {
1792
- height: 748px;
1793
- }
1794
- .show-content-headerOperate {
1795
- float: right;
1796
- color: #428bca;
1797
- cursor: pointer;
1798
- }
1799
- }
1800
-
1801
- .show-field-style {
1802
- border: 1px solid rgb(205, 197, 211);
1803
- background: #fdfdfd;
1804
- height: 40px;
1805
- line-height: 40px;
1806
- margin: 0px 10px 10px 0px;
1807
- padding-left: 8px;
1808
- color: #5585f5;
1809
- border-radius: 5px;
1810
- .show-filed-edit {
1811
- float: right;
1812
- select {
1813
- outline: none;
1814
- border-radius: 4px 4px 4px 4px;
1815
- border: solid 1px rgba(212, 222, 229, 1);
1816
- height: 28px;
1817
- text-indent: 7px;
1818
- color: #38454f;
1819
- width: 60px;
1820
- margin-right: 2px;
1821
- }
1822
- button {
1823
- height: 28px;
1824
- margin-right: 2px;
1825
- text-align: center;
1826
- }
1827
- }
1828
- }
1829
- }
1830
-
1831
- .right-hide-part {
1832
- height: 800px;
1833
- overflow-y: auto;
1834
- .titleHide {
1835
- height: 30px;
1836
- line-height: 30px;
1837
- font-size: 18px;
1838
- border-bottom: 1px solid #eee;
1839
- margin-bottom: 20px;
1840
- }
1841
- padding: 5px;
1842
- .hide-field-style {
1843
- border: 1px solid rgb(205, 197, 211);
1844
- background: #fdfdfd;
1845
- height: 40px;
1846
- line-height: 40px;
1847
- margin: 0px 10px 10px 10px;
1848
- padding-left: 8px;
1849
- border-radius: 5px;
1850
- height: 100%;
1851
- }
1852
- }
1853
- .line-style {
1854
- padding-bottom: 6px;
1855
- border-bottom: 1px dashed #ccc;
1856
- overflow: hidden;
1857
- padding-left: 8px;
1858
- height: 40px;
1859
- line-height: 40px;
1860
- margin: 0px 0px 10px 0px;
1861
- .line-edit-style {
1862
- float: right;
1863
- button {
1864
- margin-right: 5px;
1865
- }
1866
- }
1867
- }
1868
-
1869
- .row-style {
1870
- margin: 6px 0;
1871
- .inner-show {
1872
- margin: 0px 3px;
1873
- border: 1px solid #ccc;
1874
- border-radius: 5px;
1875
- padding-left: 12px;
1876
- height: 40px;
1877
- line-height: 40px;
1878
- .row-lable-style {
1879
- float: left;
1880
- margin-right: 5px;
1881
- }
1882
- .row-edit {
1883
- float: right;
1884
- .row-select-style {
1885
- outline: none;
1886
- border-radius: 4px 4px 4px 4px;
1887
- border: solid 1px #d4dee5;
1888
- height: 32px;
1889
- text-indent: 3px;
1890
- color: #38454f;
1891
- width: 55px;
1892
- float: left;
1893
- margin-top: 3px;
1894
- margin-right: 5px;
1895
- }
1896
- .row-button-style {
1897
- float: right;
1898
- margin-top: 3px;
1899
- margin-right: 3px;
1900
- width: 50px;
1901
- padding-left: 7px;
1902
- }
1903
- }
1904
- }
1905
- }
1906
-
1907
- .related-items {
1908
- .list-head {
1909
- height: 30px;
1910
- line-height: 30px;
1911
- // border-bottom: thin solid #ccc;
1912
- margin-bottom: 10px;
1913
- }
1914
- label {
1915
- display: inline-block;
1916
- max-width: 100%;
1917
- margin-bottom: 5px;
1918
- margin-right: 10px;
1919
- font-weight: 700;
1920
- }
1921
- .text-muted {
1922
- color: #777;
1923
- }
1924
- li {
1925
- position: relative;
1926
- display: inline-block;
1927
- padding: 6px;
1928
- margin-right: 8px;
1929
- border: 1px dashed #ccc;
1930
- margin-bottom: 8px;
1931
- &.homepage-li {
1932
- border-style: solid;
1933
- }
1934
- .close-btn {
1935
- position: absolute;
1936
- top: -6px;
1937
- right: -6px;
1938
- font-size: 12px;
1939
- background: #fff;
1940
- color: #cfcfcf;
1941
- cursor: pointer;
1942
- &:hover {
1943
- color: #8c8c8c;
1944
- }
1945
- }
1946
- }
1947
- }
1948
- .view-about {
1949
- height: 300px;
1950
- overflow-y: auto;
1951
- border: thin solid #d2d9e8;
1952
- padding: 16px;
1953
- margin-bottom: 16px;
1954
- }
1955
- .allWidth {
1956
- width: 100%;
1957
- }
1958
- .halfWidth {
1959
- width: 50%;
1960
- }
1961
- .threeWidth {
1962
- width: 33.33%;
1963
- }
1964
- .fourWidth {
1965
- width: 25%;
1966
- }
1967
- .width-less {
1968
- display: inline-block;
1969
- width: 5%;
1970
- overflow: hidden;
1971
- white-space: nowrap;
1972
- text-overflow: ellipsis;
1973
- }
1974
- .width-show {
1975
- display: inline-block;
1976
- width: 4.5%;
1977
- overflow: hidden;
1978
- white-space: nowrap;
1979
- text-overflow: ellipsis;
1980
- }
1981
- .drag-icon-wrap {
1982
- width: 3%;
1983
- cursor: pointer;
1984
- text-align: center;
1985
- }
1986
- .width-showed {
1987
- display: inline-block;
1988
- width: 9%;
1989
- overflow: hidden;
1990
- white-space: nowrap;
1991
- text-overflow: ellipsis;
1992
- }
1993
- .width-word {
1994
- display: inline-block;
1995
- width: 10%;
1996
- line-height: 52px;
1997
- overflow: hidden;
1998
- white-space: nowrap;
1999
- text-overflow: ellipsis;
2000
- padding-right: 8px;
2001
- }
2002
- .width-word-a {
2003
- display: inline-block;
2004
- width: 12%;
2005
- line-height: 52px;
2006
- overflow: hidden;
2007
- white-space: nowrap;
2008
- text-overflow: ellipsis;
2009
- padding-right: 8px;
2010
- }
2011
- .width-large {
2012
- display: inline-block;
2013
- width: 10%;
2014
- overflow: hidden;
2015
- white-space: nowrap;
2016
- text-overflow: ellipsis;
2017
- }
2018
-
2019
- .button-is-up {
2020
- margin-right: 5px;
2021
- }
2022
- .tip-color {
2023
- font-weight: 500;
2024
- color: yellow;
2025
- line-height: 1.5;
2026
- }
2027
-
2028
- .error-tip {
2029
- border: 1px solid red !important;
2030
- }
2031
- .small-font {
2032
- font-size: 12px;
2033
- line-height: 1.5;
2034
- p {
2035
- padding: 0;
2036
- margin: 0;
2037
- }
2038
- }
2039
- .show-ratio {
2040
- /deep/ .ant-select {
2041
- width: 200px;
2042
- }
2043
- /deep/.ant-select-selection--single {
2044
- height: 26px;
2045
- }
2046
- /deep/ .ant-select-selection__rendered {
2047
- line-height: 24px;
2048
- }
2049
- }
2050
- }
2051
- </style>
2052
- <style>
2053
- .popver-content {
2054
- height: 400px;
2055
- overflow: hidden;
2056
- overflow-y: auto;
2057
- }
2058
- .popver-ul {
2059
- margin-bottom: 10px;
2060
- }
2061
- .ul-title {
2062
- font-size: 14px;
2063
- font-weight: 400;
2064
- color: rgba(145, 159, 190, 1);
2065
- line-height: 20px;
2066
- }
2067
- </style>
1
+ <template>
2
+ <div class="setting-view" ref="settingView">
3
+ <c-spin :spinning="spinning" :tip="`...`" style="width: 100%; height: 100%">
4
+ <div class="fields-set-content">
5
+ <div class="fields-table">
6
+ <div class="setting-title" :class="{ 'seting-title-api': !isCustomSearch }">
7
+ <span class="width-show" style="width: 3%">&nbsp;</span>
8
+ <!-- 字段名称 -->
9
+ <span class="width-large"> 所有字段 </span>
10
+ <!-- 编辑 -->
11
+ <!-- <span v-if="false" class="width-show">
12
+ <c-checkbox v-if="showCheckBox('isEdit')" :checked="calculateCheck('isEdit')" @change="handleAllCheck($event, 'isEdit')" />
13
+ 编辑
14
+ </span> -->
15
+ <!-- 显示 -->
16
+ <span class="width-show">
17
+ <c-checkbox v-if="showCheckBox('isShow')" :checked="calculateCheck('isShow')" @change="handleAllCheck($event, 'isShow')" />
18
+ 显示
19
+ </span>
20
+ <!-- 排序 -->
21
+ <span class="width-show">
22
+ <c-checkbox v-if="showCheckBox('isSort')" :checked="calculateCheck('isSort')" @change="handleAllCheck($event, 'isSort')" />
23
+ 排序
24
+ </span>
25
+ <!-- 默认排序 -->
26
+ <!-- <span class="width-showed">默认排序</span> -->
27
+ <!-- <slot> -->
28
+ <!-- 搜索 -->
29
+ <!-- <span class="width-show">
30
+ <c-checkbox
31
+ v-if="showCheckBox('isSearch')"
32
+ :checked="calculateCheck('isSearch')"
33
+ @change="handleAllCheck($event, 'isSearch')"
34
+ />
35
+ 搜索
36
+ </span> -->
37
+ <!-- 求和 -->
38
+ <!-- <span class="width-show" v-if="isCustomSearch">求和</span> -->
39
+ <!-- 平均值 -->
40
+ <!-- <span class="width-show" v-if="isCustomSearch">平均值</span> -->
41
+ <!-- </slot> -->
42
+ <!-- 固定 -->
43
+ <span class="width-showed">固定</span>
44
+ <slot>
45
+ <!-- 自定义标题 -->
46
+ <span class="width-word">自定义标题</span>
47
+ </slot>
48
+ <!-- 列宽 -->
49
+ <span class="width-showed">列宽</span>
50
+ <!-- 部分隐藏 -->
51
+ <span v-if="false" class="width-word-a">
52
+ 部分隐藏
53
+ <c-tooltip placement="bottom" :getPopupContainer="triggerNode => triggerNode.parentNode">
54
+ <template slot="title">
55
+ <div class="small-font">
56
+ 输入框填写内容与要求 <br />
57
+ n:隐藏中间n个字符 <br />
58
+ L(n):从左往右第n个位置隐藏 L(n)~(m):从左往右第n~m个位置隐藏<br />
59
+ R(n):从右往左第n个位置开始前面做隐藏<br />
60
+ R(n)~(m):从右往左第n~m个位置隐藏<br />
61
+ 说明:n、m为正整数(即1、2、3等);括号为英文状态下输入项。
62
+ </div>
63
+ </template>
64
+ <c-icon type="question-circle" />
65
+ </c-tooltip>
66
+ </span>
67
+ <!-- 高级筛选 -->
68
+ <!-- <span class="width-less">
69
+ <c-checkbox v-if="showCheckBox('isShowSearch')" :checked="calculateCheck('isShowSearch')" @change="handleAllCheck($event, 'isShowSearch')" />
70
+ 快速检索
71
+ </span>
72
+ <span class="width-less"> 筛选外显 </span> -->
73
+ </div>
74
+ <div class="set-show" ref="setShow" :class="{ 'set-show-api': !isCustomSearch }">
75
+ <draggable v-model="fields" animation="150" tag="ul" handle=".drag-icon-wrap">
76
+ <li
77
+ class="left-style"
78
+ :style="{
79
+ background: clickItem.sid === ele.sid ? '#f2f2f2' : null
80
+ }"
81
+ v-for="(ele, j) in fields"
82
+ :key="ele.sid"
83
+ @click="handleFieldClick(ele)"
84
+ >
85
+ <span class="width-show drag-icon-wrap">
86
+ <c-tooltip :mouseEnterDelay="1">
87
+ <template slot="title"> 拖拽调整顺序 </template>
88
+ <c-icon type="pause" :rotate="90" />
89
+ </c-tooltip>
90
+ </span>
91
+ <!-- 字段名称 -->
92
+ <span class="width-large title-item" :class="{ blue: ele.extraField }">
93
+ <!-- <c-tooltip placement="bottom" v-if="showTitleFeildDescribe(ele)">
94
+ <template slot="title">
95
+ <span>
96
+ {{ titleFeildDescribe(ele) }}
97
+ </span>
98
+ </template>
99
+ <c-icon style="margin-right: 6px" type="question-circle" />
100
+ </c-tooltip> -->
101
+ <span style="width: 14px; margin-right: 6px"></span>
102
+ <span>
103
+ {{ ele.title }}
104
+ </span>
105
+ </span>
106
+ <!-- 编辑 -->
107
+ <!-- <span v-if="false" class="width-show">
108
+ <c-checkbox v-show="ele.sid != '0001'" :defaultChecked="ele.isEdit == '1'" :checked="ele.isEdit == '1' ? true : false" @change="onChangeEdit($event, ele, j)"></c-checkbox>
109
+ </span> -->
110
+ <!-- 显示 -->
111
+ <span class="width-show">
112
+ <c-checkbox v-show="ele.sid != '0001'" :defaultChecked="ele.isShow == '1'" :checked="ele.isShow == '1' ? true : false" @change="onChangeShow($event, ele, j)"></c-checkbox>
113
+ </span>
114
+ <!-- 排序 -->
115
+ <span class="width-show">
116
+ <c-checkbox
117
+ v-show="ele.sid != '0001'"
118
+ :defaultChecked="ele.isSort == '1'"
119
+ :disabled="ele.notParticipatingSort == 1"
120
+ :checked="!!ele.isSort"
121
+ @change="onChangeSort($event, ele, j)"
122
+ ></c-checkbox>
123
+ </span>
124
+ <!-- 默认排序 -->
125
+ <!-- <span class="width-showed">
126
+ <select v-show="ele.sid != '0001'" class="is-sort-style" v-model="ele.isOrder" @change="onChangeIsOrder($event, ele, j)" :disabled="ele.notParticipatingSort == 1">
127
+ <option value="0">设置排序</option>
128
+ <option value="desc">降序</option>
129
+ <option value="asc">升序</option>
130
+ </select>
131
+ </span> -->
132
+ <slot>
133
+ <!-- 搜索 -->
134
+ <!-- <span class="width-show">
135
+ <c-checkbox
136
+ v-show="ele.sid != '0001'"
137
+ :defaultChecked="ele.isSearch == '1'"
138
+ :checked="ele.isSearch == '1' ? true : false"
139
+ :disabled="ele.notParticipatingSearch == 1"
140
+ @change="onChangeSearch($event, ele)"
141
+ ></c-checkbox>
142
+ <c-popover placement="rightTop" v-if="ele.relationList && ele.relationList.length > 0">
143
+ <template slot="content">
144
+ <div class="popver-content">
145
+ <template v-for="(v, i) in ele.relationList">
146
+ <ul :key="i" class="popver-ul">
147
+ <li class="ul-title">{{ v.tableName }}</li>
148
+ <li v-for="(m, j) in v.fieldList.fieldList" :key="`${m.sid}${j}`">
149
+ <c-checkbox v-show="m.sid != '0001'" v-model="m.checked" :defaultChecked="m.isSearch == '1'">{{ m.title }}</c-checkbox>
150
+ </li>
151
+ </ul>
152
+ </template>
153
+ </div>
154
+ </template>
155
+ <span>
156
+ <c-icon type="caret-down" />
157
+ </span>
158
+ </c-popover>
159
+ </span> -->
160
+ <!-- 求和 -->
161
+ <!-- <span class="width-show" v-if="isCustomSearch">
162
+ <c-checkbox v-show="ele.fieldType === 'NUMBER'" :defaultChecked="ele.isSum == '1'" @change="onChangeSum($event, ele)" :disabled="!isCustomSearch"></c-checkbox>
163
+ </span> -->
164
+ <!-- 平均值 -->
165
+ <!-- <span class="width-show" v-if="isCustomSearch">
166
+ <c-checkbox v-show="ele.fieldType === 'NUMBER'" :defaultChecked="ele.isAvg == '1'" @change="onChangeAvg($event, ele)" :disabled="!isCustomSearch"></c-checkbox>
167
+ </span> -->
168
+ </slot>
169
+
170
+ <!-- 固定 -->
171
+ <span class="width-showed">
172
+ <select class="is-sort-style" v-model="ele.isFixed">
173
+ <option :value="0">不固定</option>
174
+ <option :value="1">左固定</option>
175
+ <option :value="2">右固定</option>
176
+ </select>
177
+ </span>
178
+ <slot>
179
+ <!-- 自定义标题 -->
180
+ <span class="width-word">
181
+ <input v-show="ele.sid != '0001'" class="alias-style" v-model="ele.alias" />
182
+ </span>
183
+ </slot>
184
+
185
+ <!-- 列宽 -->
186
+ <span class="width-showed">
187
+ <input @input="colWidthChange" class="alias-style col-width-style" v-model="ele.colWidth" />
188
+ </span>
189
+ <!-- 部分隐藏设置 -->
190
+ <!-- <span class="width-word-a">
191
+ <template v-if="ele.attrType == 'PASSWORD'"> 密码无需设置隐藏 </template>
192
+ <template v-else>
193
+ <template v-if="ele.columnName !== primaryKey">
194
+ <c-input @change="handleHideExpression(ele)" class="alias-style" :class="{ 'error-tip': !ele.expressionFlag }" v-model="ele.hideExpression" />
195
+ </template>
196
+ <template v-else>
197
+ 主键不可设置隐藏
198
+ </template>
199
+ </template>
200
+ </span> -->
201
+ <!-- 高级筛选 -->
202
+ <!-- <span class="width-less">
203
+ <c-checkbox
204
+ v-show="ele.sid != '0001'"
205
+ :defaultChecked="ele.isShowSearch == '1'"
206
+ :checked="ele.isShowSearch == '1' ? true : false"
207
+ @change="onChangeQuick($event, ele)"
208
+ :disabled="ele.notParticipatingSearch == 1"
209
+ ></c-checkbox>
210
+ </span>
211
+ <span class="width-less">
212
+ <c-checkbox
213
+ v-show="ele.sid != '0001'"
214
+ :defaultChecked="ele.filterExplicit == '1'"
215
+ :checked="ele.filterExplicit == '1' ? true : false"
216
+ @change="onChangeOutFilter($event, ele)"
217
+ :disabled="ele.notParticipatingSearch == 1"
218
+ ></c-checkbox>
219
+ </span> -->
220
+ </li>
221
+ </draggable>
222
+ </div>
223
+ </div>
224
+ <div class="check-options">
225
+ <div v-if="isButtonList && isMiddleAndAdmin" class="buttonList" ref="buttonList">
226
+ <h2 class="lable-title">按钮/超链接</h2>
227
+ <div class="linkButton">
228
+ <span style="margin-right: 50px" v-for="itemButton in buttonList" :key="itemButton.id">
229
+ <c-checkbox :defaultChecked="itemButton.isShow == '1'" @change="onButtonChecked($event, itemButton)">
230
+ {{ itemButton.name }}
231
+ </c-checkbox>
232
+ </span>
233
+ </div>
234
+ </div>
235
+
236
+ <div v-if="false" class="show-setting" ref="showSetting">
237
+ <h2 class="lable-title">显示设置</h2>
238
+ <!-- <c-checkbox :checked="showButtonTop == '1'" @change="showSetting($event, 'showButtonTop')">按钮置顶显示</c-checkbox>
239
+ <c-checkbox :checked="buttonAdaption == '1'" @change="showSetting($event, 'buttonAdaption')">按钮自适应</c-checkbox>
240
+ <c-checkbox :checked="openOnly == '1'" @change="showSetting($event, 'openOnly')"
241
+ >字段手风琴<c-tooltip placement="bottom" :getPopupContainer="triggerNode => triggerNode.parentNode" title="只展示一个字段分组">
242
+ <c-icon style="margin-left:4px;" type="question-circle" /> </c-tooltip
243
+ ></c-checkbox> -->
244
+ <slot>
245
+ <!-- <c-checkbox v-if="isCustomSearch" :checked="asyncCount == '1'" @change="showSetting($event, 'asyncCount')" :disabled="!isCustomSearch">异步统计列表数据</c-checkbox> -->
246
+ <!-- <c-checkbox :checked="hideCondition == '1'" @change="showSetting($event, 'hideCondition')">隐藏搜索分类</c-checkbox> -->
247
+ <!-- <c-checkbox :checked="hideSearch == '1'" @change="showSetting($event, 'hideSearch')">隐藏模糊搜索</c-checkbox> -->
248
+ <!-- <c-checkbox v-show="hasCheckedQuickSearch" :checked="hideQuickSearch == '1'" @change="showSetting($event, 'hideQuickSearch')">隐藏快速搜索</c-checkbox> -->
249
+ <c-checkbox :checked="tableView.hideBottom" @change="showSetting($event, 'hideBottom')">隐藏底部分页栏</c-checkbox>
250
+ <!-- <c-checkbox :checked="hideExportBtn == '1'" @change="showSetting($event, 'hideExportBtn')">隐藏导出按钮</c-checkbox> -->
251
+ <!-- <c-checkbox :checked="tableView.hideSettingBtn" @change="showSetting($event, 'hideSettingBtn')">隐藏齿轮设置按钮</c-checkbox> -->
252
+ <!-- <c-checkbox v-if="isCustomSearch" :checked="countCondition == '1'" @change="showSetting($event, 'countCondition')">统计筛选分类结果数量</c-checkbox> -->
253
+ </slot>
254
+ <template v-if="false">
255
+ <h2 class="lable-title pagesize-title">分组统计设置</h2>
256
+ <!-- isShow 1 显示 0 隐藏 -->
257
+ <c-checkbox v-for="group in groupCountFields" :key="group.key" :value="group.key" :checked="group.isShow == '1'" @change="changeGroupShow($event, group)">
258
+ {{ group.tips }}
259
+ </c-checkbox>
260
+ </template>
261
+ <template>
262
+ <h2 class="lable-title pagesize-title">默认分页设置</h2>
263
+ <c-radio-group name="radioGroup" v-model="pageSize">
264
+ <c-radio v-for="(item, index) of pageSizeArr" :key="index" :value="item"> {{ item }}条/页 </c-radio>
265
+ <c-radio :value="pageSizeCustom">
266
+ 自定义
267
+ <c-input-number id="alias-style" v-model="pageSizeCustom" :min="1" :max="300" :precision="0" @change="onChange" />
268
+ 条/页
269
+ </c-radio>
270
+ </c-radio-group>
271
+ </template>
272
+ <!-- <slot v-if="isMiddleAndAdmin && saveConfirm">
273
+ <h2 class="lable-title pagesize-title">授权范围设置</h2>
274
+ <c-radio-group name="radioGroup" v-model="saveType">
275
+ <c-radio value="dept">应用于所在部门</c-radio>
276
+ <c-radio value="org">应用于全部人</c-radio>
277
+ </c-radio-group>
278
+ </slot> -->
279
+ </div>
280
+ <div class="btn-operate">
281
+ <!-- <c-button @click="goBack" style="margin-right: 8px">
282
+ {{ openModal ? '取消' : '返回' }}
283
+ </c-button> -->
284
+ <c-button @click="() => $emit('onClose')" style="margin-right: 8px">
285
+ 取消
286
+ </c-button>
287
+ <c-button type="primary" @click="handleFieldSave">
288
+ 保存
289
+ </c-button>
290
+ </div>
291
+ </div>
292
+ </div>
293
+ </c-spin>
294
+ </div>
295
+ </template>
296
+ <script>
297
+ import draggable from 'vuedraggable';
298
+ import create from '@/core/create';
299
+ const DEFLAYOUTPCNAME = '资料';
300
+ export default create({
301
+ name: 'fieldset',
302
+ props: {
303
+ // tableId: String,
304
+ fields: Array,
305
+ fieldwidths: Object,
306
+ settingViewData: {
307
+ type: Object,
308
+ default: function() {
309
+ return {};
310
+ }
311
+ },
312
+ settingWidthsPage: {
313
+ type: Object,
314
+ default: function() {
315
+ return {};
316
+ }
317
+ },
318
+ listFormUnionSetting: {
319
+ type: Object,
320
+ default: function() {
321
+ return {};
322
+ }
323
+ },
324
+ menuSource: {
325
+ type: String,
326
+ default: ''
327
+ },
328
+ settingType: {
329
+ default: ''
330
+ },
331
+ pageLayoutSet: String,
332
+ curMiddleParams: {
333
+ type: Object,
334
+ default: function() {
335
+ return {};
336
+ }
337
+ },
338
+ openModal: {
339
+ default: false
340
+ },
341
+ drawerDirection: {
342
+ type: String,
343
+ default: 'right'
344
+ }
345
+ },
346
+ components: {
347
+ draggable
348
+ },
349
+ data() {
350
+ return {
351
+ spinning: false,
352
+ fieldList: [],
353
+ primaryKey: '',
354
+ buttonList: [],
355
+ settingData: {},
356
+ isButtonList: null,
357
+ showButtonTop: 1, // 按钮置顶
358
+ buttonAdaption: 0, // 按钮自适应
359
+ asyncCount: 0, // 异步统计列表数据
360
+ hideCondition: 0, // 隐藏搜索分类
361
+ hideSearch: 0, // 隐藏模糊搜索
362
+ hideQuickSearch: 0, // 隐藏快速搜索
363
+ hideBottom: 0, // 隐藏底部分页栏
364
+ hideExportBtn: 0, // 隐藏导出按钮
365
+ hideSettingBtn: 0, // 隐藏齿轮设置按钮
366
+ countCondition: 1, // 统计筛选分类数量
367
+ openOnly: 0, // 手风琴模式
368
+ saveConfirm: false, // 授权范围设置
369
+ saveType: 'dept', // dept/org 应用于所在部门/应用于全部人
370
+ showOtherSetting: undefined, // 列表设置按钮
371
+ tableView: {
372
+ hideBottom: false // 隐藏底部分页栏
373
+ // hideSettingBtn: false // 隐藏齿轮设置按钮
374
+ },
375
+ pageSizeArr: [5, 10, 20, 30, 50, 100],
376
+ pageSize: 20,
377
+ pageSizeCustom: '',
378
+ viewShow: {},
379
+ relatedData: {
380
+ showItems: [],
381
+ hideItems: [],
382
+ mbShowItems: [],
383
+ mbHideItems: []
384
+ },
385
+ relatedSetting: null,
386
+ relatedSettingMobile: null,
387
+ allWidth: false,
388
+ halfWidth: false,
389
+ threeWidth: false,
390
+ fourWidth: false,
391
+ visibleLine: false,
392
+ visibleLineAdd: false,
393
+ itemTitleName: '',
394
+ itemTitleNameAdd: '',
395
+ is_show: 1,
396
+ editIndex: '',
397
+ editHideItem: '',
398
+ editShowItem: '',
399
+ clickTimes: 0,
400
+ visibleShowItem: false,
401
+ isAddChecked: false,
402
+ itemTitleShowItem: '',
403
+ count: false,
404
+ color: '#000000',
405
+ showColor: false,
406
+ curColor: '#000000',
407
+ btnIcon: '', // 按钮icon
408
+ isShow: '',
409
+ configId: '',
410
+ tableName: '',
411
+ setting: {},
412
+ settingView: {},
413
+ settingAbout: {},
414
+ hideButtonIds: [],
415
+ viewSid: '',
416
+ aboutSid: '',
417
+ mobileAboutSid: '',
418
+ userTypeTab: '',
419
+ ViewModalVisible: false,
420
+ ViewDetail: '', // 视图模板
421
+ copyFieldList: [],
422
+ copyRelationTableList: [],
423
+ copyButtonList: [],
424
+ viewCongfigList: [], // 视图列表
425
+ aboutItemList: [], // 相关项
426
+ mobileAboutItemList: [],
427
+ defaultViewDetail: {}, // 修改视图传给子组件
428
+ viewTempType: 'add', // 默认类型
429
+ relationTableList: [], // '块表查询'
430
+ pcTmplateList: [], // pc类型所有模板
431
+ mobileTmplateList: [], // mobile 类型所有模板
432
+ mobileButtonList: [],
433
+ viewTypeObj: {
434
+ type: '',
435
+ typeTable: '',
436
+ refString: ''
437
+ },
438
+ templateList: [],
439
+ viewList: [],
440
+ templateListMobile: [],
441
+ viewListMobile: [],
442
+ aboutEditType: 'PC',
443
+ aboutModel: '',
444
+ btnSetting: {
445
+ hideButtons: [],
446
+ showButtons: []
447
+ },
448
+ btnSettingObj: null,
449
+ btnMobileSetting: {
450
+ hideButtons: [],
451
+ showButtons: []
452
+ },
453
+ btnMobileSettingObj: null,
454
+ viewSetVisible: false,
455
+ middleParams: '',
456
+ middleListModal: false,
457
+ modalTitle: '1.9.276',
458
+ curAboutType: '',
459
+ curModalType: 'edit',
460
+ extraField: undefined,
461
+ isChangeWindow: false,
462
+ modalWidth: '1280px',
463
+ modalHeight: '748px',
464
+ aboutItemPositionPc: 'RIGHT',
465
+ tabName: '',
466
+ tabInputName: '',
467
+ layoutPc: 'TAB',
468
+ layoutMobile: 'TAB',
469
+ triggerMethodMobile: 'singleClick',
470
+ layoutMobileName: '详情',
471
+ locationPc: 'LEFT',
472
+ layoutPcName: ' 资料',
473
+ isCustomSearch: true,
474
+
475
+ linkFieldList: [], // link 按钮配置的字段
476
+ triggerMethodPc: 'doubleClick', // 相关项触发方式
477
+ triggerMethodField: '', // 相关性触发字段
478
+ clickItem: {},
479
+ ratioList: ['2:10', '4:8', '6:6', '8:4', '10:2'],
480
+ displayRatio: '4:8',
481
+ remark: '', // 列表备注
482
+ groupCountFields: [] // 分组统计设置
483
+ };
484
+ },
485
+ watch: {
486
+ // fieldwidths: {
487
+ // handler() {
488
+ // this.initfieldwidths();
489
+ // },
490
+ // immediate: true,
491
+ // deep: true
492
+ // }
493
+ },
494
+ mounted() {
495
+ this.hideTab();
496
+ },
497
+ computed: {
498
+ // ...mapGetters(['userInfo', 'menuObj']),
499
+ // isOrgAdmin() {
500
+ // return this.userInfo.map && this.userInfo.map.sysParams.userType === 'orgAdmin';
501
+ // },
502
+ hasCheckedQuickSearch() {
503
+ let foo = !!this.fieldList.filter(item => item?.isShowSearch === 1).length;
504
+ return foo;
505
+ },
506
+ isMenuSource() {
507
+ return this.$route.fullPath.includes('middleListDetail');
508
+ },
509
+ // 相关项触发字段配置选项
510
+ triggerMethodFieldList() {
511
+ return this.fieldList.filter(item => item.isShow == 1 && !this.linkFieldList.includes(item.columnName));
512
+ },
513
+
514
+ isDefinedListConfig() {
515
+ let queryType = this?.$route?.query?.tableType || '';
516
+ // let menuType =
517
+ // this?.settingViewData?.menuTriggerObjContentObj?.type || "";
518
+ // 不为空 就是自定义列表
519
+ let reportType = this?.settingViewData?.menuTriggerObjContentObj?.reportType || '';
520
+ return queryType == 'DEFINED_TABLE_LIST' || !!reportType;
521
+ },
522
+ showTitleFeildDescribe() {
523
+ return function(ele) {
524
+ return ele.fieldSetting?.feildDescribe || ele.fieldSetting?.feildDescribeI18n;
525
+ };
526
+ },
527
+ titleFeildDescribe() {
528
+ return function(ele) {
529
+ return (ele.fieldSetting.feildDescribeI18n && this.$t(ele.fieldSetting.feildDescribeI18n)) || ele.fieldSetting.feildDescribe;
530
+ };
531
+ },
532
+ isMiddleAndAdmin() {
533
+ return this.menuSource === 'middle';
534
+ },
535
+ handleName() {
536
+ return function(item, key = 'name') {
537
+ // if (this.isOrgAdmin && this.menuSource == 'middle') return item[key];
538
+ return item.alias || item[key];
539
+ };
540
+ },
541
+ handleSetting() {
542
+ // if (this.showOtherSetting === undefined || this.menuSource == 'middle') {
543
+ // return this.isOrgAdmin && this.menuSource !== 'middle' && this.hideSettingBtn != 1;
544
+ // }
545
+ return this.showOtherSetting;
546
+ },
547
+ havelistFormUnionParamsList() {
548
+ return !!this.listFormUnionSetting?.paramsList?.length;
549
+ }
550
+ },
551
+ methods: {
552
+ // initfieldwidths(){
553
+ // this.initfieldwidths
554
+ // },
555
+ hideTab() {
556
+ if (this.isMiddleAndAdmin) return;
557
+
558
+ if (this.drawerDirection === 'right') {
559
+ this.$refs['settingView']?.style.setProperty('margin', '-16px 0px 0');
560
+ } else {
561
+ this.$refs['settingView']?.style.setProperty('margin', 'auto');
562
+ }
563
+ // this.handlePageHeight();
564
+ /* 非中台,仅展示字段设置的情况下,隐藏tab */
565
+ // let el = this.$refs["settingView"]?.querySelector(".ant-tabs-bar");
566
+ // el.style.setProperty("opacity", "0");
567
+ },
568
+ saveViewSetting() {
569
+ this.settingView.showFields = this.viewShow.showFields;
570
+ if (this.settingViewData != null) {
571
+ let tableId = this.settingViewData.id || this.settingViewData.tableId;
572
+ let params = {
573
+ id: this.viewSid,
574
+ tableId: tableId,
575
+ setting: JSON.stringify(this.settingView)
576
+ };
577
+ let url = `/tableList/saveViewSetting`;
578
+ this.spinning = true;
579
+ this.axios
580
+ .post(url, this.$qs.stringify(params))
581
+ .then(({ data }) => {
582
+ this.spinning = false;
583
+ if (data) {
584
+ this.saveMethod(data);
585
+ }
586
+ })
587
+ .catch(() => {
588
+ this.spinning = false;
589
+ });
590
+ }
591
+ },
592
+ handleClickSaveSetting() {
593
+ if (this.isColWidthChange) {
594
+ this.$confirm({
595
+ title: this.$t('1.1.7'),
596
+ content: this.$t('1.9.7'),
597
+ okText: this.$t('1.9.8'),
598
+ onOk: () => {
599
+ this.saveSetting();
600
+ },
601
+ onCancel() {}
602
+ });
603
+ } else {
604
+ this.saveSetting();
605
+ }
606
+ },
607
+ handleFieldSave() {
608
+ let tableFields = [];
609
+ // let tableView = {};
610
+ if (this.fields.length > 0) {
611
+ this.fields.forEach((item, i) => {
612
+ tableFields.push({
613
+ id: item.sid, // 字段id
614
+ field: item.columnName, // 字段名
615
+ visible: item.isShow == 1, // 是否显示
616
+ sequence: i, // 顺序位置
617
+ sortable: item.isSort == 1, // 是否能排序
618
+ title: item.alias || item.title, // 别名
619
+ fixed: item.isFixed ? (item.isFixed == 1 ? 'left' : 'right') : '', // 固定位置
620
+ minWidth: item.colWidth // 列宽
621
+ });
622
+ });
623
+ }
624
+ // tableView = Object.assign({ pageSize: this.pageSize }, this.tableView);
625
+ this.$emit('onSave', { tableFields });
626
+ },
627
+ saveSetting() {
628
+ let curRelationList = {};
629
+ let hideButtonIdsMobile = [];
630
+ let allExpressionFlag = true;
631
+ if (this.fieldList.length > 0) {
632
+ this.fieldList.forEach((item, i) => {
633
+ let sid = item.sid;
634
+ if (item.isOrder == '0') {
635
+ item.isOrder = 0;
636
+ }
637
+ if (item.isFixed == '2') {
638
+ item.isFixed = 2;
639
+ } else if (item.isFixed == '1') {
640
+ item.isFixed = 1;
641
+ } else if (item.isFixed == '0') {
642
+ item.isFixed = 0;
643
+ }
644
+ if (!item.expressionFlag) {
645
+ allExpressionFlag = false;
646
+ }
647
+ // 跨表查询
648
+ if (item.relationList && item.relationList.length > 0) {
649
+ item.relationList.forEach(y => {
650
+ let relationKey = 'relationTable_' + y.tableId;
651
+ curRelationList[relationKey] = {};
652
+ y.fieldList.fieldList.forEach(g => {
653
+ let checkedVal = g.checked ? 1 : 0;
654
+ curRelationList[relationKey][g.sid] = {
655
+ isSearch: checkedVal,
656
+ isShowSearch: checkedVal
657
+ };
658
+ });
659
+ });
660
+ }
661
+ this.setting[sid] = {
662
+ id: item.sid,
663
+ title: item.title,
664
+ isShow: item.isShow,
665
+ sequence: i,
666
+ isSearch: item.isSearch,
667
+ isSort: item.isSort,
668
+ isSum: item.isSum,
669
+ isAvg: item.isAvg,
670
+ alias: item.alias,
671
+ isFixed: item.isFixed,
672
+ isOrder: item.isOrder,
673
+ isEdit: item.isEdit,
674
+ colWidth: item.colWidth,
675
+ isShowSearch: item.isShowSearch,
676
+ filterExplicit: item.filterExplicit,
677
+ hideExpression: item.hideExpression
678
+ };
679
+ });
680
+ this.buttonList.forEach(item => {
681
+ if (item.isShow == '0') {
682
+ this.hideButtonIds.push(item.sid);
683
+ }
684
+ });
685
+ this.mobileButtonList.forEach(v => {
686
+ !v.isShow && hideButtonIdsMobile.push(v.sid);
687
+ });
688
+ }
689
+ if (!allExpressionFlag) {
690
+ this.$message.error(this.$t('1.9.9'));
691
+ return;
692
+ }
693
+ if (this.settingViewData != null) {
694
+ let tableId = this.settingViewData.id || this.settingViewData.tableId;
695
+ // 分组统计
696
+ let groupCountFields = this.groupCountFields
697
+ .map(item => {
698
+ if (item.isShow == 1) {
699
+ return item.key;
700
+ }
701
+ return null;
702
+ })
703
+ .filter(Boolean);
704
+ this.setting[tableId] = {
705
+ hideButtonIds: this.hideButtonIds,
706
+ hideButtonIdsMobile: hideButtonIdsMobile,
707
+ pageSize: this.pageSize,
708
+ showButtonTop: this.showButtonTop,
709
+ buttonAdaption: this.buttonAdaption,
710
+ openOnly: this.openOnly,
711
+ asyncCount: this.asyncCount,
712
+ hideSearch: this.hideSearch,
713
+ hideCondition: this.hideCondition,
714
+ hideQuickSearch: this.hideQuickSearch,
715
+ hideBottom: this.hideBottom,
716
+ hideExportBtn: this.hideExportBtn,
717
+ hideSettingBtn: this.hideSettingBtn,
718
+ triggerMethodPc: this.triggerMethodPc, // 相关项触发方式
719
+ triggerMethodField: this.triggerMethodField, // 相关性触发字段
720
+ countCondition: this.countCondition,
721
+ groupCountFieldShowKeys: groupCountFields
722
+ };
723
+ Object.assign(this.setting, curRelationList);
724
+ let params = {
725
+ configId: this.configId,
726
+ tableId: this.settingViewData.id || this.settingViewData.tableId,
727
+ // type: this.settingViewData.tableType || this.settingViewData.type,
728
+ saveType: this.saveConfirm ? this.saveType : '', // 授权范围设置
729
+ setting: JSON.stringify(this.setting),
730
+ type:
731
+ this.$route.query.tableType === 'DEFINED_TABLE_LIST' || this.menuObj.reportType === 'definedListConfig' ? 'definedListConfig' : this.settingViewData.tableType || this.settingViewData.type
732
+ };
733
+ let url = `/tableList/saveSetting`;
734
+ this.spinning = true;
735
+ this.axios
736
+ .post(url, this.$qs.stringify(params))
737
+ .then(({ data }) => {
738
+ this.spinning = false;
739
+ if (data) {
740
+ // 字段设置可配置筛选项开关,所以要更新 copyFieldList
741
+ this.copyFieldList.forEach(item => {
742
+ const field = this.setting[item.id];
743
+ field && Object.assign(item, field);
744
+ });
745
+ this.saveMethod(data);
746
+ }
747
+ })
748
+ .catch(() => {
749
+ this.spinning = false;
750
+ });
751
+ }
752
+ },
753
+ handleOkLineAdd() {
754
+ this.viewShow.showFields.push({
755
+ name: this.itemTitleNameAdd,
756
+ is_show: this.is_show,
757
+ html_type: 'LINEBAR'
758
+ });
759
+ this.visibleLineAdd = false;
760
+ },
761
+ onChangeAdd(e) {
762
+ if (e.target.checked == true) {
763
+ this.is_show = 1;
764
+ } else {
765
+ this.is_show = 0;
766
+ }
767
+ },
768
+ onChangeAddEdit() {
769
+ if (this.isAddChecked == true) {
770
+ this.viewShow.showFields[this.editIndex].is_show = 1;
771
+ } else {
772
+ this.viewShow.showFields[this.editIndex].is_show = 0;
773
+ }
774
+ },
775
+ addItemShowLine() {
776
+ this.visibleLineAdd = true;
777
+ this.itemTitleNameAdd = '';
778
+ this.is_show = 0;
779
+ this.isAddChecked = false;
780
+ },
781
+ handleCancel() {
782
+ this.visibleLine = false;
783
+ this.visibleLineAdd = false;
784
+ },
785
+ handleOkLine() {
786
+ this.visibleLine = false;
787
+ this.viewShow.showFields[this.editIndex].name = this.itemTitleName;
788
+ this.viewShow.showFields[this.editIndex].is_show = this.isAddChecked ? 1 : 0;
789
+ },
790
+ editItemLine(ele, i) {
791
+ this.editIndex = i;
792
+ this.visibleLine = true;
793
+ this.itemTitleName = ele.name;
794
+ if (ele.is_show == 1) {
795
+ this.isAddChecked = true;
796
+ } else {
797
+ this.isAddChecked = false;
798
+ }
799
+ },
800
+ removeItemLine(index) {
801
+ this.viewShow.showFields.splice(index, 1);
802
+ },
803
+ removeSpanWidth(index) {
804
+ this.viewShow.hideFields.unshift(this.viewShow.showFields[index]);
805
+ this.viewShow.showFields.splice(index, 1);
806
+ },
807
+ initSetting() {
808
+ /* 字段设置 */
809
+ if (this.settingViewData != null) {
810
+ let menuId = this.settingViewData.menuId;
811
+ let tableId = this.settingViewData.id || this.settingViewData.tableId;
812
+ let tableTeamId = this.settingViewData.tableTeamId;
813
+ let tableTeamMark = this.settingViewData.tableTeamMark;
814
+ let type = this.settingViewData.tableType || this.settingViewData.type;
815
+ let extendParams = this.settingViewData.extendParams || {};
816
+ if (type == 'REPORT' || type == 'TABLE_LIST') {
817
+ type = 'TABLE_LIST';
818
+ } else if (type == 'TABLE_TEAM') {
819
+ type = 'TABLE_TEAM_TABLE';
820
+ }
821
+ const isMiddle = this.isMenuSource;
822
+ let url = this.isMenuSource ? `/tableList/getMiddleDetail` : `/tableList/getDetail`;
823
+ // if (this.$route.path.includes("middle")) {
824
+ // url = "/tableList/getDetail";
825
+ // }
826
+ if (this.$route.query.tableType === 'DEFINED_TABLE_LIST' || this.menuObj.reportType === 'definedListConfig') {
827
+ type = 'definedListConfig';
828
+ }
829
+ let idKey = 'tableId';
830
+ let params = {
831
+ [idKey]: tableId,
832
+ tableType: type,
833
+ menuId: menuId,
834
+ tableTeamId: tableTeamId,
835
+ tableTeamMark: tableTeamMark,
836
+ tabChildId: this.settingViewData.tabChildId || undefined,
837
+ is_setting: '1',
838
+ classify: 'PC',
839
+ ...(isMiddle ? {} : extendParams)
840
+ };
841
+ /* 页签模式下的参数设置为空 */
842
+ if (this.pageLayoutSet == 3) {
843
+ params.tableTeamId = '';
844
+ params.tableTeamMark = '';
845
+ params.menuId = '';
846
+ }
847
+ if (!isMiddle) {
848
+ this.middleParams = params;
849
+ }
850
+ if (isMiddle && this.openModal) {
851
+ Object.assign(params, this.curMiddleParams);
852
+ }
853
+ this.setSpinning(true);
854
+ this.axios
855
+ .get(url, {
856
+ params
857
+ })
858
+ .then(({ data }) => {
859
+ this.setSpinning(false);
860
+ if (data.result == 'SUCCESS') {
861
+ let {
862
+ buttonList = [],
863
+ buttonListMobile = [],
864
+ fieldList = [],
865
+ relationTableList = [],
866
+ templateList = [],
867
+ viewList = [],
868
+ templateListMobile = [],
869
+ viewListMobile = [],
870
+ pageSize = 20,
871
+ configId,
872
+ tableName,
873
+ extraField,
874
+ primaryKey,
875
+ isCustomSearch = true,
876
+ displayRatio = '4:8',
877
+ remark = '',
878
+ groupCountFields = []
879
+ } = data.map;
880
+ let linkFieldList = []; // link按钮字段集合
881
+ this.isCustomSearch = isCustomSearch;
882
+ this.isRefreshStatus = false;
883
+ this.extraField = extraField;
884
+ this.configId = configId;
885
+ this.templateList = templateList || []; // 列表视图
886
+ this.viewList = viewList || [];
887
+ this.templateListMobile = templateListMobile || []; // 列表视图
888
+ this.viewListMobile = viewListMobile || [];
889
+ this.tableName = tableName;
890
+ this.remark = remark;
891
+ this.primaryKey = primaryKey; // 字段主键
892
+ this.groupCountFields = groupCountFields; // 分组统计设置
893
+
894
+ // 复制一份
895
+ this.copyFieldList = JSON.parse(JSON.stringify(fieldList));
896
+ this.copyButtonList = JSON.parse(JSON.stringify(buttonList));
897
+ this.displayRatio = displayRatio;
898
+ buttonList.forEach(v => {
899
+ if (v.type == 'LINK') {
900
+ linkFieldList.push(v.name);
901
+ }
902
+ });
903
+ this.$set(this, 'linkFieldList', linkFieldList);
904
+
905
+ this.copyRelationTableList = JSON.parse(JSON.stringify(relationTableList));
906
+ this.fieldList = fieldList.map(item => {
907
+ return Object.assign(item, {
908
+ key: item.id,
909
+ hideExpression: item.hideExpression || '',
910
+ expressionFlag: true,
911
+ settingObj: item.settingObj || {}
912
+ });
913
+ });
914
+
915
+ this.fieldList.forEach((it, index) => {
916
+ if (this.settingWidthsPage && Object.keys(this.settingWidthsPage).length > 0) {
917
+ // 当前表单项宽度赋值
918
+ this.fieldList[index].colWidth = this.settingWidthsPage[this.fieldList[index].alias || this.fieldList[index].title];
919
+ }
920
+ if (it.isOrder == '') {
921
+ it.isOrder = 0;
922
+ }
923
+ let relationList = [];
924
+ relationTableList.forEach(el => {
925
+ if (el.primaryField == it.columnName) {
926
+ relationList.push(el);
927
+ }
928
+ el.fieldList.fieldList.forEach(e => {
929
+ e.checked = e.isSearch == 1;
930
+ });
931
+ });
932
+ it.fieldSetting = it.fieldSetting ? JSON.parse(it.fieldSetting) : '';
933
+ let notParticipatingSort = it.fieldSetting?.notParticipatingSort || '';
934
+ let notParticipatingSearch = it.fieldSetting?.notParticipatingSearch || '';
935
+ this.$set(it, 'relationList', relationList);
936
+ this.$set(it, 'notParticipatingSort', notParticipatingSort);
937
+ this.$set(it, 'notParticipatingSearch', notParticipatingSearch);
938
+ this.$set(it, 'attrType', it?.settingObj?.attr || '');
939
+ });
940
+ // 增加一个后台过滤
941
+ this.fieldList = this.fieldList.filter(item => {
942
+ return item.fieldSetting ? item.fieldSetting.isHide === '0' : true;
943
+ });
944
+
945
+ if (this.configId == 'null' || this.configId == 'undefined') {
946
+ this.configId = '';
947
+ }
948
+ buttonListMobile.forEach(v => (v.isShow = v.isShow == '1' ? true : false));
949
+ this.mobileButtonList = buttonListMobile;
950
+ this.buttonList = buttonList;
951
+ this.showButtonTop = data.map.showButtonTop; // 按钮置顶
952
+ this.buttonAdaption = data.map.buttonAdaption; // 按钮自适应
953
+
954
+ this.asyncCount = data.map.asyncCount || 0; // 异步统计列表数据
955
+ this.hideSearch = data.map.hideSearch || 0; // 隐藏模糊搜索
956
+ this.hideCondition = data.map.hideCondition || 0; // 隐藏模糊搜索
957
+ this.hideQuickSearch = data.map.hideQuickSearch || 0; // 隐藏快速搜索
958
+ this.hideBottom = data.map.hideBottom || 0; // 隐藏底部分页栏
959
+ this.hideExportBtn = data.map.hideExportBtn || 0; // 隐藏导出按钮
960
+ this.hideSettingBtn = data.map.hideSettingBtn || 0; // 隐藏齿轮设置按钮
961
+ this.countCondition = data.map.countCondition; // 是否开启筛选统计分类数量
962
+ this.showOtherSetting = data.map.showOtherSetting; // 列表设置按钮
963
+ this.saveConfirm = data.map.saveConfirm; // 授权范围设置
964
+
965
+ this.openOnly = data.map.openOnly || 0; // 手风琴模式
966
+ this.pageSize = pageSize == +pageSize ? +pageSize : 20;
967
+ if (!this.pageSizeArr.includes(this.pageSize)) {
968
+ // 用户自定义分页条数
969
+ this.pageSizeCustom = this.pageSize;
970
+ }
971
+ if (this.buttonList && this.buttonList.length > 0) {
972
+ this.isButtonList = true;
973
+ } else {
974
+ this.isButtonList = false;
975
+ }
976
+ this.$nextTick(() => {
977
+ this.handlePageHeight();
978
+ });
979
+ } else {
980
+ this.$message.error(data.resultMsg);
981
+ }
982
+ });
983
+ }
984
+ },
985
+ // 设置高度
986
+ handlePageHeight() {
987
+ let settingViewHieht = (this.$refs.settingView && this.$refs.settingView.offsetHeight) || 200;
988
+ let showSettingHeight = (this.$refs.showSetting && this.$refs.showSetting.offsetHeight) || 0;
989
+ let buttonListHeight = (this.$refs.buttonList && this.$refs.buttonList.offsetHeight) || 0;
990
+ // 45/tabBar height 8/tabBar margin 52/tableCell height 49/btn height
991
+ let MinusHeight = 45 + 8 + 52 + 49;
992
+ let setShowHeight = settingViewHieht - showSettingHeight - buttonListHeight - MinusHeight;
993
+ let resultHeight = setShowHeight > 100 ? setShowHeight : 100;
994
+ if (this.$refs.setShow) {
995
+ this.$refs.setShow.style.maxHeight = resultHeight + 'px';
996
+ this.$refs.setShow.style.height = resultHeight + 'px';
997
+ }
998
+ },
999
+ initAboutSetting() {
1000
+ let tableId = this.settingViewData.id || this.settingViewData.tableId;
1001
+ let urlAbout = this.isMenuSource ? `/tableList/getAboutItemMiddleSetting` : `/tableList/getAboutItemSetting`;
1002
+ let params = {
1003
+ tableId: tableId,
1004
+ tableType: this.$route.query.tableType === 'DEFINED_TABLE_LIST' || this.menuObj.reportType === 'definedListConfig' ? 'definedListConfig' : null
1005
+ };
1006
+ this.axios.get(urlAbout, { params }).then(({ data }) => {
1007
+ if (data.result == 'SUCCESS') {
1008
+ let { setting = {}, settingMobile = {} } = data.map;
1009
+ this.relatedSetting = setting;
1010
+ this.relatedSettingMobile = settingMobile;
1011
+ let pcList = [
1012
+ {
1013
+ k: 'layoutPc', // key
1014
+ v: 'TAB' // 默认值
1015
+ },
1016
+ {
1017
+ k: 'locationPc',
1018
+ v: 'LEFT'
1019
+ },
1020
+ {
1021
+ k: 'triggerMethodPc',
1022
+ v: 'doubleClick'
1023
+ },
1024
+ {
1025
+ k: 'triggerMethodField',
1026
+ v: undefined
1027
+ },
1028
+ {
1029
+ k: 'layoutPcName',
1030
+ v: DEFLAYOUTPCNAME
1031
+ },
1032
+ {
1033
+ k: 'aboutItemPositionPc',
1034
+ v: 'RIGHT'
1035
+ },
1036
+ {
1037
+ k: 'tabName',
1038
+ v: ''
1039
+ },
1040
+ {
1041
+ k: 'tabInputName',
1042
+ v: ''
1043
+ }
1044
+ ];
1045
+ this.aboutItemList = setting.showItems;
1046
+ this.aboutSid = setting.sid;
1047
+ if (setting.aboutItemPositionPc == 'TAB' && setting.tabName && setting.tabName != 'INPUT' && setting.tabName.includes('table.')) {
1048
+ setting.tabName = setting.tabName.split('.')[1];
1049
+ }
1050
+ pcList.forEach(p => {
1051
+ this[p.k] = setting[p.k] || p.v;
1052
+ });
1053
+
1054
+ this.mobileAboutItemList = settingMobile.showItems;
1055
+ this.mobileAboutSid = settingMobile.mbSid;
1056
+
1057
+ let mbList = [
1058
+ { k: 'layoutMobile', v: 'TAB' },
1059
+ { k: 'layoutMobileName', V: '详情' },
1060
+ { k: 'triggerMethodMobile', v: 'singleClick' }
1061
+ ];
1062
+
1063
+ mbList.forEach(p => {
1064
+ this[p.k] = settingMobile[p.k] || p.v;
1065
+ });
1066
+ }
1067
+ });
1068
+ },
1069
+ handleRelateChange() {
1070
+ let { layoutPc, locationPc, aboutItemPositionPc, layoutPcName, triggerMethodField, triggerMethodPc, tabName, tabInputName } = this.relatedSetting;
1071
+ this.aboutItemPositionPc = aboutItemPositionPc || 'RIGHT';
1072
+ this.tabName = tabName || '';
1073
+ this.tabInputName = tabInputName || '';
1074
+ this.layoutPc = layoutPc || 'TAB';
1075
+ this.layoutMobile = this.relatedSettingMobile.layoutMobile || 'TAB';
1076
+ this.layoutMobileName = this.relatedSettingMobile.layoutMobileName;
1077
+ this.triggerMethodMobile = this.relatedSettingMobile.triggerMethodMobile || 'singleClick';
1078
+ this.locationPc = locationPc || 'LEFT';
1079
+ this.layoutPcName = layoutPcName || DEFLAYOUTPCNAME;
1080
+ this.triggerMethodField = triggerMethodField || this.triggerMethodField || 'doubleClick';
1081
+ this.triggerMethodPc = triggerMethodPc || this.triggerMethodPc;
1082
+ },
1083
+ aboutItemPosition(e) {
1084
+ let { value = 'RIGHT' } = e?.target || {};
1085
+ if (value === 'BOTTOM') {
1086
+ this.layoutPc = 'TAB';
1087
+ }
1088
+ if (value === 'TAB') {
1089
+ this.tabName = (this.fieldList.length && this.fieldList[0].columnName) || 'INPUT';
1090
+ }
1091
+ if (value !== 'TAB') {
1092
+ this.tabName = '';
1093
+ this.tabInputName = '';
1094
+ }
1095
+ },
1096
+ changeTabName(val) {
1097
+ if (val !== 'INPUT') {
1098
+ this.tabInputName && (this.tabInputName = '');
1099
+ }
1100
+ },
1101
+ onChangeShow(e, ele, j) {
1102
+ if (e.target.checked == true) {
1103
+ ele.isShow = 1;
1104
+ } else {
1105
+ ele.isShow = 0;
1106
+ }
1107
+ // this.handleSetfieldTracher(ele, j);
1108
+ },
1109
+ onChangeEdit(e, ele, j) {
1110
+ if (e.target.checked == true) {
1111
+ ele.isEdit = 1;
1112
+ } else {
1113
+ ele.isEdit = 0;
1114
+ }
1115
+ // this.handleSetfieldTracher(ele, j);
1116
+ },
1117
+ // 搜索checkbox-change事件
1118
+ onChangeSearch(e, ele) {
1119
+ if (e.target.checked == true) {
1120
+ ele.isSearch = 1;
1121
+ if (ele.filterExplicit !== 1) {
1122
+ // 勾选搜索并且没有勾选筛选外显时勾选高级筛选
1123
+ ele.isShowSearch = 1;
1124
+ }
1125
+ } else {
1126
+ ele.isSearch = 0;
1127
+ }
1128
+ },
1129
+ onChangeSort(e, ele, j) {
1130
+ if (e.target.checked == true) {
1131
+ ele.isSort = 1;
1132
+ } else {
1133
+ ele.isSort = 0;
1134
+ }
1135
+ // this.handleSetfieldTracher(ele, j);
1136
+ },
1137
+ onChangeSum(e, ele) {
1138
+ if (e.target.checked == true) {
1139
+ ele.isSum = 1;
1140
+ } else {
1141
+ ele.isSum = 0;
1142
+ }
1143
+ },
1144
+ onChangeAvg(e, ele) {
1145
+ if (e.target.checked == true) {
1146
+ ele.isAvg = 1;
1147
+ } else {
1148
+ ele.isAvg = 0;
1149
+ }
1150
+ },
1151
+ onChangeFixed(e, ele) {
1152
+ if (e.target.checked == true) {
1153
+ ele.isFixed = 1;
1154
+ } else {
1155
+ ele.isFixed = 0;
1156
+ }
1157
+ },
1158
+ onChangeQuick(e, ele) {
1159
+ if (e.target.checked == true) {
1160
+ ele.isShowSearch = 1;
1161
+ // ele.filterExplicit = 0;
1162
+ } else {
1163
+ ele.isShowSearch = 0;
1164
+ ele.filterExplicit = 0;
1165
+ }
1166
+ },
1167
+ onChangeOutFilter(e, ele) {
1168
+ if (e.target.checked == true) {
1169
+ ele.filterExplicit = 1;
1170
+ ele.isShowSearch = 1;
1171
+ } else {
1172
+ // ele.isShowSearch = 1;
1173
+ ele.filterExplicit = 0;
1174
+ }
1175
+ },
1176
+
1177
+ onButtonChecked(e, itemButton) {
1178
+ if (e.target.checked == true) {
1179
+ itemButton.isShow = 1;
1180
+ } else {
1181
+ itemButton.isShow = 0;
1182
+ }
1183
+ },
1184
+
1185
+ showSetting(e, v) {
1186
+ this.tableView[v] = e.target.checked;
1187
+
1188
+ // 埋点
1189
+ // this.$_handleTracherLog('列表显示设置', {
1190
+ // 列表ID: this.settingViewData.id || this.settingViewData.tableId,
1191
+ // 列表名称: this.tableName || this.$attrs?.tableName || '',
1192
+ // 设置项: v,
1193
+ // 设置值: this[v]
1194
+ // });
1195
+ },
1196
+ changeGroupShow(e, group) {
1197
+ let value = e.target.checked ? '1' : '0';
1198
+ group.isShow = value;
1199
+ },
1200
+ handlerChangeRadios(e, i) {
1201
+ this.testData.forEach((el, j) => {
1202
+ if (i !== j) {
1203
+ el.select = '0';
1204
+ }
1205
+ });
1206
+ },
1207
+ handleChangeTem() {},
1208
+ // 添加视图
1209
+ handlerAddView(data = {}) {
1210
+ let { type, typeTable, refString } = data;
1211
+ this.viewTypeObj = {
1212
+ type,
1213
+ typeTable,
1214
+ refString
1215
+ };
1216
+ this.defaultViewDetail = {};
1217
+ // this.ViewModalVisible = true;
1218
+ this.viewSetVisible = true;
1219
+ },
1220
+ saveDefault(val) {
1221
+ this.spinning = val;
1222
+ },
1223
+
1224
+ // 修改视图
1225
+ handlerEditView(data = {}) {
1226
+ let { type, typeTable, refString, curData, defaultMark } = data;
1227
+ this.viewTypeObj = {
1228
+ type,
1229
+ typeTable,
1230
+ refString,
1231
+ defaultMark
1232
+ };
1233
+ this.defaultViewDetail = curData || {};
1234
+ this.viewSetVisible = true;
1235
+ // 修改
1236
+ this.viewTempType = 'edit';
1237
+ },
1238
+ // 刷新
1239
+ handlerRefresh() {
1240
+ this.hanlderRefreshTable();
1241
+ },
1242
+ hanlderRefreshTable() {
1243
+ this.initSetting();
1244
+ this.$emit('reload');
1245
+ },
1246
+ setSpinning(val) {
1247
+ this.spinning = val;
1248
+ },
1249
+ saveMethod(data) {
1250
+ if (data.result == 'SUCCESS') {
1251
+ this.$message.success(this.$t('1.6.6'));
1252
+ if (this.menuSource === 'middle') {
1253
+ if (this.openModal) {
1254
+ // this.$router.go(-1);
1255
+ // return;
1256
+ this.$emit('middleCancel');
1257
+ this.$emit('emitMethod');
1258
+ return;
1259
+ }
1260
+ }
1261
+ this.emitMethod();
1262
+ } else {
1263
+ this.$message.error(this.$t('1.4.2.9'));
1264
+ }
1265
+ },
1266
+ emitMethod() {
1267
+ this.$emit('reload');
1268
+ this.$emit('reloadPage');
1269
+ this.$emit('onCloseSetting');
1270
+ },
1271
+ handleHideExpression(item) {
1272
+ if (item.hideExpression) {
1273
+ item.expressionFlag = /(^\d+$)|(^[L,l,R,r]\(\d+\)(~\(\d+\))?$)/.test(item.hideExpression);
1274
+ } else {
1275
+ item.expressionFlag = true;
1276
+ }
1277
+ },
1278
+ handleRequestedBtnSet() {
1279
+ let url = this.isMenuSource ? `/tableList/getMiddleButtonSetting` : `/tableList/getButtonSetting`;
1280
+ this.axios
1281
+ .get(url, {
1282
+ params: {
1283
+ tableId: this.settingViewData.id || this.settingViewData.tableId,
1284
+ tableType: this.$route.query.tableType === 'DEFINED_TABLE_LIST' || this.menuObj.reportType === 'definedListConfig' ? 'definedListConfig' : null
1285
+ }
1286
+ })
1287
+ .then(({ data }) => {
1288
+ if (data.result === 'SUCCESS') {
1289
+ let { map = {} } = data;
1290
+ this.btnSettingObj = map.setting;
1291
+ this.btnMobileSettingObj = map.settingMobile;
1292
+ // this.setting = map.setting;
1293
+ // this.settingMobile = map.settingMob`ile;
1294
+ this.btnSetting.hideButtons = map.setting.hideButtons || [];
1295
+ this.btnSetting.showButtons = map.setting.showButtons || [];
1296
+ this.btnSetting.sid = map.setting.sid;
1297
+ this.btnMobileSetting.hideButtons = map.settingMobile.hideButtons || [];
1298
+ this.btnMobileSetting.showButtons = map.settingMobile.showButtons || [];
1299
+ this.btnMobileSetting.sid = map.settingMobile.sid;
1300
+ }
1301
+ })
1302
+ .catch(err => {
1303
+ console.log(err);
1304
+ });
1305
+ },
1306
+ handleMoveBtn(ele, index, type) {
1307
+ let tpList = type.split('-');
1308
+ this.aboutEditType = tpList[0];
1309
+ this.aboutModel = 'btn-' + tpList[1];
1310
+ let { btnSetting = {}, btnMobileSetting } = this;
1311
+ this.clickTimes++;
1312
+ if (this.clickTimes == 2) {
1313
+ this.modalTitle = '1.9.276';
1314
+ this.curAboutType = ele.type || '';
1315
+ this.visibleShowItem = true;
1316
+ this.itemTitleShowItem = ele.name;
1317
+ this.btnIcon = ele.style;
1318
+ this.clickTimes = 0;
1319
+ }
1320
+ setTimeout(() => {
1321
+ if (this.clickTimes == 1) {
1322
+ if (tpList[1] == 'show') {
1323
+ if (tpList[0] == 'PC') {
1324
+ btnSetting.hideButtons.push(...btnSetting.showButtons.splice(index, 1));
1325
+ } else {
1326
+ btnMobileSetting.hideButtons.push(...btnMobileSetting.showButtons.splice(index, 1));
1327
+ }
1328
+ } else {
1329
+ if (tpList[0] == 'PC') {
1330
+ btnSetting.showButtons.push(...btnSetting.hideButtons.splice(index, 1));
1331
+ } else {
1332
+ btnMobileSetting.showButtons.push(...btnMobileSetting.hideButtons.splice(index, 1));
1333
+ }
1334
+ }
1335
+
1336
+ this.clickTimes = 0;
1337
+ }
1338
+ }, 300);
1339
+ },
1340
+ saveBtnSetItem(type = 'PC') {
1341
+ let { btnSetting = {}, btnMobileSetting = {} } = this;
1342
+ let isPc = type === 'PC';
1343
+ let settingAbout = {};
1344
+ let mapBtnList = (list = []) =>
1345
+ list.map(v => {
1346
+ return {
1347
+ id: v.sid,
1348
+ name: v.name,
1349
+ icon: v.icon
1350
+ };
1351
+ });
1352
+
1353
+ if (isPc) {
1354
+ settingAbout.hideButtons = mapBtnList(btnSetting.hideButtons);
1355
+ settingAbout.showButtons = mapBtnList(btnSetting.showButtons);
1356
+ } else {
1357
+ settingAbout.hideButtons = mapBtnList(btnMobileSetting.hideButtons);
1358
+ settingAbout.showButtons = mapBtnList(btnMobileSetting.showButtons);
1359
+ }
1360
+ let params = {
1361
+ id: isPc ? this.btnSetting.sid : this.btnMobileSetting.sid,
1362
+ tableId: this.settingViewData.id || this.settingViewData.tableId,
1363
+ setting: JSON.stringify(settingAbout),
1364
+ classify: type
1365
+ };
1366
+ let url = `/tableList/saveButtonSetting`;
1367
+ this.spinning = true;
1368
+ this.axios
1369
+ .post(url, this.$qs.stringify(params))
1370
+ .then(({ data }) => {
1371
+ this.spinning = false;
1372
+ if (data) {
1373
+ this.saveMethod(data);
1374
+ }
1375
+ })
1376
+ .catch(() => {
1377
+ this.spinning = false;
1378
+ });
1379
+ },
1380
+ colWidthChange() {
1381
+ this.isColWidthChange = true;
1382
+ },
1383
+ goMiddleListDetail() {
1384
+ // let id = data.id || data.tableId;
1385
+ // this.setModalOpenMiddle(1);
1386
+ this.modalWidth = '1280px';
1387
+ this.middleListModal = true;
1388
+ },
1389
+ middleCancel() {
1390
+ this.setModalOpenMiddle('');
1391
+ this.modalWidth = '1280px';
1392
+ this.modalHeight = '748px';
1393
+ this.isChangeWindow = false;
1394
+ this.middleListModal = false;
1395
+ },
1396
+ goBack(refresh = false) {
1397
+ if (this.openModal) {
1398
+ if (refresh) {
1399
+ this.$emit('emitMethod');
1400
+ }
1401
+ this.middleCancel();
1402
+ this.$emit('middleCancel');
1403
+ } else {
1404
+ // this.$router.go(-1);
1405
+ this.$router.push({
1406
+ path: '/middleList',
1407
+ query: { keywords: this.$route.query.keywords }
1408
+ });
1409
+ }
1410
+ },
1411
+
1412
+ getRefreshStatus() {
1413
+ this.isRefreshStatus = true;
1414
+ },
1415
+
1416
+ async tabsOnChange(activeKey) {
1417
+ switch (activeKey) {
1418
+ case 'expandfields':
1419
+ this.isRefreshStatus = false;
1420
+ break;
1421
+ case 'fieldList':
1422
+ if (this.isRefreshStatus) {
1423
+ this.initSetting();
1424
+ }
1425
+ break;
1426
+ case '2':
1427
+ if (this.$utils.isEmpty(this.btnSettingObj)) {
1428
+ this.handleRequestedBtnSet();
1429
+ }
1430
+ break;
1431
+ case '3':
1432
+ if (this.$utils.isEmpty(this.relatedSetting)) {
1433
+ this.initAboutSetting();
1434
+ }
1435
+ break;
1436
+ default:
1437
+ break;
1438
+ }
1439
+ },
1440
+ openColor() {
1441
+ this.showColor = true;
1442
+ this.curColor = this.color || '#000000';
1443
+ },
1444
+ handleOkColor(val) {
1445
+ this.color = val;
1446
+ this.showColor = false;
1447
+ },
1448
+ closeColor(val) {
1449
+ this.showColor = val;
1450
+ },
1451
+ changeModalWindow() {
1452
+ this.isChangeWindow = !this.isChangeWindow;
1453
+ let docHeight = document.body.clientHeight;
1454
+ this.modalWidth = this.modalWidth === '1280px' ? `100%` : '1280px';
1455
+ this.modalHeight = this.modalHeight === '748px' ? `${docHeight - 55}px` : '748px';
1456
+ this.$nextTick(() => {
1457
+ this.$refs.ListDetail?.handlePageHeight();
1458
+ });
1459
+ },
1460
+ getContainer() {
1461
+ // fix safari浏览器兼容
1462
+ return document.body;
1463
+ },
1464
+ getAboutContainer() {
1465
+ return document.getElementsByClassName('setting-tabs-about')[0];
1466
+ },
1467
+ showCheckBox(key) {
1468
+ return this.fields.some(i => Object.prototype.hasOwnProperty.call(i, key));
1469
+ },
1470
+ calculateCheck(key) {
1471
+ if (!this.fields.length) return false;
1472
+ return this.fields.every(i => {
1473
+ if (!Object.prototype.hasOwnProperty.call(i, key)) return true;
1474
+ return i[key];
1475
+ });
1476
+ },
1477
+ handleAllCheck(e, key) {
1478
+ const value = e.target.checked ? 1 : 0;
1479
+ this.fields.forEach(i => {
1480
+ if (Object.prototype.hasOwnProperty.call(i, key)) {
1481
+ i[key] = value;
1482
+ }
1483
+ return i;
1484
+ });
1485
+ this.fields = [].concat(this.fields);
1486
+ },
1487
+ hanldeSaveAboutItem() {
1488
+ this.saveSetting();
1489
+ },
1490
+ handleFieldClick(item) {
1491
+ this.clickItem = item;
1492
+ },
1493
+
1494
+ // // 修改默认排序
1495
+ // onChangeIsOrder(e, item, j) {
1496
+ // this.handleSetfieldTracher(item, j);
1497
+ // },
1498
+
1499
+ // // 修改固定
1500
+ // onChangeIsFixed(e, item, j) {
1501
+ // this.handleSetfieldTracher(item, j);
1502
+ // },
1503
+
1504
+ // //
1505
+ // colWidthChangeOnBlur(e, item, j) {
1506
+ // this.handleSetfieldTracher(item, j);
1507
+ // },
1508
+
1509
+ // handleSetfieldTracher(item, i) {
1510
+ // try {
1511
+ // // 埋点
1512
+ // this.$_handleTracherLog('列表字段设置', {
1513
+ // 列表ID: this.settingViewData.id || this.settingViewData.tableId,
1514
+ // 列表名称: this.tableName || this.$attrs?.tableName || '',
1515
+ // 字段: item.title,
1516
+ // 显示: item.isShow,
1517
+ // 排序: item.isSort,
1518
+ // 默认排序: item.isOrder,
1519
+ // 固定: item.isFixed,
1520
+ // 列宽: item.colWidth,
1521
+ // 顺序位置: i
1522
+ // });
1523
+ // } catch (error) {
1524
+ // console.log(error);
1525
+ // }
1526
+ // },
1527
+ // 选择上下显示比列
1528
+ changeRatio(e) {
1529
+ this.displayRatio = e;
1530
+ },
1531
+ // 自定义表格的条数
1532
+ onChange(val) {
1533
+ if (val > 300) {
1534
+ this.$message.error('分页数不能超过300条/页');
1535
+ }
1536
+ if (!val) {
1537
+ this.pageSizeCustom = undefined;
1538
+ this.pageSize = 1;
1539
+ } else {
1540
+ this.pageSize = val;
1541
+ }
1542
+ },
1543
+ visibleEditCheckbox(ele) {
1544
+ let find = this.listFormUnionSetting?.paramsList?.find(item => item.tableField === ele.columnName);
1545
+ return ele.sid != '0001' && find;
1546
+ }
1547
+ }
1548
+ });
1549
+ </script>
1550
+ <style scoped lang="less">
1551
+ ul {
1552
+ margin: 0;
1553
+ padding: 0;
1554
+ }
1555
+
1556
+ .fields-set-content {
1557
+ height: 100%;
1558
+ display: flex;
1559
+ flex-direction: column;
1560
+ overflow: hidden;
1561
+ .fields-table {
1562
+ flex: 1;
1563
+ display: flex;
1564
+ flex-direction: column;
1565
+ overflow: auto;
1566
+ }
1567
+ }
1568
+ .new-name {
1569
+ display: inline-block;
1570
+ width: 10%;
1571
+ text-align: left;
1572
+ }
1573
+ .new-name-input {
1574
+ width: 90%;
1575
+ margin-bottom: 10px;
1576
+ }
1577
+ .name-new-change {
1578
+ margin: 15px 0px 0px 40px;
1579
+ }
1580
+ /deep/ .ant-tabs {
1581
+ padding: 0 16px;
1582
+ .ant-tabs-nav-scroll {
1583
+ text-align: left;
1584
+ }
1585
+ .ant-tabs-content {
1586
+ text-align: left;
1587
+ }
1588
+ .ant-tabs-bar {
1589
+ margin-bottom: 8px;
1590
+ }
1591
+ &.setting-tabs {
1592
+ color: #7587af;
1593
+ .ant-tabs-bar {
1594
+ border-bottom: unset;
1595
+ }
1596
+ .ant-tabs-nav {
1597
+ transition: none;
1598
+ }
1599
+ .ant-tabs-tab {
1600
+ padding-bottom: unset;
1601
+ > span {
1602
+ display: inline-flex;
1603
+ flex-direction: column;
1604
+ justify-content: flex-start;
1605
+ align-items: center;
1606
+ > i {
1607
+ margin-right: 0;
1608
+ }
1609
+ }
1610
+ }
1611
+ .ant-tabs-ink-bar,
1612
+ .ant-tabs-ink-bar-animated {
1613
+ display: none !important;
1614
+ }
1615
+ &.setting-tabs-about {
1616
+ .location {
1617
+ span {
1618
+ margin-right: 8px;
1619
+ }
1620
+ }
1621
+ .location + .location {
1622
+ margin-top: 6px;
1623
+ }
1624
+ }
1625
+ }
1626
+ }
1627
+
1628
+ .setting-view {
1629
+ height: 100%;
1630
+ position: relative;
1631
+ /deep/ .ant-spin-container {
1632
+ width: 100%;
1633
+ height: 100%;
1634
+ }
1635
+ .settingview-tabs {
1636
+ position: relative;
1637
+ padding: 0;
1638
+ /* 非中台,仅展示字段设置的情况下,隐藏tab */
1639
+ &.settingview-only {
1640
+ /deep/ .ant-tabs-bar {
1641
+ opacity: 0;
1642
+ pointer-events: none;
1643
+ .ant-tabs-tab-btn-disabled {
1644
+ cursor: default;
1645
+ }
1646
+ }
1647
+ }
1648
+ }
1649
+ &.no-padding {
1650
+ height: 100%;
1651
+ padding-bottom: 0;
1652
+ }
1653
+ .setting-wrap {
1654
+ position: absolute;
1655
+ top: 12px;
1656
+ right: 16px;
1657
+ color: #212121 !important;
1658
+
1659
+ cursor: pointer;
1660
+ > div {
1661
+ display: inline-block;
1662
+ }
1663
+ }
1664
+ .setting-title {
1665
+ background: #f2f2f4;
1666
+ border: 1px solid #f2f2f2;
1667
+ height: 52px;
1668
+ line-height: 52px;
1669
+ span {
1670
+ display: inline-block;
1671
+ }
1672
+ &.seting-title-api {
1673
+ .width-large {
1674
+ width: 15%;
1675
+ }
1676
+ }
1677
+ }
1678
+ .set-show {
1679
+ min-height: 100px;
1680
+ overflow-y: auto;
1681
+ &.set-show-api {
1682
+ .width-large {
1683
+ width: 15%;
1684
+ }
1685
+ }
1686
+
1687
+ .left-style.sortable-chosen {
1688
+ background: #fafafa;
1689
+ box-shadow: 0px 0px 10px 0px #d5d5d5;
1690
+ }
1691
+
1692
+ li {
1693
+ padding: 5px 0;
1694
+ display: flex;
1695
+ align-items: center;
1696
+ border-bottom: 1px solid #e8e8e8;
1697
+ height: 52px;
1698
+ line-height: 52px;
1699
+ }
1700
+ .alias-style {
1701
+ outline: none;
1702
+ border-radius: 4px 4px 4px 4px;
1703
+ border: solid 1px #d5d5d5;
1704
+ height: 32px;
1705
+ text-indent: 16px;
1706
+ color: #38454f;
1707
+ width: 100%;
1708
+ }
1709
+ .is-sort-style {
1710
+ outline: none;
1711
+ border-radius: 4px 4px 4px 4px;
1712
+ border: solid 1px #d5d5d5;
1713
+ height: 32px;
1714
+ text-indent: 6px;
1715
+ color: #38454f;
1716
+ width: 87px;
1717
+ margin-right: 5px;
1718
+ &:disabled {
1719
+ cursor: not-allowed;
1720
+ background: #f5f5f5;
1721
+ }
1722
+ }
1723
+ .col-width-style {
1724
+ width: 70px;
1725
+ }
1726
+ .title-item {
1727
+ display: inline-flex;
1728
+ justify-content: flex-start;
1729
+ align-items: center;
1730
+ text-align: left;
1731
+ > span {
1732
+ display: inline-block;
1733
+ max-width: calc(100% - 20px);
1734
+ overflow: hidden;
1735
+ white-space: nowrap;
1736
+ text-overflow: ellipsis;
1737
+ }
1738
+ }
1739
+ }
1740
+ .alias-style {
1741
+ outline: none;
1742
+ border-radius: 4px 4px 4px 4px;
1743
+ border: solid 1px rgba(212, 222, 229, 1);
1744
+ height: 32px;
1745
+ text-indent: 16px;
1746
+ color: #38454f;
1747
+ }
1748
+ .buttonList {
1749
+ padding-bottom: 24px;
1750
+ padding-bottom: 20px;
1751
+ border-bottom: 1px solid #d5d5d5;
1752
+ }
1753
+ .show-setting {
1754
+ padding-top: 24px;
1755
+ padding-bottom: 16px;
1756
+ /deep/.ant-checkbox-wrapper {
1757
+ margin-left: 0;
1758
+ margin-right: 8px;
1759
+ }
1760
+ }
1761
+ .btn-operate {
1762
+ border-top: 1px solid #d5d5d5;
1763
+ padding: 12px 0 4px;
1764
+ }
1765
+ .lable-title {
1766
+ color: #000000;
1767
+ margin-bottom: 11px;
1768
+ font-size: 16px;
1769
+ cursor: pointer;
1770
+ &.pagesize-title {
1771
+ margin-top: 20px;
1772
+ border-top: 1px solid #d5d5d5;
1773
+ padding-top: 14px;
1774
+ }
1775
+ }
1776
+
1777
+ .view-model-input {
1778
+ margin: 5px 0;
1779
+ }
1780
+ .left-show-part {
1781
+ padding-right: 20px;
1782
+ border-right: 1px solid rgb(205, 197, 211);
1783
+ height: 748px;
1784
+ overflow-y: auto;
1785
+ .show-content-header {
1786
+ cursor: pointer;
1787
+ height: 30px;
1788
+ line-height: 30px;
1789
+ border-bottom: 1px dashed #eee;
1790
+ margin-bottom: 10px;
1791
+ .left-item-height {
1792
+ height: 748px;
1793
+ }
1794
+ .show-content-headerOperate {
1795
+ float: right;
1796
+ color: #428bca;
1797
+ cursor: pointer;
1798
+ }
1799
+ }
1800
+
1801
+ .show-field-style {
1802
+ border: 1px solid rgb(205, 197, 211);
1803
+ background: #fdfdfd;
1804
+ height: 40px;
1805
+ line-height: 40px;
1806
+ margin: 0px 10px 10px 0px;
1807
+ padding-left: 8px;
1808
+ color: #5585f5;
1809
+ border-radius: 5px;
1810
+ .show-filed-edit {
1811
+ float: right;
1812
+ select {
1813
+ outline: none;
1814
+ border-radius: 4px 4px 4px 4px;
1815
+ border: solid 1px rgba(212, 222, 229, 1);
1816
+ height: 28px;
1817
+ text-indent: 7px;
1818
+ color: #38454f;
1819
+ width: 60px;
1820
+ margin-right: 2px;
1821
+ }
1822
+ button {
1823
+ height: 28px;
1824
+ margin-right: 2px;
1825
+ text-align: center;
1826
+ }
1827
+ }
1828
+ }
1829
+ }
1830
+
1831
+ .right-hide-part {
1832
+ height: 800px;
1833
+ overflow-y: auto;
1834
+ .titleHide {
1835
+ height: 30px;
1836
+ line-height: 30px;
1837
+ font-size: 18px;
1838
+ border-bottom: 1px solid #eee;
1839
+ margin-bottom: 20px;
1840
+ }
1841
+ padding: 5px;
1842
+ .hide-field-style {
1843
+ border: 1px solid rgb(205, 197, 211);
1844
+ background: #fdfdfd;
1845
+ height: 40px;
1846
+ line-height: 40px;
1847
+ margin: 0px 10px 10px 10px;
1848
+ padding-left: 8px;
1849
+ border-radius: 5px;
1850
+ height: 100%;
1851
+ }
1852
+ }
1853
+ .line-style {
1854
+ padding-bottom: 6px;
1855
+ border-bottom: 1px dashed #ccc;
1856
+ overflow: hidden;
1857
+ padding-left: 8px;
1858
+ height: 40px;
1859
+ line-height: 40px;
1860
+ margin: 0px 0px 10px 0px;
1861
+ .line-edit-style {
1862
+ float: right;
1863
+ button {
1864
+ margin-right: 5px;
1865
+ }
1866
+ }
1867
+ }
1868
+
1869
+ .row-style {
1870
+ margin: 6px 0;
1871
+ .inner-show {
1872
+ margin: 0px 3px;
1873
+ border: 1px solid #ccc;
1874
+ border-radius: 5px;
1875
+ padding-left: 12px;
1876
+ height: 40px;
1877
+ line-height: 40px;
1878
+ .row-lable-style {
1879
+ float: left;
1880
+ margin-right: 5px;
1881
+ }
1882
+ .row-edit {
1883
+ float: right;
1884
+ .row-select-style {
1885
+ outline: none;
1886
+ border-radius: 4px 4px 4px 4px;
1887
+ border: solid 1px #d4dee5;
1888
+ height: 32px;
1889
+ text-indent: 3px;
1890
+ color: #38454f;
1891
+ width: 55px;
1892
+ float: left;
1893
+ margin-top: 3px;
1894
+ margin-right: 5px;
1895
+ }
1896
+ .row-button-style {
1897
+ float: right;
1898
+ margin-top: 3px;
1899
+ margin-right: 3px;
1900
+ width: 50px;
1901
+ padding-left: 7px;
1902
+ }
1903
+ }
1904
+ }
1905
+ }
1906
+
1907
+ .related-items {
1908
+ .list-head {
1909
+ height: 30px;
1910
+ line-height: 30px;
1911
+ // border-bottom: thin solid #ccc;
1912
+ margin-bottom: 10px;
1913
+ }
1914
+ label {
1915
+ display: inline-block;
1916
+ max-width: 100%;
1917
+ margin-bottom: 5px;
1918
+ margin-right: 10px;
1919
+ font-weight: 700;
1920
+ }
1921
+ .text-muted {
1922
+ color: #777;
1923
+ }
1924
+ li {
1925
+ position: relative;
1926
+ display: inline-block;
1927
+ padding: 6px;
1928
+ margin-right: 8px;
1929
+ border: 1px dashed #ccc;
1930
+ margin-bottom: 8px;
1931
+ &.homepage-li {
1932
+ border-style: solid;
1933
+ }
1934
+ .close-btn {
1935
+ position: absolute;
1936
+ top: -6px;
1937
+ right: -6px;
1938
+ font-size: 12px;
1939
+ background: #fff;
1940
+ color: #cfcfcf;
1941
+ cursor: pointer;
1942
+ &:hover {
1943
+ color: #8c8c8c;
1944
+ }
1945
+ }
1946
+ }
1947
+ }
1948
+ .view-about {
1949
+ height: 300px;
1950
+ overflow-y: auto;
1951
+ border: thin solid #d2d9e8;
1952
+ padding: 16px;
1953
+ margin-bottom: 16px;
1954
+ }
1955
+ .allWidth {
1956
+ width: 100%;
1957
+ }
1958
+ .halfWidth {
1959
+ width: 50%;
1960
+ }
1961
+ .threeWidth {
1962
+ width: 33.33%;
1963
+ }
1964
+ .fourWidth {
1965
+ width: 25%;
1966
+ }
1967
+ .width-less {
1968
+ display: inline-block;
1969
+ width: 5%;
1970
+ overflow: hidden;
1971
+ white-space: nowrap;
1972
+ text-overflow: ellipsis;
1973
+ }
1974
+ .width-show {
1975
+ display: inline-block;
1976
+ width: 4.5%;
1977
+ overflow: hidden;
1978
+ white-space: nowrap;
1979
+ text-overflow: ellipsis;
1980
+ }
1981
+ .drag-icon-wrap {
1982
+ width: 3%;
1983
+ cursor: pointer;
1984
+ text-align: center;
1985
+ }
1986
+ .width-showed {
1987
+ display: inline-block;
1988
+ width: 9%;
1989
+ overflow: hidden;
1990
+ white-space: nowrap;
1991
+ text-overflow: ellipsis;
1992
+ }
1993
+ .width-word {
1994
+ display: inline-block;
1995
+ width: 10%;
1996
+ line-height: 52px;
1997
+ overflow: hidden;
1998
+ white-space: nowrap;
1999
+ text-overflow: ellipsis;
2000
+ padding-right: 8px;
2001
+ }
2002
+ .width-word-a {
2003
+ display: inline-block;
2004
+ width: 12%;
2005
+ line-height: 52px;
2006
+ overflow: hidden;
2007
+ white-space: nowrap;
2008
+ text-overflow: ellipsis;
2009
+ padding-right: 8px;
2010
+ }
2011
+ .width-large {
2012
+ display: inline-block;
2013
+ width: 10%;
2014
+ overflow: hidden;
2015
+ white-space: nowrap;
2016
+ text-overflow: ellipsis;
2017
+ }
2018
+
2019
+ .button-is-up {
2020
+ margin-right: 5px;
2021
+ }
2022
+ .tip-color {
2023
+ font-weight: 500;
2024
+ color: yellow;
2025
+ line-height: 1.5;
2026
+ }
2027
+
2028
+ .error-tip {
2029
+ border: 1px solid red !important;
2030
+ }
2031
+ .small-font {
2032
+ font-size: 12px;
2033
+ line-height: 1.5;
2034
+ p {
2035
+ padding: 0;
2036
+ margin: 0;
2037
+ }
2038
+ }
2039
+ .show-ratio {
2040
+ /deep/ .ant-select {
2041
+ width: 200px;
2042
+ }
2043
+ /deep/.ant-select-selection--single {
2044
+ height: 26px;
2045
+ }
2046
+ /deep/ .ant-select-selection__rendered {
2047
+ line-height: 24px;
2048
+ }
2049
+ }
2050
+ }
2051
+ </style>
2052
+ <style>
2053
+ .popver-content {
2054
+ height: 400px;
2055
+ overflow: hidden;
2056
+ overflow-y: auto;
2057
+ }
2058
+ .popver-ul {
2059
+ margin-bottom: 10px;
2060
+ }
2061
+ .ul-title {
2062
+ font-size: 14px;
2063
+ font-weight: 400;
2064
+ color: rgba(145, 159, 190, 1);
2065
+ line-height: 20px;
2066
+ }
2067
+ </style>