cnhis-design-vue 2.2.3 → 2.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (750) hide show
  1. package/CHANGELOG.md +32 -10
  2. package/es/affix/index.js +8 -8
  3. package/es/age/index.js +10 -10
  4. package/es/alert/index.js +8 -8
  5. package/es/anchor/index.js +8 -8
  6. package/es/auto-complete/index.js +8 -8
  7. package/es/avatar/index.js +8 -8
  8. package/es/back-top/index.js +8 -8
  9. package/es/badge/index.js +8 -8
  10. package/es/base/index.js +8 -8
  11. package/es/big-table/index.js +102 -102
  12. package/es/big-table/style.css +1 -1
  13. package/es/breadcrumb/index.js +8 -8
  14. package/es/button/index.js +33 -33
  15. package/es/calendar/index.js +8 -8
  16. package/es/captcha/index.js +3 -3
  17. package/es/card/index.js +8 -8
  18. package/es/card-reader-sdk/index.js +1 -1
  19. package/es/carousel/index.js +8 -8
  20. package/es/cascader/index.js +8 -8
  21. package/es/checkbox/index.js +9 -9
  22. package/es/col/index.js +8 -8
  23. package/es/collapse/index.js +8 -8
  24. package/es/color-picker/index.js +1 -1
  25. package/es/comment/index.js +8 -8
  26. package/es/config-provider/index.js +8 -8
  27. package/es/date-picker/index.js +8 -8
  28. package/es/descriptions/index.js +8 -8
  29. package/es/direct/index.js +16 -16
  30. package/es/divider/index.js +8 -8
  31. package/es/drag-layout/index.js +3 -3
  32. package/es/drawer/index.js +8 -8
  33. package/es/dropdown/index.js +8 -8
  34. package/es/editor/index.js +1 -1
  35. package/es/ellipsis/index.js +1 -1
  36. package/es/empty/index.js +8 -8
  37. package/es/fabric-chart/index.js +262 -183
  38. package/es/form/index.js +8 -8
  39. package/es/form-model/index.js +8 -8
  40. package/es/form-table/index.js +74 -74
  41. package/es/full-calendar/index.js +4 -4
  42. package/es/index/index.js +778 -689
  43. package/es/index/style.css +1 -1
  44. package/es/input/index.js +9 -9
  45. package/es/input-number/index.js +8 -8
  46. package/es/layout/index.js +8 -8
  47. package/es/list/index.js +8 -8
  48. package/es/locale-provider/index.js +8 -8
  49. package/es/map/index.js +9 -9
  50. package/es/mentions/index.js +8 -8
  51. package/es/menu/index.js +8 -8
  52. package/es/message/index.js +8 -8
  53. package/es/multi-chat/index.js +76 -76
  54. package/es/multi-chat-client/index.js +70 -70
  55. package/es/multi-chat-history/index.js +4 -4
  56. package/es/multi-chat-record/index.js +14 -14
  57. package/es/multi-chat-setting/index.js +22 -22
  58. package/es/multi-chat-sip/index.js +1 -1
  59. package/es/notification/index.js +8 -8
  60. package/es/page-header/index.js +8 -8
  61. package/es/pagination/index.js +8 -8
  62. package/es/popconfirm/index.js +8 -8
  63. package/es/popover/index.js +8 -8
  64. package/es/progress/index.js +8 -8
  65. package/es/radio/index.js +9 -9
  66. package/es/rate/index.js +8 -8
  67. package/es/result/index.js +8 -8
  68. package/es/row/index.js +8 -8
  69. package/es/scale-container/index.js +9 -9
  70. package/es/scale-view/index.js +27 -27
  71. package/es/select/index.js +36 -21
  72. package/es/select-label/index.js +11 -11
  73. package/es/select-person/index.js +2 -2
  74. package/es/select-tag/index.js +4 -4
  75. package/es/shortcut-setter/index.js +10 -10
  76. package/es/skeleton/index.js +8 -8
  77. package/es/slider/index.js +8 -8
  78. package/es/slider-tree/index.js +9 -9
  79. package/es/space/index.js +8 -8
  80. package/es/spin/index.js +8 -8
  81. package/es/statistic/index.js +8 -8
  82. package/es/steps/index.js +8 -8
  83. package/es/switch/index.js +8 -8
  84. package/es/table-filter/index.js +112 -117
  85. package/es/table-filter/style.css +1 -1
  86. package/es/tabs/index.js +8 -8
  87. package/es/tag/index.js +9 -9
  88. package/es/time-picker/index.js +8 -8
  89. package/es/timeline/index.js +8 -8
  90. package/es/tooltip/index.js +8 -8
  91. package/es/transfer/index.js +8 -8
  92. package/es/tree/index.js +8 -8
  93. package/es/tree-select/index.js +8 -8
  94. package/es/upload/index.js +8 -8
  95. package/es/verification-code/index.js +2 -2
  96. package/lib/cui.common.js +719 -632
  97. package/lib/cui.umd.js +719 -632
  98. package/lib/cui.umd.min.js +18 -18
  99. package/package.json +1 -1
  100. package/.prettierrc.js +0 -27
  101. package/packages/affix/index.js +0 -12
  102. package/packages/affix/src/Affix.jsx +0 -12
  103. package/packages/age/index.js +0 -27
  104. package/packages/age/src/age/index.vue +0 -140
  105. package/packages/age/src/age-com/index.vue +0 -210
  106. package/packages/alert/index.js +0 -12
  107. package/packages/alert/src/Alert.jsx +0 -11
  108. package/packages/anchor/index.js +0 -18
  109. package/packages/anchor/src/Anchor.jsx +0 -11
  110. package/packages/anchor/src/Link.jsx +0 -11
  111. package/packages/auto-complete/index.js +0 -12
  112. package/packages/auto-complete/src/AutoComplete.jsx +0 -12
  113. package/packages/avatar/index.js +0 -12
  114. package/packages/avatar/src/Avatar.jsx +0 -11
  115. package/packages/back-top/index.js +0 -12
  116. package/packages/back-top/src/BackTop.jsx +0 -11
  117. package/packages/badge/index.js +0 -12
  118. package/packages/badge/src/Badge.jsx +0 -11
  119. package/packages/base/index.js +0 -3
  120. package/packages/big-table/index.js +0 -20
  121. package/packages/big-table/src/BigTable.vue +0 -2977
  122. package/packages/big-table/src/Fieldset.vue +0 -2067
  123. package/packages/big-table/src/assets/iconfont/iconfont.css +0 -25
  124. package/packages/big-table/src/assets/iconfont/iconfont.ttf +0 -0
  125. package/packages/big-table/src/assets/img/failure.png +0 -0
  126. package/packages/big-table/src/assets/img/icon-asc.png +0 -0
  127. package/packages/big-table/src/assets/img/icon-desc.png +0 -0
  128. package/packages/big-table/src/assets/img/no-permission.png +0 -0
  129. package/packages/big-table/src/assets/img/nodata.png +0 -0
  130. package/packages/big-table/src/assets/img/notfound.png +0 -0
  131. package/packages/big-table/src/assets/img/qr.png +0 -0
  132. package/packages/big-table/src/assets/img/video_default_cover.png +0 -0
  133. package/packages/big-table/src/assets/img/xb_big.png +0 -0
  134. package/packages/big-table/src/assets/img/xb_small.png +0 -0
  135. package/packages/big-table/src/assets/style/table-base.less +0 -425
  136. package/packages/big-table/src/assets/style/table-global.less +0 -20
  137. package/packages/big-table/src/components/AutoLayoutButton.vue +0 -285
  138. package/packages/big-table/src/components/HeaderFilter.vue +0 -371
  139. package/packages/big-table/src/components/NoData.vue +0 -81
  140. package/packages/big-table/src/components/TextOverTooltip.vue +0 -120
  141. package/packages/big-table/src/components/edit-form/EditForm.vue +0 -518
  142. package/packages/big-table/src/components/edit-form/edit-component/config-data/index.js +0 -68
  143. package/packages/big-table/src/components/edit-form/edit-component/edit-date-picker/edit-date-picker.vue +0 -60
  144. package/packages/big-table/src/components/edit-form/edit-component/edit-digital/edit-digital.vue +0 -54
  145. package/packages/big-table/src/components/edit-form/edit-component/edit-input/edit-input.vue +0 -39
  146. package/packages/big-table/src/components/edit-form/edit-component/edit-input-password/edit-input-password.vue +0 -79
  147. package/packages/big-table/src/components/edit-form/edit-component/edit-month-picker/edit-month-picker.vue +0 -37
  148. package/packages/big-table/src/components/edit-form/edit-component/edit-search/edit-search.vue +0 -156
  149. package/packages/big-table/src/components/edit-form/edit-component/edit-search-more/edit-search-more.vue +0 -151
  150. package/packages/big-table/src/components/edit-form/edit-component/edit-select/edit-select.vue +0 -40
  151. package/packages/big-table/src/components/edit-form/edit-component/edit-select-multiple/edit-select-multiple.vue +0 -55
  152. package/packages/big-table/src/components/edit-form/edit-component/edit-switch/edit-switch.vue +0 -43
  153. package/packages/big-table/src/components/edit-form/edit-component/edit-textarea/edit-textarea.vue +0 -41
  154. package/packages/big-table/src/components/edit-form/edit-component/edit-time-picker/edit-time-picker.vue +0 -40
  155. package/packages/big-table/src/components/edit-form/edit-component/mixins/bound-date.js +0 -3
  156. package/packages/big-table/src/components/edit-form/edit-component/mixins/dateType.js +0 -217
  157. package/packages/big-table/src/components/edit-form/edit-component/mixins/item-default.js +0 -639
  158. package/packages/big-table/src/components/edit-form/edit-component/mixins/search.js +0 -1223
  159. package/packages/big-table/src/components/edit-form/edit-component/register-com.js +0 -26
  160. package/packages/big-table/src/components/edit-form/edit-item/form-event.js +0 -80
  161. package/packages/big-table/src/components/edit-form/edit-item/global-props.js +0 -33
  162. package/packages/big-table/src/components/edit-form/edit-item/index.js +0 -4
  163. package/packages/big-table/src/components/edit-form/edit-item/render-methods.js +0 -28
  164. package/packages/big-table/src/components/edit-form/edit-item/validate-rules.js +0 -463
  165. package/packages/big-table/src/components/edit-form/edit-mixins/form-commom.js +0 -673
  166. package/packages/big-table/src/components/edit-form/edit-mixins/index.js +0 -3
  167. package/packages/big-table/src/components/edit-form/edit-utils/index.js +0 -112
  168. package/packages/big-table/src/components/password-com.vue +0 -58
  169. package/packages/big-table/src/components/player-vod/index.vue +0 -57
  170. package/packages/big-table/src/components/player-vod/player.vue +0 -193
  171. package/packages/big-table/src/components/player-vod/video-list.vue +0 -265
  172. package/packages/big-table/src/components/player-vod/video-modal.vue +0 -131
  173. package/packages/big-table/src/utils/CustomPagination.vue +0 -86
  174. package/packages/big-table/src/utils/batchEditing.js +0 -613
  175. package/packages/big-table/src/utils/bigTableProps.js +0 -112
  176. package/packages/big-table/src/utils/checkStrictly.js +0 -58
  177. package/packages/big-table/src/utils/eventBroadcast.js +0 -24
  178. package/packages/big-table/src/utils/format.js +0 -577
  179. package/packages/big-table/src/utils/headerFilter.js +0 -691
  180. package/packages/big-table/src/utils/nestTable.js +0 -109
  181. package/packages/big-table/src/utils/tableParse.js +0 -234
  182. package/packages/breadcrumb/index.js +0 -21
  183. package/packages/breadcrumb/src/Breadcrumb.jsx +0 -11
  184. package/packages/breadcrumb/src/BreadcrumbItem.jsx +0 -11
  185. package/packages/breadcrumb/src/BreadcrumbSeparator.jsx +0 -11
  186. package/packages/button/index.js +0 -21
  187. package/packages/button/src/Button.jsx +0 -11
  188. package/packages/button/src/ButtonGroup.jsx +0 -11
  189. package/packages/button/src/ButtonPrint/components/IdentityVerification.vue +0 -181
  190. package/packages/button/src/ButtonPrint/index.vue +0 -165
  191. package/packages/button/src/ButtonPrint/js/print.es.min.js +0 -1
  192. package/packages/button/src/ButtonPrint/js/print.es.min1.js +0 -1
  193. package/packages/button/src/ButtonPrint/mixin/his-print.js +0 -95
  194. package/packages/button/src/ButtonPrint/new.vue +0 -1476
  195. package/packages/button/src/ButtonPrint/old.vue +0 -870
  196. package/packages/calendar/index.js +0 -12
  197. package/packages/calendar/src/Calendar.jsx +0 -11
  198. package/packages/captcha/index.js +0 -10
  199. package/packages/captcha/src/Captcha.vue +0 -164
  200. package/packages/captcha/src/Index.vue +0 -47
  201. package/packages/captcha/src/SlideVerify.vue +0 -285
  202. package/packages/card/index.js +0 -21
  203. package/packages/card/src/Card.jsx +0 -12
  204. package/packages/card/src/CardGrid.js +0 -7
  205. package/packages/card/src/CardMeta.js +0 -7
  206. package/packages/card-reader-sdk/index.js +0 -4
  207. package/packages/card-reader-sdk/src/cardReaderSDK.js +0 -149
  208. package/packages/card-reader-sdk/src/components/readCardDialog.vue +0 -48
  209. package/packages/card-reader-sdk/src/constants/index.js +0 -76
  210. package/packages/card-reader-sdk/src/insuranceSDK.js +0 -111
  211. package/packages/card-reader-sdk/src/utils/index.js +0 -84
  212. package/packages/card-reader-sdk/src/utils/readHealthCard.jsx +0 -57
  213. package/packages/carousel/index.js +0 -12
  214. package/packages/carousel/src/Carousel.jsx +0 -12
  215. package/packages/cascader/index.js +0 -12
  216. package/packages/cascader/src/Cascader.jsx +0 -11
  217. package/packages/checkbox/index.js +0 -30
  218. package/packages/checkbox/src/Checkbox.jsx +0 -11
  219. package/packages/checkbox/src/CheckboxImg/index.vue +0 -142
  220. package/packages/checkbox/src/Group.jsx +0 -11
  221. package/packages/col/index.js +0 -13
  222. package/packages/col/src/Col.jsx +0 -11
  223. package/packages/collapse/index.js +0 -18
  224. package/packages/collapse/src/Collapse.jsx +0 -11
  225. package/packages/collapse/src/Panel.jsx +0 -11
  226. package/packages/color-picker/index.js +0 -10
  227. package/packages/color-picker/src/color-picker.vue +0 -191
  228. package/packages/color-picker/src/style.less +0 -109
  229. package/packages/comment/index.js +0 -12
  230. package/packages/comment/src/Comment.jsx +0 -11
  231. package/packages/config-provider/index.js +0 -12
  232. package/packages/config-provider/src/ConfigProvider.jsx +0 -11
  233. package/packages/date-picker/index.js +0 -26
  234. package/packages/date-picker/src/DatePicker.jsx +0 -12
  235. package/packages/date-picker/src/MonthPicker.jsx +0 -11
  236. package/packages/date-picker/src/RangePicker.jsx +0 -11
  237. package/packages/date-picker/src/WeekPicker.jsx +0 -11
  238. package/packages/date-picker/src/utils/index.js +0 -374
  239. package/packages/descriptions/index.js +0 -18
  240. package/packages/descriptions/src/Descriptions.jsx +0 -11
  241. package/packages/descriptions/src/Item.jsx +0 -11
  242. package/packages/direct/index.js +0 -3
  243. package/packages/divider/index.js +0 -12
  244. package/packages/divider/src/Divider.jsx +0 -11
  245. package/packages/drag-layout/DragFormLeftItem.vue +0 -173
  246. package/packages/drag-layout/DragFormRightItem.vue +0 -284
  247. package/packages/drag-layout/I18n-mixins.js +0 -10
  248. package/packages/drag-layout/drag-layout.vue +0 -778
  249. package/packages/drag-layout/index.js +0 -12
  250. package/packages/drawer/index.js +0 -12
  251. package/packages/drawer/src/Drawer.jsx +0 -11
  252. package/packages/dropdown/index.js +0 -12
  253. package/packages/dropdown/src/Dropdown.jsx +0 -11
  254. package/packages/editor/index.js +0 -10
  255. package/packages/editor/src/Editor.vue +0 -201
  256. package/packages/editor/src/utils.js +0 -65
  257. package/packages/ellipsis/index.js +0 -9
  258. package/packages/ellipsis/src/Ellipsis.vue +0 -65
  259. package/packages/empty/index.js +0 -12
  260. package/packages/empty/src/Empty.jsx +0 -11
  261. package/packages/fabric-chart/index.js +0 -10
  262. package/packages/fabric-chart/src/FabricChart.vue +0 -153
  263. package/packages/fabric-chart/src/FabricGrid.vue +0 -67
  264. package/packages/fabric-chart/src/components/DropPopup.vue +0 -90
  265. package/packages/fabric-chart/src/components/MouseRightClick.vue +0 -168
  266. package/packages/fabric-chart/src/components/TimeScaleValue.vue +0 -125
  267. package/packages/fabric-chart/src/const/defaultVaule.js +0 -61
  268. package/packages/fabric-chart/src/fabric-chart/FabricCanvas.vue +0 -396
  269. package/packages/fabric-chart/src/fabric-chart/FabricLines.vue +0 -641
  270. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +0 -1447
  271. package/packages/fabric-chart/src/fabric-chart/FabricScaleValue.vue +0 -142
  272. package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +0 -928
  273. package/packages/fabric-chart/src/mixins/draw.js +0 -444
  274. package/packages/fabric-chart/src/mixins/drawExtracorporealCirculation.js +0 -222
  275. package/packages/fabric-chart/src/mixins/eventCommon.js +0 -107
  276. package/packages/fabric-chart/src/mixins/fabricCommon.js +0 -77
  277. package/packages/fabric-chart/src/mixins/fabricObject.js +0 -193
  278. package/packages/fabric-chart/src/utils/bus.js +0 -2
  279. package/packages/fabric-chart/src/utils/index.js +0 -104
  280. package/packages/form/index.js +0 -16
  281. package/packages/form/src/Form.jsx +0 -11
  282. package/packages/form/src/Item.jsx +0 -11
  283. package/packages/form-model/index.js +0 -14
  284. package/packages/form-model/src/FormModel.jsx +0 -11
  285. package/packages/form-model/src/Item.jsx +0 -11
  286. package/packages/form-table/index.js +0 -16
  287. package/packages/form-table/src/FormTable.vue +0 -1110
  288. package/packages/form-table/src/components/table-component/config-data/index.js +0 -80
  289. package/packages/form-table/src/components/table-component/global-props.js +0 -22
  290. package/packages/form-table/src/components/table-component/index.js +0 -8
  291. package/packages/form-table/src/components/table-component/mixins/bound-date.js +0 -455
  292. package/packages/form-table/src/components/table-component/mixins/dateType.js +0 -217
  293. package/packages/form-table/src/components/table-component/mixins/item-default.js +0 -257
  294. package/packages/form-table/src/components/table-component/mixins/search.js +0 -1242
  295. package/packages/form-table/src/components/table-component/register-com.js +0 -30
  296. package/packages/form-table/src/components/table-component/table-age/table-age.vue +0 -175
  297. package/packages/form-table/src/components/table-component/table-date-picker/table-date-picker.vue +0 -87
  298. package/packages/form-table/src/components/table-component/table-digital/table-digital.vue +0 -93
  299. package/packages/form-table/src/components/table-component/table-input/table-input.vue +0 -81
  300. package/packages/form-table/src/components/table-component/table-input-password/table-input-password.vue +0 -126
  301. package/packages/form-table/src/components/table-component/table-month-picker/table-month-picker.vue +0 -55
  302. package/packages/form-table/src/components/table-component/table-search/table-search.vue +0 -174
  303. package/packages/form-table/src/components/table-component/table-search-more/table-search-more.vue +0 -191
  304. package/packages/form-table/src/components/table-component/table-select/table-select.vue +0 -64
  305. package/packages/form-table/src/components/table-component/table-select-multiple/table-select-multiple.vue +0 -81
  306. package/packages/form-table/src/components/table-component/table-textarea/table-textarea.vue +0 -76
  307. package/packages/form-table/src/components/table-component/table-time-picker/table-time-picker.vue +0 -55
  308. package/packages/form-table/src/components/table-component/table-tree-select/table-tree-select.vue +0 -135
  309. package/packages/form-table/src/components/table-component/text-over-tooltip/TextOverTooltip.vue +0 -97
  310. package/packages/form-table/src/components/table-item/form-event.js +0 -81
  311. package/packages/form-table/src/components/table-item/global-props.js +0 -27
  312. package/packages/form-table/src/components/table-item/index.js +0 -4
  313. package/packages/form-table/src/components/table-item/render-methods.js +0 -28
  314. package/packages/form-table/src/components/table-item/validate-rules.js +0 -520
  315. package/packages/form-table/src/components/table-mixins/form-commom.js +0 -98
  316. package/packages/form-table/src/components/table-mixins/index.js +0 -3
  317. package/packages/form-table/src/components/table-utils/index.js +0 -112
  318. package/packages/form-table/src/disabledDetail.less +0 -46
  319. package/packages/full-calendar/index.js +0 -10
  320. package/packages/full-calendar/src/FullCalendar.vue +0 -775
  321. package/packages/full-calendar/src/api/index.js +0 -71
  322. package/packages/full-calendar/src/components/ListTag.vue +0 -184
  323. package/packages/full-calendar/src/components/Tag.vue +0 -300
  324. package/packages/full-calendar/src/components/TagDetail.vue +0 -288
  325. package/packages/full-calendar/src/utils/index.js +0 -217
  326. package/packages/grid/index.js +0 -10
  327. package/packages/grid/src/grid.js +0 -27
  328. package/packages/icon/index.js +0 -10
  329. package/packages/icon/src/icon.js +0 -13
  330. package/packages/index.js +0 -325
  331. package/packages/input/index.js +0 -30
  332. package/packages/input/src/Group.jsx +0 -11
  333. package/packages/input/src/Input.jsx +0 -11
  334. package/packages/input/src/Password.jsx +0 -11
  335. package/packages/input/src/Search.jsx +0 -11
  336. package/packages/input/src/TextArea.jsx +0 -11
  337. package/packages/input/src/input-quick/components/quick-item.vue +0 -284
  338. package/packages/input/src/input-quick/components/quick-popover.vue +0 -596
  339. package/packages/input/src/input-quick/index.vue +0 -137
  340. package/packages/input-number/index.js +0 -12
  341. package/packages/input-number/src/InputNumber.jsx +0 -11
  342. package/packages/keep-cache/KeepCache.js +0 -236
  343. package/packages/keep-cache/index.css +0 -3
  344. package/packages/keep-cache/index.js +0 -8
  345. package/packages/layout/index.js +0 -27
  346. package/packages/layout/src/Content.jsx +0 -11
  347. package/packages/layout/src/Footer.jsx +0 -11
  348. package/packages/layout/src/Header.jsx +0 -11
  349. package/packages/layout/src/Layout.jsx +0 -11
  350. package/packages/layout/src/Sider.jsx +0 -11
  351. package/packages/list/index.js +0 -21
  352. package/packages/list/src/Item.jsx +0 -11
  353. package/packages/list/src/ItemMeta.jsx +0 -11
  354. package/packages/list/src/List.jsx +0 -11
  355. package/packages/locale-provider/index.js +0 -12
  356. package/packages/locale-provider/src/LocaleProvider.jsx +0 -11
  357. package/packages/map/index.js +0 -10
  358. package/packages/map/src/Map.vue +0 -484
  359. package/packages/map/src/popup-map.vue +0 -53
  360. package/packages/mentions/index.js +0 -18
  361. package/packages/mentions/src/Mentions.jsx +0 -11
  362. package/packages/mentions/src/Option.jsx +0 -11
  363. package/packages/menu/index.js +0 -27
  364. package/packages/menu/src/Divider.jsx +0 -11
  365. package/packages/menu/src/Item.jsx +0 -11
  366. package/packages/menu/src/ItemGroup.jsx +0 -11
  367. package/packages/menu/src/Menu.jsx +0 -11
  368. package/packages/menu/src/SubMenu.jsx +0 -11
  369. package/packages/message/index.js +0 -8
  370. package/packages/modal/index.js +0 -10
  371. package/packages/modal/src/Modal.js +0 -7
  372. package/packages/multi-chat/chat/addConference.vue +0 -200
  373. package/packages/multi-chat/chat/addMembers.vue +0 -411
  374. package/packages/multi-chat/chat/advancedFilter.vue +0 -372
  375. package/packages/multi-chat/chat/audio.vue +0 -599
  376. package/packages/multi-chat/chat/calling.vue +0 -246
  377. package/packages/multi-chat/chat/chatFooter.vue +0 -1647
  378. package/packages/multi-chat/chat/chatHeader.vue +0 -493
  379. package/packages/multi-chat/chat/chatHistory.vue +0 -605
  380. package/packages/multi-chat/chat/chatMain.vue +0 -1490
  381. package/packages/multi-chat/chat/client/clientChat.vue +0 -731
  382. package/packages/multi-chat/chat/client/index.vue +0 -149
  383. package/packages/multi-chat/chat/delay.vue +0 -177
  384. package/packages/multi-chat/chat/evaluate.vue +0 -343
  385. package/packages/multi-chat/chat/index.vue +0 -2419
  386. package/packages/multi-chat/chat/messageRecord.vue +0 -324
  387. package/packages/multi-chat/chat/mixins/NoData.js +0 -20
  388. package/packages/multi-chat/chat/mixins/base.js +0 -97
  389. package/packages/multi-chat/chat/mixins/uniRTCAPI.js +0 -80
  390. package/packages/multi-chat/chat/mixins/viewerOptions.js +0 -67
  391. package/packages/multi-chat/chat/multiVideo.vue +0 -1426
  392. package/packages/multi-chat/chat/quickReply.vue +0 -439
  393. package/packages/multi-chat/chat/robot/index.vue +0 -312
  394. package/packages/multi-chat/chat/scrollList.vue +0 -1259
  395. package/packages/multi-chat/chat/video.vue +0 -404
  396. package/packages/multi-chat/chat/videoVoiceList.vue +0 -348
  397. package/packages/multi-chat/chat/voice.vue +0 -431
  398. package/packages/multi-chat/components/avatar.vue +0 -113
  399. package/packages/multi-chat/components/chat-tabs-header.vue +0 -251
  400. package/packages/multi-chat/components/classify-tabs.vue +0 -185
  401. package/packages/multi-chat/components/empty.vue +0 -24
  402. package/packages/multi-chat/components/modal-refuse-reason.vue +0 -112
  403. package/packages/multi-chat/components/modal-sip.vue +0 -160
  404. package/packages/multi-chat/components/modal-user-transfer.vue +0 -98
  405. package/packages/multi-chat/components/msg-describe.vue +0 -138
  406. package/packages/multi-chat/components/msg-picture.vue +0 -68
  407. package/packages/multi-chat/components/msg-prescription.vue +0 -205
  408. package/packages/multi-chat/components/read-record.vue +0 -133
  409. package/packages/multi-chat/components/read-status.vue +0 -34
  410. package/packages/multi-chat/components/user-status.vue +0 -198
  411. package/packages/multi-chat/components/vuecmf-dialog.vue +0 -323
  412. package/packages/multi-chat/img/OFF-LINE.png +0 -0
  413. package/packages/multi-chat/img/ON-LINE.png +0 -0
  414. package/packages/multi-chat/img/accept.png +0 -0
  415. package/packages/multi-chat/img/add-person.png +0 -0
  416. package/packages/multi-chat/img/add_prescription.png +0 -0
  417. package/packages/multi-chat/img/all-voice.png +0 -0
  418. package/packages/multi-chat/img/audio-new.png +0 -0
  419. package/packages/multi-chat/img/audio-play.gif +0 -0
  420. package/packages/multi-chat/img/audio.png +0 -0
  421. package/packages/multi-chat/img/base-info-active.png +0 -0
  422. package/packages/multi-chat/img/base-info.png +0 -0
  423. package/packages/multi-chat/img/busy_line.png +0 -0
  424. package/packages/multi-chat/img/call.png +0 -0
  425. package/packages/multi-chat/img/callin.png +0 -0
  426. package/packages/multi-chat/img/callin_cancel.png +0 -0
  427. package/packages/multi-chat/img/calling.png +0 -0
  428. package/packages/multi-chat/img/callout.png +0 -0
  429. package/packages/multi-chat/img/callout_cancel.png +0 -0
  430. package/packages/multi-chat/img/close.png +0 -0
  431. package/packages/multi-chat/img/close_video.png +0 -0
  432. package/packages/multi-chat/img/customer-service-active.png +0 -0
  433. package/packages/multi-chat/img/customer-service.png +0 -0
  434. package/packages/multi-chat/img/customer.png +0 -0
  435. package/packages/multi-chat/img/customer_staff.png +0 -0
  436. package/packages/multi-chat/img/default.png +0 -0
  437. package/packages/multi-chat/img/ellipsis.png +0 -0
  438. package/packages/multi-chat/img/end-voice.png +0 -0
  439. package/packages/multi-chat/img/event-active.png +0 -0
  440. package/packages/multi-chat/img/event.png +0 -0
  441. package/packages/multi-chat/img/exp.png +0 -0
  442. package/packages/multi-chat/img/full-sceen-close.png +0 -0
  443. package/packages/multi-chat/img/full-sceen.png +0 -0
  444. package/packages/multi-chat/img/icon_list.png +0 -0
  445. package/packages/multi-chat/img/icon_list_active.png +0 -0
  446. package/packages/multi-chat/img/icon_table.png +0 -0
  447. package/packages/multi-chat/img/icon_table_active.png +0 -0
  448. package/packages/multi-chat/img/join-video.png +0 -0
  449. package/packages/multi-chat/img/large.png +0 -0
  450. package/packages/multi-chat/img/left-wrapper.png +0 -0
  451. package/packages/multi-chat/img/left.png +0 -0
  452. package/packages/multi-chat/img/medical_record.png +0 -0
  453. package/packages/multi-chat/img/middle.png +0 -0
  454. package/packages/multi-chat/img/msgTip.mp3 +0 -0
  455. package/packages/multi-chat/img/multi-video.png +0 -0
  456. package/packages/multi-chat/img/multi-voice.png +0 -0
  457. package/packages/multi-chat/img/mute-audio.png +0 -0
  458. package/packages/multi-chat/img/muted-audio.png +0 -0
  459. package/packages/multi-chat/img/muted-screen.png +0 -0
  460. package/packages/multi-chat/img/muted-video.png +0 -0
  461. package/packages/multi-chat/img/no-all-voice.png +0 -0
  462. package/packages/multi-chat/img/no-data.png +0 -0
  463. package/packages/multi-chat/img/no-data2.png +0 -0
  464. package/packages/multi-chat/img/no-screen.png +0 -0
  465. package/packages/multi-chat/img/no-video.png +0 -0
  466. package/packages/multi-chat/img/no-voice.png +0 -0
  467. package/packages/multi-chat/img/no-voiced.png +0 -0
  468. package/packages/multi-chat/img/normal-screen.png +0 -0
  469. package/packages/multi-chat/img/normal-video.png +0 -0
  470. package/packages/multi-chat/img/over.png +0 -0
  471. package/packages/multi-chat/img/portrait.png +0 -0
  472. package/packages/multi-chat/img/prescription.png +0 -0
  473. package/packages/multi-chat/img/receive.png +0 -0
  474. package/packages/multi-chat/img/reject.png +0 -0
  475. package/packages/multi-chat/img/remove.png +0 -0
  476. package/packages/multi-chat/img/replay.png +0 -0
  477. package/packages/multi-chat/img/required.png +0 -0
  478. package/packages/multi-chat/img/screen.png +0 -0
  479. package/packages/multi-chat/img/send_prescription.png +0 -0
  480. package/packages/multi-chat/img/setting.png +0 -0
  481. package/packages/multi-chat/img/small.png +0 -0
  482. package/packages/multi-chat/img/sound.png +0 -0
  483. package/packages/multi-chat/img/sound_forbid.png +0 -0
  484. package/packages/multi-chat/img/start_video.png +0 -0
  485. package/packages/multi-chat/img/system_message.png +0 -0
  486. package/packages/multi-chat/img/to-session.png +0 -0
  487. package/packages/multi-chat/img/transfer.png +0 -0
  488. package/packages/multi-chat/img/transfer2.png +0 -0
  489. package/packages/multi-chat/img/video-accept.png +0 -0
  490. package/packages/multi-chat/img/video.png +0 -0
  491. package/packages/multi-chat/img/video_consult.png +0 -0
  492. package/packages/multi-chat/img/voice.png +0 -0
  493. package/packages/multi-chat/img/worktime-active.png +0 -0
  494. package/packages/multi-chat/img/worktime.png +0 -0
  495. package/packages/multi-chat/index.js +0 -7
  496. package/packages/multi-chat/setting/authority/index.vue +0 -156
  497. package/packages/multi-chat/setting/authority/roleSetting.vue +0 -204
  498. package/packages/multi-chat/setting/baseInfo/index.vue +0 -1343
  499. package/packages/multi-chat/setting/configuration/index.vue +0 -334
  500. package/packages/multi-chat/setting/customerService/batchSelect.vue +0 -403
  501. package/packages/multi-chat/setting/customerService/index.vue +0 -273
  502. package/packages/multi-chat/setting/event/edit/condition.vue +0 -128
  503. package/packages/multi-chat/setting/event/edit/index.vue +0 -437
  504. package/packages/multi-chat/setting/event/edit/notice.vue +0 -129
  505. package/packages/multi-chat/setting/event/edit/strategy.vue +0 -98
  506. package/packages/multi-chat/setting/event/index.vue +0 -249
  507. package/packages/multi-chat/setting/index.vue +0 -281
  508. package/packages/multi-chat/setting/page.vue +0 -14
  509. package/packages/multi-chat/setting/sessionList/index.vue +0 -412
  510. package/packages/multi-chat/setting/sessionList/messageRecord.vue +0 -372
  511. package/packages/multi-chat/setting/userConfig/index.vue +0 -124
  512. package/packages/multi-chat/setting/worktime/index.vue +0 -274
  513. package/packages/multi-chat/store/actions.js +0 -452
  514. package/packages/multi-chat/store/getters.js +0 -380
  515. package/packages/multi-chat/store/helper.js +0 -66
  516. package/packages/multi-chat/store/index.js +0 -50
  517. package/packages/multi-chat/store/mutation.js +0 -305
  518. package/packages/multi-chat/store/state.js +0 -120
  519. package/packages/multi-chat/style/emoji.css +0 -315
  520. package/packages/multi-chat/style/message.mixin.less +0 -38
  521. package/packages/multi-chat/utils/chatSock.js +0 -93
  522. package/packages/multi-chat/utils/compressImage.js +0 -115
  523. package/packages/multi-chat/utils/emoji.json +0 -68
  524. package/packages/multi-chat/utils/index.js +0 -259
  525. package/packages/multi-chat/utils/observer-scroll.js +0 -49
  526. package/packages/multi-chat/utils/panelsetting.js +0 -48
  527. package/packages/multi-chat/utils/rtc-client-multi.js +0 -397
  528. package/packages/multi-chat/utils/rtc-client.js +0 -469
  529. package/packages/multi-chat-client/index.js +0 -7
  530. package/packages/multi-chat-history/index.js +0 -7
  531. package/packages/multi-chat-record/index.js +0 -7
  532. package/packages/multi-chat-setting/index.js +0 -7
  533. package/packages/multi-chat-sip/index.js +0 -6
  534. package/packages/notification/index.js +0 -8
  535. package/packages/page-header/index.js +0 -12
  536. package/packages/page-header/src/PageHeader.jsx +0 -11
  537. package/packages/pagination/index.js +0 -12
  538. package/packages/pagination/src/Pagination.jsx +0 -11
  539. package/packages/popconfirm/index.js +0 -12
  540. package/packages/popconfirm/src/Popconfirm.jsx +0 -11
  541. package/packages/popover/index.js +0 -12
  542. package/packages/popover/src/Popover.jsx +0 -11
  543. package/packages/progress/index.js +0 -12
  544. package/packages/progress/src/Progress.jsx +0 -11
  545. package/packages/radio/index.js +0 -33
  546. package/packages/radio/src/Group.jsx +0 -11
  547. package/packages/radio/src/Radio.jsx +0 -11
  548. package/packages/radio/src/RadioButton.jsx +0 -11
  549. package/packages/radio/src/RadioImg/index.vue +0 -125
  550. package/packages/rate/index.js +0 -12
  551. package/packages/rate/src/Rate.jsx +0 -11
  552. package/packages/result/index.js +0 -12
  553. package/packages/result/src/Result.jsx +0 -11
  554. package/packages/row/index.js +0 -12
  555. package/packages/row/src/Row.jsx +0 -11
  556. package/packages/scale-container/index.js +0 -9
  557. package/packages/scale-container/src/ScaleContainer.vue +0 -202
  558. package/packages/scale-container/src/scale.png +0 -0
  559. package/packages/scale-view/NoData.vue +0 -81
  560. package/packages/scale-view/answerParse.vue +0 -133
  561. package/packages/scale-view/assets/img/failure.png +0 -0
  562. package/packages/scale-view/assets/img/no-permission.png +0 -0
  563. package/packages/scale-view/assets/img/nodata.png +0 -0
  564. package/packages/scale-view/assets/img/notfound.png +0 -0
  565. package/packages/scale-view/customList.vue +0 -801
  566. package/packages/scale-view/data.js +0 -80
  567. package/packages/scale-view/directive/drag-move.js +0 -132
  568. package/packages/scale-view/evaluateCountdown.vue +0 -157
  569. package/packages/scale-view/evaluatePage.vue +0 -203
  570. package/packages/scale-view/formitem/data.js +0 -3991
  571. package/packages/scale-view/formitem/index.js +0 -7
  572. package/packages/scale-view/formitem/r-address.vue +0 -245
  573. package/packages/scale-view/formitem/r-choice.vue +0 -755
  574. package/packages/scale-view/formitem/r-input.vue +0 -93
  575. package/packages/scale-view/formitem/r-prompt.vue +0 -52
  576. package/packages/scale-view/formitem/r-sign.vue +0 -218
  577. package/packages/scale-view/formitem/r-time.vue +0 -285
  578. package/packages/scale-view/formitem/r-upload-custom-list.vue +0 -242
  579. package/packages/scale-view/formitem/r-upload.vue +0 -321
  580. package/packages/scale-view/formitem/sign-com.vue +0 -316
  581. package/packages/scale-view/formitem/text-over-tooltip/TextOverTooltip.vue +0 -98
  582. package/packages/scale-view/index.js +0 -17
  583. package/packages/scale-view/mixin/NoData.js +0 -38
  584. package/packages/scale-view/mixin/addressVal.js +0 -156
  585. package/packages/scale-view/mixin/evaluate.js +0 -146
  586. package/packages/scale-view/mixin/index.js +0 -337
  587. package/packages/scale-view/mixin/judgeTypes.js +0 -267
  588. package/packages/scale-view/scaleView.vue +0 -2086
  589. package/packages/select/index.js +0 -30
  590. package/packages/select/src/CustomSelect/index.vue +0 -130
  591. package/packages/select/src/OptGroup.jsx +0 -11
  592. package/packages/select/src/Option.jsx +0 -11
  593. package/packages/select/src/PagerSelect/index.vue +0 -92
  594. package/packages/select/src/Select/Select.vue +0 -231
  595. package/packages/select/src/Select/index.js +0 -12
  596. package/packages/select/src/TableSelect/index.vue +0 -514
  597. package/packages/select-label/index.js +0 -14
  598. package/packages/select-label/label-classify.vue +0 -129
  599. package/packages/select-label/labelFormContent.vue +0 -787
  600. package/packages/select-label/select-label.vue +0 -597
  601. package/packages/select-person/index.js +0 -10
  602. package/packages/select-person/search-tree.vue +0 -373
  603. package/packages/select-person/select-person.vue +0 -1736
  604. package/packages/select-tag/index.js +0 -14
  605. package/packages/select-tag/label-classify.vue +0 -133
  606. package/packages/select-tag/labelFormContent.vue +0 -295
  607. package/packages/select-tag/select-label.vue +0 -274
  608. package/packages/shortcut-provider/index.js +0 -10
  609. package/packages/shortcut-provider/src/ShortcutProvider.vue +0 -33
  610. package/packages/shortcut-provider/src/constants/index.js +0 -4
  611. package/packages/shortcut-provider/src/hooks/index.js +0 -1
  612. package/packages/shortcut-provider/src/hooks/useShortcuts.js +0 -129
  613. package/packages/shortcut-provider/src/utils/index.js +0 -107
  614. package/packages/shortcut-setter/index.js +0 -12
  615. package/packages/shortcut-setter/src/ShortcutSetter.vue +0 -55
  616. package/packages/shortcut-setter/src/ShortcutSetterItem.vue +0 -97
  617. package/packages/shortcut-setter/src/utils/index.js +0 -63
  618. package/packages/skeleton/index.js +0 -12
  619. package/packages/skeleton/src/Skeleton.jsx +0 -11
  620. package/packages/slider/index.js +0 -12
  621. package/packages/slider/src/Slider.jsx +0 -11
  622. package/packages/slider-tree/hooks/useAsyncData.js +0 -53
  623. package/packages/slider-tree/index.js +0 -7
  624. package/packages/slider-tree/index.vue +0 -391
  625. package/packages/slider-tree/utils/index.js +0 -10
  626. package/packages/space/index.js +0 -12
  627. package/packages/space/src/Space.jsx +0 -11
  628. package/packages/spin/index.js +0 -12
  629. package/packages/spin/src/Spin.jsx +0 -11
  630. package/packages/statistic/index.js +0 -18
  631. package/packages/statistic/src/Countdown.jsx +0 -11
  632. package/packages/statistic/src/Statistic.jsx +0 -11
  633. package/packages/steps/index.js +0 -18
  634. package/packages/steps/src/Step.jsx +0 -11
  635. package/packages/steps/src/Steps.jsx +0 -11
  636. package/packages/switch/index.js +0 -12
  637. package/packages/switch/src/Switch.jsx +0 -11
  638. package/packages/table-filter/index.js +0 -27
  639. package/packages/table-filter/src/base-search-com/BaseSearch.vue +0 -2690
  640. package/packages/table-filter/src/classification/Classification-com.vue +0 -1765
  641. package/packages/table-filter/src/classification/search-class-name.vue +0 -266
  642. package/packages/table-filter/src/classification/search-professional-model.vue +0 -680
  643. package/packages/table-filter/src/components/TextOverTooltip.vue +0 -120
  644. package/packages/table-filter/src/components/age-com/index.vue +0 -205
  645. package/packages/table-filter/src/components/button-group/ButtonGroup.vue +0 -162
  646. package/packages/table-filter/src/components/button-icon/button-icon.js +0 -33
  647. package/packages/table-filter/src/components/button-icon/getBtnIcon.js +0 -34
  648. package/packages/table-filter/src/components/c-tree-select/tree-select.vue +0 -336
  649. package/packages/table-filter/src/components/checkbox-group/CheckboxGroup.vue +0 -53
  650. package/packages/table-filter/src/components/drop-button/drop-button.vue +0 -224
  651. package/packages/table-filter/src/components/drop-button/head-btn-icon.js +0 -33
  652. package/packages/table-filter/src/components/drop-view/drop-view.vue +0 -89
  653. package/packages/table-filter/src/components/multi-select/multi-select.vue +0 -242
  654. package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +0 -232
  655. package/packages/table-filter/src/components/range-age/index.vue +0 -171
  656. package/packages/table-filter/src/components/render-widget/components/CheckboxGroup.vue +0 -68
  657. package/packages/table-filter/src/components/render-widget/components/DateRangeQuick.vue +0 -216
  658. package/packages/table-filter/src/components/render-widget/components/Label.vue +0 -209
  659. package/packages/table-filter/src/components/render-widget/components/NumberRange.vue +0 -157
  660. package/packages/table-filter/src/components/render-widget/components/Select.vue +0 -62
  661. package/packages/table-filter/src/components/render-widget/components/SelectDynamic.vue +0 -287
  662. package/packages/table-filter/src/components/render-widget/components/SelectLabel.vue +0 -80
  663. package/packages/table-filter/src/components/render-widget/components/SelectTree.vue +0 -145
  664. package/packages/table-filter/src/components/render-widget/components/Text.vue +0 -58
  665. package/packages/table-filter/src/components/render-widget/components/index.js +0 -11
  666. package/packages/table-filter/src/components/render-widget/enums.js +0 -60
  667. package/packages/table-filter/src/components/render-widget/helpers/presetValToTimestamp.js +0 -282
  668. package/packages/table-filter/src/components/render-widget/index.vue +0 -150
  669. package/packages/table-filter/src/components/render-widget/mixins/dynamic-method.js +0 -185
  670. package/packages/table-filter/src/components/render-widget/mixins/label-method.js +0 -23
  671. package/packages/table-filter/src/components/render-widget/widgetCfgMaps.js +0 -354
  672. package/packages/table-filter/src/components/search-condition/SearchCondition.vue +0 -2016
  673. package/packages/table-filter/src/components/search-condition/fieldTypeList.js +0 -169
  674. package/packages/table-filter/src/components/search-filter/SearchFilter.vue +0 -280
  675. package/packages/table-filter/src/components/search-modal/set-classification.vue +0 -340
  676. package/packages/table-filter/src/components/table-modal/TableModal.vue +0 -477
  677. package/packages/table-filter/src/const/dataOptions.js +0 -43
  678. package/packages/table-filter/src/const/index.js +0 -1
  679. package/packages/table-filter/src/index.vue +0 -584
  680. package/packages/table-filter/src/mixins/mixins.js +0 -870
  681. package/packages/table-filter/src/mixins/out-quick-method.js +0 -123
  682. package/packages/table-filter/src/mixins/printNew.js +0 -190
  683. package/packages/table-filter/src/mixins/renderWidget.js +0 -122
  684. package/packages/table-filter/src/mixins/tableSearchCon.js +0 -128
  685. package/packages/table-filter/src/mixins/wordBookutils.js +0 -130
  686. package/packages/table-filter/src/quick-search/QuickSearch.vue +0 -2272
  687. package/packages/tabs/index.js +0 -18
  688. package/packages/tabs/src/TabPane.jsx +0 -11
  689. package/packages/tabs/src/Tabs.jsx +0 -11
  690. package/packages/tag/index.js +0 -21
  691. package/packages/tag/src/CheckableTag.jsx +0 -11
  692. package/packages/tag/src/Tag.jsx +0 -11
  693. package/packages/tag/src/TagGroup.vue +0 -622
  694. package/packages/time-picker/index.js +0 -12
  695. package/packages/time-picker/src/TimePicker.jsx +0 -11
  696. package/packages/timeline/index.js +0 -14
  697. package/packages/timeline/src/Item.jsx +0 -11
  698. package/packages/timeline/src/Timeline.jsx +0 -11
  699. package/packages/tooltip/index.js +0 -12
  700. package/packages/tooltip/src/Tooltip.jsx +0 -11
  701. package/packages/transfer/index.js +0 -12
  702. package/packages/transfer/src/Transfer.jsx +0 -11
  703. package/packages/tree/index.js +0 -18
  704. package/packages/tree/src/Tree.jsx +0 -11
  705. package/packages/tree/src/TreeNode.jsx +0 -11
  706. package/packages/tree-select/index.js +0 -18
  707. package/packages/tree-select/src/TreeNode.jsx +0 -11
  708. package/packages/tree-select/src/TreeSelect.jsx +0 -11
  709. package/packages/upload/chunk-upload/chunk-upload-new.vue +0 -1006
  710. package/packages/upload/chunk-upload/vod-chunk-upload.vue +0 -757
  711. package/packages/upload/chunk-upload/vod-upload-modal.vue +0 -100
  712. package/packages/upload/index.js +0 -12
  713. package/packages/upload/src/Upload.jsx +0 -11
  714. package/packages/verification-code/SlideVerify.vue +0 -306
  715. package/packages/verification-code/index.js +0 -17
  716. package/packages/verification-code/verification-code.vue +0 -147
  717. package/src/assets/img/nodata.png +0 -0
  718. package/src/assets/img/success.png +0 -0
  719. package/src/assets/img/video.png +0 -0
  720. package/src/assets/img/video_default_cover.png +0 -0
  721. package/src/assets/img/video_hover.png +0 -0
  722. package/src/assets/img/video_play_hover.png +0 -0
  723. package/src/component/player-vod/index.vue +0 -57
  724. package/src/component/player-vod/player.vue +0 -192
  725. package/src/component/player-vod/video-list.vue +0 -262
  726. package/src/component/player-vod/video-modal.vue +0 -128
  727. package/src/component/select-options/index.vue +0 -430
  728. package/src/component/select-pages/index.vue +0 -95
  729. package/src/component/svg/index.vue +0 -59
  730. package/src/core/create.js +0 -6
  731. package/src/core/event.js +0 -23
  732. package/src/core/table-methods.js +0 -447
  733. package/src/directive/flexibleResize.js +0 -162
  734. package/src/directive/preventReClick.js +0 -12
  735. package/src/directive/scroll.js +0 -230
  736. package/src/global/variable.js +0 -2
  737. package/src/style/normalize.css +0 -424
  738. package/src/style/style.less +0 -49
  739. package/src/utils/UniRTCv2.js +0 -627
  740. package/src/utils/chatFetch.js +0 -61
  741. package/src/utils/clickoutside.js +0 -75
  742. package/src/utils/crypto.js +0 -25
  743. package/src/utils/index.js +0 -103
  744. package/src/utils/kty-sdk.js +0 -582
  745. package/src/utils/kty.min-1.0.0.js +0 -14378
  746. package/src/utils/sip-device.js +0 -79
  747. package/src/utils/time-domain.js +0 -270
  748. package/src/utils/trtc.js +0 -1
  749. package/src/utils/utils-map.js +0 -485
  750. package/src/utils/vexutils.js +0 -836
@@ -1,2086 +0,0 @@
1
- <template>
2
- <div class="r-scale r-scale-v2">
3
- <slot v-if="spinning">
4
- <a-spin :indicator="indicator" tip="加载中..." />
5
- </slot>
6
- <slot v-if="!spinning && !hasFrontAddress">
7
- <!-- <div v-if="noData">暂无数据</div> -->
8
- <NoData v-if="noData" :noDataImg="noDataImg" :noDataTip="noDataTip"></NoData>
9
- <template v-else>
10
- <evaluatePage
11
- v-if="showEvaluateEntry"
12
- :formArray="formArray"
13
- :evaluateResultConfig="config.evaluateResultConfig"
14
- :evaluateResultSetting="config.evaluateResultSetting"
15
- :isFinished="isFinished"
16
- :maxScore="maxScore"
17
- @writeGuage="writeGuage"
18
- ></evaluatePage>
19
- <template v-else>
20
- <evaluateCountdown
21
- v-if="showEvaluateCoundownPage"
22
- ref="evaluateCountdown"
23
- :formArray="formArray"
24
- :evaluateResultConfig="config.evaluateResultConfig"
25
- :evaluateResultSetting="config.evaluateResultSetting"
26
- :form="form"
27
- :isFinished="isFinished"
28
- :currentTime="currentTime"
29
- :showEvaluateCountdown="showEvaluateCountdown"
30
- @closeEvaluateCountdown="closeEvaluateCountdown"
31
- ></evaluateCountdown>
32
- <div
33
- class="scale-container"
34
- :class="{ 'scale-container-nopadding': handlePageClass }"
35
- :style="scaleStyle"
36
- >
37
- <div class="totalScore-warp" v-if="hasScore">
38
- <div>
39
- 测评总分:
40
- <span>{{ maxScore }}分</span>
41
- </div>
42
- <div>
43
- 测评分数:
44
- <span :style="{ color: getEvaResColor }">{{ config.totalScore }}分</span>
45
- </div>
46
- <template v-if="hasEvaluateSetting">
47
- <div>
48
- 测评结果:
49
- <span
50
- class="score-result"
51
- :style="{ color: getEvaResColor }"
52
- >{{ config.evaluateResult }}</span>
53
- </div>
54
- <div>
55
- 结果说明:
56
- <span>{{ config.evaluateResultExplain }}</span>
57
- </div>
58
- </template>
59
- </div>
60
- <a-form-model
61
- ref="ruleForm"
62
- :model="form"
63
- :rules="rules"
64
- :layout="form.layout"
65
- :colon="false"
66
- class="main"
67
- >
68
- <template v-for="(item, index) in formArray">
69
- <!-- 标题 -->
70
- <template v-if="item.type == 'TITLE'">
71
- <a-form-model-item
72
- v-if="isShowItem(item)"
73
- :colon="false"
74
- :key="item.id || item.seq"
75
- >
76
- <h1 class="lb-title">{{ item.title }}</h1>
77
- <div class="lb-title">{{ item.describe }}</div>
78
- </a-form-model-item>
79
- </template>
80
- <!-- 分线栏 -->
81
- <template v-else-if="item.type == 'LINEBAR'">
82
- <a-form-model-item
83
- v-if="isShowItem(item)"
84
- :colon="false"
85
- :key="item.id || item.seq"
86
- >
87
- <div class="linebar-div" v-if="item.title">
88
- <span>{{ item.title }}</span>
89
- <a-divider />
90
- </div>
91
- <template v-else>
92
- <a-divider />
93
- </template>
94
- </a-form-model-item>
95
- </template>
96
- <!-- 提示语 -->
97
- <template v-else-if="item.type == 'PROMPT'">
98
- <a-form-model-item
99
- v-if="isShowItem(item)"
100
- class="my-prompt"
101
- :colon="false"
102
- :key="item.id || item.seq"
103
- >
104
- <MyPrompt :key="item.id || item.seq" :options="item.setting" />
105
- </a-form-model-item>
106
- </template>
107
- <template v-else-if="item.type == 'IMGCARD'">
108
- <a-form-model-item
109
- v-if="isShowItem(item)"
110
- :colon="false"
111
- :key="item.id || item.seq"
112
- >
113
- <a v-if="item.setting.imgLink" :href="item.setting.imgLink" target="_blank">
114
- <img class="img-card" :src="item.setting.imgUrl" />
115
- </a>
116
- <img class="img-card" v-else :src="item.setting.imgUrl" />
117
- </a-form-model-item>
118
- </template>
119
- <!-- 富文本 -->
120
- <template v-else-if="item.type == 'RICH_TEXT'">
121
- <div
122
- :key="item.id || item.seq"
123
- class="rich-text-content"
124
- v-html="item.setting.defaultValue"
125
- ></div>
126
- </template>
127
- <template v-else>
128
- <a-form-model-item
129
- v-if="isShowItem(item)"
130
- :key="item.id || item.seq"
131
- :prop="formKey(item)"
132
- >
133
- <span slot="label">
134
- <span
135
- :class="{ 'scale-label-required': isFormBoldOpen(item) }"
136
- v-html="handleShowQuestionNumber(item)"
137
- ></span>
138
- <span class="required-text" v-if="isFormBoldOpen(item)">(必填)</span>
139
- <span
140
- class="evalute-label"
141
- v-if="showEvaluateLabel(item)"
142
- >{{ showEvaluateLabel(item) }}</span>
143
- <template v-if="showEvatip(item)">
144
- <span class="evalute-tip" @click="showEvaTipModal(item)">
145
- <svg-icon icon-class="a-xitongtubiaotishi" />查看提示
146
- </span>
147
- </template>
148
- </span>
149
- <!-- 输入框 -->
150
- <MyInput
151
- v-bind="$attrs"
152
- v-if="isInput(item.type)"
153
- v-model="form[formKey(item)]"
154
- :eleType="item.type"
155
- :type="item.valueType"
156
- :row="item.setting.inputRow || 1"
157
- :defaultPlaceHolder="item.setting.defaultPlaceHolder"
158
- :isLock="componentDisable"
159
- />
160
-
161
- <!-- 单选/下拉/多选/级联 -->
162
- <MyChoice
163
- v-bind="$attrs"
164
- v-else-if="isChoice(item.type)"
165
- v-model="form[formKey(item)]"
166
- :item="item"
167
- :isLock="componentDisable"
168
- :curIndex="index"
169
- :openType="openType"
170
- @change="handleChoice($event, item)"
171
- @radioChange="radioChange"
172
- @checkboxChange="checkboxChange"
173
- />
174
- <!-- 日期/时间 -->
175
- <MyTime
176
- v-bind="$attrs"
177
- v-else-if="isTime(item.type)"
178
- :value="getTimeValue(item)"
179
- :type="item.type"
180
- :startToStop="item.setting.startToStop"
181
- :dateType="item.setting.dateType"
182
- :isLock="componentDisable"
183
- @change="changeTime($event, item)"
184
- />
185
- <!-- 上传附件 or 图片 -->
186
- <MyUpload
187
- v-bind="$attrs"
188
- v-else-if="isUpload(item.type)"
189
- :upType="item.type"
190
- :useFileList="item.dbValue"
191
- :limitPic="item.setting.limitPic"
192
- :isLock="componentDisable"
193
- :item="item"
194
- @change="changeUpload($event, item)"
195
- />
196
- <!-- 地图 -->
197
- <div
198
- v-else-if="item.type === 'LOCATION'"
199
- @click="!isLock && (mapVisible = !mapVisible)"
200
- :class="{ 'map-container': !isLock }"
201
- >
202
- <a-input
203
- placeholder="请选择"
204
- :value="handleGetAddress(form[formKey(item)])"
205
- disabled
206
- >
207
- <a-icon slot="prefix" type="info-circle" />
208
- </a-input>
209
- <MapComp
210
- v-bind="$attrs"
211
- :visible.sync="mapVisible"
212
- :locationProp="form[formKey(item)]"
213
- :isLock="componentDisable"
214
- @selectLocation="handleSelectLocation($event, item)"
215
- />
216
- </div>
217
- <!-- 地址 -->
218
- <MyAddress
219
- v-bind="$attrs"
220
- v-else-if="item.type === 'ADDRESS'"
221
- :setting="item.setting"
222
- :defaultValue="form[formKey(item)]"
223
- :isLock="componentDisable"
224
- @change="changeAddress($event, item)"
225
- />
226
- <!-- 标签 -->
227
- <label-form
228
- v-bind="$attrs"
229
- v-else-if="item.type === 'LABEL'"
230
- :item="item"
231
- :selectedList="labelSelectedList"
232
- :isLock="componentDisable"
233
- :sourceType="source"
234
- @onChange="labelChange($event, item)"
235
- />
236
- <!-- 视频 -->
237
- <vod-Chunk-upload
238
- v-bind="$attrs"
239
- v-else-if="item.type === 'VEDIO'"
240
- :source="'guage'"
241
- :formData="item"
242
- :limitNum="item.setting.limitPic"
243
- :defFileList="form[formKey(item)]"
244
- :isLock="componentDisable"
245
- @vodFileList="vodFileList($event, item)"
246
- />
247
- <!-- 签名 -->
248
- <MySign v-else-if="item.type =='SIGN'" :form="form" :item="item" :isLock="componentDisable" @scaleChange="signChange"></MySign>
249
- <!-- 答案解析 -->
250
- <answerParse v-if="showAnswerParse(item)" :item="item"></answerParse>
251
-
252
- </a-form-model-item>
253
- </template>
254
- </template>
255
- </a-form-model>
256
- </div>
257
- <template v-if="type === 'customList'">
258
- <div class="footer" v-if="!noBtn">
259
- <a-button @click="cancel" v-if="false" style="margin-right: 8px;">取消</a-button>
260
- <a-button @click="onSubmit" type="primary" :disabled="banSubmit">保存</a-button>
261
- </div>
262
- </template>
263
- <template v-else>
264
- <div class="footer" v-if="showSaveBtn">
265
- <a-button @click="cancel" style="margin-right: 8px;">取消</a-button>
266
- <a-button type="primary" v-if="!isLock" @click="onSubmit" :disabled="banSubmit">保存</a-button>
267
- </div>
268
- </template>
269
- </template>
270
- </template>
271
- </slot>
272
- </div>
273
- </template>
274
- <script>
275
- import { Icon, Checkbox, Tree, Tooltip, Input, Spin, FormModel, Divider, Button } from 'ant-design-vue';
276
- import create from '@/core/create';
277
- import { MyChoice, MyInput, MyAddress, MyUpload, MyTime, MyPrompt, MySign } from './formitem';
278
- import MapComp from '../map/src/popup-map';
279
- import labelForm from '~/select-label/select-label';
280
- import vodChunkUpload from '~/upload/chunk-upload/vod-chunk-upload.vue';
281
- // import { EventBus } from "@/common/utils/eventBus.js";
282
- import { judgeTypes } from './mixin/judgeTypes';
283
- import NoDataJs from './mixin/NoData';
284
- // import { mapGetters } from "vuex";
285
- import moment from 'moment';
286
- import utils from '@/utils/utils-map';
287
- import evaluatePage from './evaluatePage.vue';
288
- import evaluateCountdown from './evaluateCountdown.vue';
289
- import answerParse from './answerParse.vue';
290
- import vexutils from '@/utils/vexutils';
291
- import NoData from './NoData.vue';
292
- import addressVal from './mixin/addressVal'
293
- export default create({
294
- name: 'scale-view',
295
- mixins: [judgeTypes, NoDataJs, addressVal],
296
- props: {
297
- ids: {
298
- type: Object,
299
- default: () => {
300
- return { guage_id: '', db_id: undefined };
301
- }
302
- },
303
- params: { default: () => ({}), type: Object },
304
- guageData: { type: Object, default: () => ({}) },
305
- noBtn: { type: Boolean, default: false },
306
- hideBtn: { type: Boolean, default: false },
307
- source: { type: String, default: '' },
308
- isLock: { type: Boolean, default: false },
309
- type: {
310
- type: String,
311
- default: ''
312
- },
313
- styleSetting: {
314
- type: Object,
315
- default: () => ({})
316
- },
317
-
318
- fontSizeObj: {
319
- type: Object,
320
- default: () => ({
321
- large: 1.25,
322
- medium: 1.1,
323
- small: 1,
324
- extrasmall: 0.9
325
- })
326
- },
327
- openType: { type: String, default: '' },
328
- scaleApiConfig: {
329
- type: Object,
330
- default: () => ({})
331
- }
332
- },
333
- components: {
334
- MyChoice,
335
- MyInput,
336
- MapComp,
337
- MyAddress,
338
- MyUpload,
339
- MyTime,
340
- MyPrompt,
341
- MySign,
342
- labelForm,
343
- vodChunkUpload,
344
- [Icon.name]: Icon,
345
- [Spin.name]: Spin,
346
- [Tree.name]: Tree,
347
- [Input.name]: Input,
348
- [Input.Search.name]: Input.Search,
349
- [Checkbox.name]: Checkbox,
350
- [Divider.name]: Divider,
351
- [Button.name]: Button,
352
- [FormModel.name]: FormModel,
353
- [FormModel.Item.name]: FormModel.Item,
354
- [Tooltip.name]: Tooltip,
355
- evaluatePage,
356
- evaluateCountdown,
357
- answerParse,
358
- NoData
359
- },
360
- computed: {
361
- queryformBoldOpen() {
362
- return this.$route.query?.formBoldOpen == 1;
363
- },
364
- // 分享出来的链接, 接口返回formBoldOpen
365
- guageDataformBoldOpen() {
366
- return this.guageData?.formBoldOpen == 1;
367
- },
368
- showEvatip() {
369
- return function (item) {
370
- if (!this.isEvaluation(item.type)) return false;
371
- return this.$route.query?.evatip == 1 || this.params?.evatip == 1;
372
- };
373
- },
374
- isFormBoldOpen() {
375
- return function (item) {
376
- let res = item.required;
377
- if(!res) return false;
378
- // 量表未登录时 判断 url中是否有 formBoldOpen
379
- if (!this.styleSetting || !Object.keys(this.styleSetting).length || !('formBoldOpen' in this.styleSetting)) {
380
- return this.queryformBoldOpen || this.guageDataformBoldOpen;
381
- }
382
- return this.styleSetting.formBoldOpen;
383
- };
384
- },
385
- scaleStyle() {
386
- let fontSize = this.fontSize;
387
- if (!fontSize || fontSize === 'S') return null;
388
- const keyValue = {
389
- L: 'large',
390
- M: 'medium',
391
- XS: 'extrasmall'
392
- };
393
- fontSize = keyValue[fontSize];
394
- const scale = (fontSize && this.fontSizeObj[fontSize]) || 1;
395
- const size = 10000;
396
- const value = Math.floor((100 / scale) * size) / size;
397
- return {
398
- width: `${value}%`,
399
- height: `${value}%`,
400
- transform: `scale(${scale})`
401
- };
402
- },
403
- handlePageClass() {
404
- if (this.type == 'customList' && !this.noBtn) return false;
405
- if (!this.noBtn && !this.hideBtn) return false;
406
- return true;
407
- },
408
- isShowItem() {
409
- return item => this.showEvent(item);
410
- },
411
- handleShowQuestionNumber() {
412
- return function (item) {
413
- let { type } = item || {};
414
- let tempTile = this.config?.autoQuestionNumber === false ? item.showTitle : `${item.softcode}、${item.showTitle}`;
415
- tempTile = this.html2Escape(tempTile);
416
- if (!this.isEvaluation(type)) return tempTile;
417
-
418
- let score = this.handleEvaluationScore(item);
419
- return `${tempTile}&nbsp;<span style="color:#2d7aff;">${score}</span>`;
420
- // if (this.noBtn) {
421
- // let score = this.handleEvaluationScore(item);
422
- // return `${tempTile}&nbsp;<span style="color:#2d7aff;">${score}</span>`;
423
- // }
424
- // if (!this.isLock) {
425
- // let score = this.handleEvaluationScore(item);
426
- // return `${tempTile}&nbsp;<span style="color:#2d7aff;">${score}</span>`;
427
- // }
428
- // if (item.questionScore !== undefined) {
429
- // return `${tempTile}&nbsp;<span style="color:#2d7aff;">(${item.questionScore}分)</span>`;
430
- // }
431
- // return tempTile;
432
- };
433
- },
434
- hasScore() {
435
- let { config } = this;
436
- if (!config || !Object.keys(config).length) return false;
437
- if ('totalScore' in config) return true;
438
- return false;
439
- },
440
- // 预览按钮打开的量表页面
441
- isPreviewScale() {
442
- let guage_id = this.ids?.guage_id;
443
- return guage_id && this.noBtn;
444
- },
445
- hasEvaluateSetting() {
446
- let { config } = this;
447
- if (!config || !Object.keys(config).length) return false;
448
- if ('evaluateResult' in config && config.evaluateResult) return true;
449
- return false;
450
- },
451
- getTimeValue() {
452
- return function (item) {
453
- let value = this.form[this.formKey(item)];
454
- return value;
455
- };
456
- },
457
- // 是否展示考试入口
458
- showEvaluateEntry() {
459
- // 非预览
460
- // 有evaluateResultSetting || url中含有固定参数
461
- // 倒计时未结束
462
- // 未填写过
463
- return !this.isPreviewScale && this.showEvaluatePage && this.showEvaluateSettingWrap && !this.isFinished && !this.noBtn && !this.hideBtn;
464
- },
465
- // 是否展示倒计时
466
- showEvaluateCoundownPage() {
467
- return !this.isPreviewScale && !this.showEvaluateEntry && this.showEvaluateCountdownWrap && !this.isFinished && !this.noBtn && !this.hideBtn;
468
- },
469
- // 是否设置 evaluateResultSetting
470
- hasEvaluateResultSetting() {
471
- let { evaluateResultSetting = {} } = this.config;
472
- // 读取优先级为测评设置值(变量) > URL参数 > 测评设置值(固定值)
473
- // 是否设置 evaluateResultSetting
474
- let valueArr =
475
- Object.values(evaluateResultSetting).filter(item => {
476
- if (item) return true;
477
- }) || [];
478
- return valueArr.length;
479
- },
480
- hasparamsEvaluate() {
481
- return this.paramsEvaluate && Object.keys(this.paramsEvaluate).length;
482
- },
483
- // url中是否有默认值
484
- hasDefault() {
485
- let hash = window.location.hash;
486
- let defaultVariable = ['evaname', 'evadesc', 'evast', 'evadur', 'evaan'];
487
- let hasDefault = defaultVariable.find(item => hash.includes(item));
488
- return this.paramsEvaluate || hasDefault;
489
- },
490
- // 是否有提交按钮
491
- showSaveBtn() {
492
- // 无测评设置 && url中无固定参数
493
- if (!this.hasEvaluateResultSetting && !this.hasDefault) {
494
- return !this.noBtn && !this.hideBtn;
495
- }
496
- return !this.noBtn && !this.hideBtn && !this.isFinished;
497
- },
498
- // 组件是否 Disable
499
- componentDisable() {
500
- // 无测评设置 && url中无固定参数
501
- if (!this.hasEvaluateResultSetting && !this.hasDefault) {
502
- return this.hideBtn || this.isLock;
503
- }
504
- return this.hideBtn || this.isLock || this.isFinished;
505
- },
506
- showEvaluateLabel() {
507
- return function (item) {
508
- let obj = {
509
- EVALUATE_RADIO_BLOCK: '单选题',
510
- EVALUATE_CHECKBOX_BLOCK: '多选题'
511
- };
512
- return obj[item.type];
513
- };
514
- },
515
- showAnswerParse() {
516
- return function (item) {
517
- let { evaluateAnswer, checkAnswerMode, evaluateStartTime, evaluateTime } = this.config?.evaluateResultSetting || {};
518
- let arr = ['EVALUATE_RADIO_BLOCK', 'EVALUATE_CHECKBOX_BLOCK', 'EVALUATE_SELECT', 'EVALUATE_INPUT'];
519
- let maxScore = item?.scoreConfigs || 0;
520
- let isShow = evaluateAnswer && this.isFinished && arr.includes(item.type) && maxScore;
521
- if (!evaluateStartTime || !evaluateTime || (checkAnswerMode && checkAnswerMode == 1)) return isShow;
522
- if (!vexutils.isValidDate(new Date(evaluateStartTime))) return isShow;
523
- // 答案解析时间 考试时间结束后
524
- let endTime = moment(evaluateStartTime).add(evaluateTime, 'minutes');
525
- let isRang = endTime.diff(moment(), 'seconds', true);
526
- return isShow && isRang <= 0;
527
- };
528
- },
529
- tipMsg() {
530
- return this.type === 'customList' ? '保存' : '提交';
531
- },
532
- formKey() {
533
- return function (item) {
534
- return item.databaseTitle || item.title;
535
- };
536
- },
537
- getEvaResColor() {
538
- let { evaluateResultConfig = [], totalScore } = this.config || {};
539
- totalScore = +totalScore || 0;
540
- if (!evaluateResultConfig?.length || !totalScore) return '#2474FF';
541
- let matchItem = evaluateResultConfig.find(item => item.startScore <= totalScore && totalScore <= item.endScore);
542
- if (!matchItem) return '#2474FF';
543
- return matchItem.color || '#2474FF';
544
- }
545
- },
546
- watch: {
547
- ids: {
548
- immediate: true,
549
- deep: true,
550
- handler(newVal, oldVal) {
551
- if (oldVal) {
552
- if (newVal.guage_id) {
553
- if (newVal.guage_id != oldVal.guage_id) {
554
- this.init(newVal);
555
- }
556
- }
557
- } else {
558
- if (newVal.guage_id) this.init(newVal);
559
- }
560
- }
561
- },
562
- guageData: {
563
- immediate: true,
564
- deep: true,
565
- handler(value) {
566
- if (value) {
567
- if (Object.keys(value || {}).length) {
568
- // guageForm打开 重新请求重置之前的答案
569
- this.form = {};
570
- this.formArray = [];
571
- const data = JSON.parse(JSON.stringify(value));
572
- this.$nextTick(() => {
573
- this.initForm(data);
574
- });
575
- }
576
- }
577
- }
578
- }
579
- },
580
- data() {
581
- return {
582
- other: '',
583
- form: {},
584
- submitForm: {},
585
- rules: {},
586
- config: {},
587
- formArray: [],
588
- mapVisible: false,
589
- mapLocation: '',
590
- labelSelectedList: [],
591
- defaultFormArray: [],
592
- fontSize: '',
593
- filterArr: ['SUCCESS_TIP', 'CALLBACK_INTERFACE', 'SPREAD_PARAMS', 'REDIRECT', 'FRONT_ADDRESS', 'RETURN_PATH'],
594
- spinning: true,
595
- indicator: <a-icon type="loading" style="font-size: 24px" spin />,
596
- totalScore: undefined,
597
- shareId: '',
598
- currentTime: moment(),
599
- showEvaluatePage: false,
600
- showEvaluateSettingWrap: true,
601
- showEvaluateCountdownWrap: false,
602
- showEvaluateCountdown: false,
603
- banSubmit: false,
604
- isFinished: false,
605
- maxScore: 0,
606
- originConfig: {},
607
- paramsEvaluate: null,
608
- hasFrontAddress: true,
609
- choiceComObj: {},
610
- evatipMap: {} // 维护一个tip map避免重复请求
611
- };
612
- },
613
- mounted() {
614
- this.handleQuery();
615
- if (this.noBtn) {
616
- // EventBus.$on("guageSubmit", this.onSubmit);
617
- }
618
- },
619
- beforeDestroy() {
620
- // EventBus.$off("guageSubmit");
621
- },
622
- methods: {
623
- init(configData) {
624
- this.spinning = true;
625
- try {
626
- this.resetNodata();
627
- this.initForm(configData);
628
- } catch (error) {
629
- this.spinning = false;
630
- this.hasFrontAddress = false;
631
- this.setNoData(true, error?.resultMsg, error?.result);
632
- }
633
- },
634
- handleQuery() {
635
- let { id } = this.$route.query;
636
- id && (this.shareId = id);
637
- },
638
- initForm(data) {
639
- this.getProvinceData()
640
- let { list = [], map = {}, isFinished = false } = data;
641
- let curUrl = this.handleFrontAddress(list);
642
- if (curUrl) {
643
- window.location.href = curUrl;
644
- return;
645
- }
646
- map.maxScore && (this.maxScore = map.maxScore);
647
- this.isFinished = isFinished;
648
- if (data.isNotFilled) {
649
- this.spinning = false;
650
- this.hasFrontAddress = false;
651
- this.setNoData(true, '未查询到量表填写记录');
652
- return;
653
- }
654
- if (data.isLackCustomer) {
655
- let _this = this;
656
- // 校验用户环境
657
- this.$info({
658
- title: '已设置填写次数限制',
659
- content: '请在包含用户信息的环境中打开此量表',
660
- onOk() {
661
- _this.$emit('onCloseSetting');
662
- }
663
- });
664
- }
665
- this.config = map;
666
-
667
- if ('evaluateResultConfig' in map && utils.isJSON(map.evaluateResultConfig)) {
668
- this.config.evaluateResultConfig = JSON.parse(map.evaluateResultConfig);
669
- }
670
- if ('evaluateResultSetting' in map && utils.isJSON(map.evaluateResultSetting)) {
671
- this.config.evaluateResultSetting = JSON.parse(map.evaluateResultSetting);
672
- // 随机测评
673
- if (this.config?.randomId && this.config.evaluateResultSetting) {
674
- this.config.evaluateResultSetting.evaluateName = this.config.name;
675
- this.config.evaluateResultSetting.evaluateExplain = this.config.remark;
676
- }
677
- }
678
-
679
- this.originConfig = JSON.parse(JSON.stringify(this.config));
680
-
681
- if (this.params && Object.keys(this.params).length) {
682
- let res = this.handleBtnParamsEvaluate(this.params);
683
- res && Object.keys(res).length && (this.paramsEvaluate = res);
684
- }
685
-
686
- this.handleEvaluateParams(this.config.evaluateResultSetting);
687
- this.handleShowEvaluate();
688
-
689
- this.defaultFormArray = JSON.parse(JSON.stringify(list));
690
- let filterArr = this.filterArr;
691
- list = list.filter(v => !filterArr.includes(v.type));
692
- this.formArray = this.formatArray(list || []);
693
- this.form = this.defaultFormValue(this.formArray);
694
- this.rules = this.formatRules(this.formArray);
695
- this.fontSize = data.fontSize;
696
- this.spinning = false;
697
- this.hasFrontAddress = false;
698
- },
699
- handleFrontAddress(list) {
700
- if (!list || !list.length) return;
701
- let matchItem = list.find(item => item.type === 'FRONT_ADDRESS');
702
- if (!matchItem || !Object.keys(matchItem).length) return;
703
- let setting;
704
- if (matchItem.setting && utils.isJSON(matchItem.setting)) {
705
- setting = JSON.parse(matchItem.setting);
706
- }
707
- if (!setting || !Object.keys(setting).length) return;
708
- let query = this.handleQueryParams();
709
- // redirect=1 代表从前置地址跳转回来了
710
- if (query?.redirect == 1) return;
711
- let { frontAddress } = setting;
712
- if (frontAddress) {
713
- let urlHref = window.location.href;
714
- let preStr = '?';
715
- if (frontAddress.includes('?')) {
716
- preStr = '&';
717
- }
718
- let curUrl = `${frontAddress}${preStr}redirect_url=${encodeURIComponent(urlHref)}`;
719
- return curUrl;
720
- }
721
- },
722
- handleBtnParamsEvaluate(params) {
723
- let defaultVariable = ['evaname', 'evadesc', 'evast', 'evadur', 'evaan'];
724
- let res = {};
725
- for (let key in params) {
726
- let value = params[key];
727
- if (defaultVariable.includes(key) && value) {
728
- res[key] = value;
729
- }
730
- }
731
- return res;
732
- },
733
- /** *
734
- * 解析测评参数
735
- */
736
- handleEvaluateParams(evaluateResultSetting) {
737
- if (!evaluateResultSetting || !Object.keys(evaluateResultSetting).length) return;
738
- // 分享测评量表链接URL支持传入测评名称-evaname 测评说明-evadesc 测评时间-evast 测评时长-evadur 固定参数
739
- let query = this.handleQueryParams();
740
- // 按钮传参
741
- if (this.hasparamsEvaluate) {
742
- query = this.paramsEvaluate;
743
- }
744
- let obj = {
745
- evaluateName: 'evaname',
746
- evaluateExplain: 'evadesc',
747
- evaluateStartTime: 'evast',
748
- evaluateTime: 'evadur',
749
- evaluateAnswer: 'evaan'
750
- };
751
- for (let key in evaluateResultSetting) {
752
- let value = evaluateResultSetting[key];
753
- let isParseKey = value && key != 'evaluateAnswer' && typeof value === 'string' && value.includes('${');
754
- if (isParseKey) {
755
- let parseValue = value.replace(/\$\{([^}]+)\}/g, (_v, $1) => {
756
- let param;
757
- if ($1.startsWith('form.')) {
758
- param = query[$1.split('.')[1]];
759
- }
760
- return param || '';
761
- });
762
- this.$set(evaluateResultSetting, key, parseValue);
763
- } else {
764
- let val = query[obj[key]];
765
- if (key == 'evaluateAnswer') {
766
- val = val === 'true' || val == 1 ? true : false;
767
- }
768
- query[obj[key]] && this.$set(evaluateResultSetting, key, val);
769
- }
770
- }
771
- // 部分evaluateResultSetting 但是却有url
772
- if (this.hasDefault) {
773
- let defaultVariable = ['evaname', 'evadesc', 'evast', 'evadur', 'evaan'];
774
- let defObj = {
775
- evaname: 'evaluateName',
776
- evadesc: 'evaluateExplain',
777
- evast: 'evaluateStartTime',
778
- evadur: 'evaluateTime',
779
- evaan: 'evaluateAnswer'
780
- };
781
- defaultVariable.forEach(item => {
782
- let key = defObj[item];
783
- if (!evaluateResultSetting[key]) {
784
- let val = query[item];
785
- if (item == 'evaan') {
786
- val = val === 'true' || val == 1 ? true : false;
787
- }
788
- query[item] && this.$set(evaluateResultSetting, key, val);
789
- }
790
- });
791
- }
792
- this.setEvaluateStartTime(evaluateResultSetting);
793
- },
794
- handleQueryParams() {
795
- let params = {};
796
- let hash = window.location.hash.split('?')[1]
797
- if(!hash) {
798
- hash= window.location.href.split('?')[1]
799
- }
800
- for (let [key, value] of new URLSearchParams(hash).entries()) {
801
- params[key] = decodeURIComponent(value);
802
- }
803
- return params;
804
- },
805
- handleShowEvaluate() {
806
- // 读取优先级为测评设置值(变量) > URL参数 > 测评设置值(固定值)
807
- // 无 evaluateResultSetting
808
- if (!this.hasEvaluateResultSetting) {
809
- // url中是否有默认值
810
- // 无默认值 不显示考试入口页面
811
- if (!this.hasDefault) return false;
812
- // 有默认值 显示考试入口页面
813
- if (!('evaluateResultSetting' in this.config)) {
814
- this.$set(this.config, 'evaluateResultSetting', {});
815
- }
816
- this.setDefaultEvaluate(this.config.evaluateResultSetting);
817
- this.showEvaluatePage = true;
818
- this.showEvaluateCountdownWrap = true;
819
- return;
820
- }
821
-
822
- let { evaluateResultSetting = {} } = this.config;
823
- if (!evaluateResultSetting || !Object.keys(evaluateResultSetting).length) return;
824
- this.showEvaluateCountdownWrap = true;
825
-
826
- // 只要有开始时间都显示测评组件
827
- let { evaluateStartTime } = evaluateResultSetting;
828
- let { evaluateName } = this.originConfig?.evaluateResultSetting || {};
829
- // 未设置开始时间 一直可以填写
830
- if (!evaluateStartTime) {
831
- this.showEvaluatePage = true;
832
- return;
833
- }
834
- if (!vexutils.isValidDate(new Date(evaluateStartTime))) {
835
- if (!evaluateName) return false;
836
- }
837
- this.showEvaluatePage = true;
838
- },
839
- setDefaultEvaluate(evaluateResultSetting) {
840
- let query = this.handleQueryParams();
841
- // 按钮传参
842
- if (this.hasparamsEvaluate) {
843
- query = this.paramsEvaluate;
844
- }
845
- if (query.evaname) {
846
- this.$set(evaluateResultSetting, 'evaluateName', query.evaname);
847
- }
848
- if (query.evadesc) {
849
- this.$set(evaluateResultSetting, 'evaluateExplain', query.evadesc);
850
- }
851
- if (query.evast) {
852
- this.$set(evaluateResultSetting, 'evaluateStartTime', query.evast);
853
- }
854
- if (query.evadur) {
855
- this.$set(evaluateResultSetting, 'evaluateTime', query.evadur);
856
- }
857
- if (query.evaan) {
858
- let evaan = query.evaan === 'true' || query.evaan == 1 ? true : false;
859
- this.$set(evaluateResultSetting, 'evaluateAnswer', evaan);
860
- }
861
-
862
- this.setEvaluateStartTime(evaluateResultSetting);
863
- },
864
- // 时间戳需要是数字
865
- setEvaluateStartTime(evaluateResultSetting) {
866
- let evaluateStartTime = evaluateResultSetting?.evaluateStartTime;
867
- if (!evaluateStartTime) return;
868
- if (!vexutils.isValidDate(new Date(evaluateStartTime)) && vexutils.isValidDate(new Date(Number(evaluateStartTime)))) {
869
- evaluateResultSetting.evaluateStartTime = Number(evaluateStartTime);
870
- }
871
- },
872
- // 量表提交数据
873
- defaultFormValue(formArray) {
874
- const formData = {};
875
- let val;
876
- formArray.forEach(item => {
877
- const key = this.formKey(item);
878
- const { type } = item;
879
- let defValue;
880
- if (item.dbValue) {
881
- defValue = item.dbValue;
882
- } else {
883
- if (item.setting?.defValType == 3) {
884
- defValue = this.handleUrlDefaultValue(item)
885
- }
886
- }
887
- switch (type) {
888
- case 'LOCATION':
889
- formData[key] = defValue || '';
890
- break;
891
- case 'SEARCH_CASCADE':
892
- formData[key] = defValue || [];
893
- break;
894
- case 'ADDRESS':
895
- formData[key] = defValue || item?.setting?.defaultValue|| {};
896
- break;
897
- case 'LABEL':
898
- formData[key] = defValue || {};
899
- if (vexutils.isObject(defValue)) {
900
- this.labelSelectedList = defValue?.labels || [];
901
- } else if (Array.isArray(defValue)) {
902
- this.labelSelectedList = defValue;
903
- } else {
904
- this.labelSelectedList = [];
905
- }
906
- break;
907
- case 'TITLE':
908
- formData[key] = item.title;
909
- break;
910
- case 'IMGCARD':
911
- formData[key] = item.setting?.imgUrl || '';
912
- break;
913
- case 'UPFILE':
914
- case 'UPPICTURE':
915
- formData[key] = defValue || [];
916
- break;
917
- // 自定义列表特殊处理
918
- case 'CHECKBOX_BLOCK':
919
- if (defValue && !Array.isArray(defValue) && this.type === 'customList') {
920
- formData[key] = defValue.split(',').filter(ii => !!ii);
921
- } else {
922
- formData[key] = this.parseVal(defValue, item);
923
- }
924
- break;
925
- case 'MOBILE':
926
- val = this.parseVal(defValue, item)
927
- if(val && typeof val === 'string' && val.length > 11) {
928
- val = val.slice(0, 11)
929
- }
930
- formData[key] = val;
931
- break;
932
- default:
933
- formData[key] = this.parseVal(defValue, item);
934
- break;
935
- }
936
- });
937
- return formData;
938
- },
939
- // 解析传参组件
940
- compileSpreadParams(spreadParams) {
941
- return spreadParams.domains.map(v => {
942
- let obj = {};
943
- if (v.valueType == '1') {
944
- obj[v.name] = v.value;
945
- } else if (v.valueType == '2') {
946
- obj[v.name] = this.getQueryVariable(v.value);
947
- }
948
- return obj;
949
- });
950
- },
951
- // 获取url链接参数
952
- getQueryVariable(variable) {
953
- let query = {};
954
- if (this.source == 'layout') {
955
- // 按钮传参
956
- query = this.params;
957
- } else {
958
- query = this.handleQueryParams() || {};
959
- }
960
- if (!query) return false;
961
- return query[variable] || false;
962
- },
963
- // 初始化量表
964
- formatArray(list) {
965
- let i = 1;
966
- const results = list.map(item => {
967
- const key = this.formKey(item);
968
- let title = (key || '').replace(/\n/g, '');
969
- this.$set(item, 'showTitle', item.title);
970
- // 表单校验rule prop如果有 . 会报错, 替换成 ~-~
971
- if (title.includes('.')) {
972
- let newTitle = title.replace(/\./g, '~-~');
973
- this.$set(item, 'title', newTitle);
974
- }
975
- this.$set(item, 'isShow', true);
976
- Object.keys(item).forEach(key => {
977
- if (utils.isJSON(item[key])) {
978
- if (item.type != 'LOCATION') {
979
- item[key] = JSON.parse(item[key]);
980
- }
981
- }
982
- });
983
- const notIndexArr = ['LINEBAR', 'TITLE', 'PROMPT', 'IMGCARD', 'RICH_TEXT'];
984
- if (notIndexArr.indexOf(item.type) < 0 && !item.hide) {
985
- this.$set(item, 'softcode', i++);
986
- }
987
-
988
- // "RADIO_BLOCK", "CHECKBOX_BLOCK" 将取值value改为key
989
- if (this.isChoice(item.type)) {
990
- this.handleFormatOptions(item.options, item.type);
991
- if (item.type != 'SEARCH_CASCADE') {
992
- if (item.dbValue) {
993
- this.nextLogicEvent(item.dbValue, item, list, true);
994
- } else {
995
- if (item.setting.defaultValue) {
996
- this.nextLogicEvent(item.setting.defaultValue, item, list, true);
997
- }
998
- }
999
- }
1000
- }
1001
- return item;
1002
- });
1003
- return results.map(item => {
1004
- // 题目关联
1005
- let relationLogicObj = utils.isString(item.relationLogic) ? JSON.parse(item.relationLogic) : item.relationLogic;
1006
- this.handleRelationLogic(list, relationLogicObj);
1007
-
1008
- // 跳题逻辑
1009
- this.handLenextLogic(item);
1010
-
1011
- // 自定义列表特殊处理
1012
- if (item.type === 'CHECKBOX_BLOCK' && item.dbValue && !Array.isArray(item.dbValue) && this.type === 'customList') {
1013
- item.dbValue = item.dbValue.split(',').filter(ii => !!ii);
1014
- }
1015
- return item;
1016
- });
1017
- },
1018
- /**
1019
- * "RADIO_BLOCK", "CHECKBOX_BLOCK" 将取值value改为key, relationLogic需要重新处理
1020
- */
1021
- handleRelationLogic(list, relationLogicObj) {
1022
- let { condition } = relationLogicObj || {};
1023
- if (!condition || !condition.length) return;
1024
- condition.forEach(c => {
1025
- let matchItem = list.find(f => f.seq == c.subject_seq);
1026
- if (!matchItem) return;
1027
- let isChoice = this.isRadioOrCheckBox(matchItem.options, matchItem.type);
1028
- if (!isChoice) return;
1029
- let value = c.value;
1030
- if (Array.isArray(value)) {
1031
- value = value.map(v => {
1032
- return this.replaceConditionItem(matchItem.options, v);
1033
- });
1034
- c.value = value;
1035
- } else {
1036
- c.value = this.replaceConditionItem(matchItem.options, value);
1037
- }
1038
- });
1039
- },
1040
- /**
1041
- * "RADIO_BLOCK", "CHECKBOX_BLOCK" 将取值value改为key, nextLogic需要重新处理
1042
- */
1043
- handLenextLogic(item) {
1044
- let { nextLogic, options, type } = item || {};
1045
- let isChoice = this.isRadioOrCheckBox(options, type);
1046
- if (!nextLogic || !isChoice) return;
1047
- let { condition } = nextLogic || {};
1048
- if (!condition || !condition.length) return;
1049
- condition.forEach(c => {
1050
- let value = c.value;
1051
- if (Array.isArray(value)) {
1052
- value = value.map(v => {
1053
- return this.replaceConditionItem(options, v);
1054
- });
1055
- c.value = value;
1056
- } else {
1057
- c.value = this.replaceConditionItem(options, value);
1058
- }
1059
- });
1060
- },
1061
- replaceConditionItem(options, value) {
1062
- let matchOption = options.find(v => value === v.value);
1063
- if (!matchOption) return value;
1064
- return matchOption.key;
1065
- },
1066
- isRadioOrCheckBox(options, type) {
1067
- let typeArr = ['RADIO_BLOCK', 'CHECKBOX_BLOCK'];
1068
- if (!typeArr.includes(type)) return;
1069
- if (!options) return;
1070
- if (options && utils.isJSON(options)) {
1071
- options = JSON.parse(options);
1072
- }
1073
- if (!options.length) return;
1074
- return true;
1075
- },
1076
- handleFormatOptions(options, type) {
1077
- let isChoice = this.isRadioOrCheckBox(options, type);
1078
- if (!isChoice) return;
1079
-
1080
- options.forEach((item, i) => {
1081
- if (item.key !== 'other') {
1082
- item.key = i + 1;
1083
- }
1084
- if (item.prefix || item.suffix) {
1085
- item.value = item.prefix || item.suffix;
1086
- }
1087
- });
1088
- },
1089
- // 初始化rules
1090
- formatRules(formArray) {
1091
- const rules = {};
1092
- formArray.forEach(item => {
1093
- let newTitle = this.formKey(item);
1094
- // 表单校验rule prop如果有 . 会报错, 替换成 ~-~
1095
- if (newTitle.includes('.')) {
1096
- newTitle = newTitle.replace(/\./g, '~-~');
1097
- }
1098
- rules[newTitle] = [{ required: item.required, message: '必填', trigger: 'change' }];
1099
- if (item.type == 'MOBILE' && item.validation) {
1100
- rules[newTitle].push({
1101
- pattern: /^1[3456789]\d{9}$/,
1102
- message: '格式错误',
1103
- trigger: 'blur'
1104
- });
1105
- } else if (item.type == 'ID_CARD' && item.validation) {
1106
- rules[newTitle].push({
1107
- pattern: /^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/,
1108
- message: '格式错误',
1109
- trigger: 'blur'
1110
- });
1111
- } else if (item.type == 'ADDRESS' && item.required) {
1112
- if (this.handleAddressType(item)) {
1113
- rules[newTitle].push({
1114
- validator: this.checkAdress,
1115
- trigger: 'change'
1116
- });
1117
- }
1118
- } else if (item.type == 'LABEL' && item.required) {
1119
- rules[newTitle].push({
1120
- validator: this.checkLabel,
1121
- trigger: 'change'
1122
- });
1123
- } else if (item.type == 'DATETIME' && this.type == 'customList') {
1124
- // 自定义列表特殊处理日期时间 最大值
1125
- // dateMaxType 1当前日期时间 2指定日期时间 3其他日期时间字段
1126
- let dateMaxType = this.handleDateMaxType(item);
1127
- if (!dateMaxType) return;
1128
- let obj = {
1129
- 1: 'checkDateMaxCur',
1130
- 2: 'checkDateMaxSet',
1131
- 3: 'checkDateMaxOther'
1132
- };
1133
- let methodName = obj[dateMaxType];
1134
- rules[newTitle].push({
1135
- validator: (rule, value, callback) => this[methodName](rule, value, callback, item),
1136
- trigger: 'change'
1137
- });
1138
- } else if (item.type === 'RADIO_BLOCK') {
1139
- this.choiceComObj[this.formKey(item)] = {};
1140
- rules[newTitle].push({
1141
- validator: (rule, value, callback) => this.checkRadio(rule, value, callback, item),
1142
- trigger: 'change'
1143
- });
1144
- } else if (item.type === 'CHECKBOX_BLOCK') {
1145
- this.choiceComObj[this.formKey(item)] = {};
1146
- rules[newTitle].push({
1147
- validator: (rule, value, callback) => this.checkCheckbox(rule, value, callback, item),
1148
- trigger: 'change'
1149
- });
1150
- }
1151
- });
1152
- return rules;
1153
- },
1154
- handleAddressType(item) {
1155
- let setObj = { addressType: 'province-city-district-address' };
1156
- if (utils.isJSON(item.setting)) {
1157
- setObj = JSON.parse(item.setting);
1158
- } else {
1159
- setObj = item.setting;
1160
- }
1161
- let isAdress = setObj.addressType.includes('address');
1162
- return isAdress;
1163
- },
1164
- checkAdress(rule, value, callback) {
1165
- let { address } = value || {};
1166
- if (!address) {
1167
- return callback(new Error('必填'));
1168
- }
1169
- callback();
1170
- },
1171
- checkLabel(rule, value, callback) {
1172
- if (!value || !Object.keys(value).length) {
1173
- return callback(new Error('必填'));
1174
- }
1175
- let { labelStr, labels = [] } = value;
1176
- if (!labelStr || !labels.length) {
1177
- return callback(new Error('必填'));
1178
- }
1179
- callback();
1180
- },
1181
- handleDateMaxType(item) {
1182
- let setObj = item.setting;
1183
- if (utils.isJSON(setObj)) {
1184
- setObj = JSON.parse(setObj);
1185
- }
1186
- return setObj.dateMaxType;
1187
- },
1188
- // 自定义列表 日期时间 max 当前日期时间
1189
- checkDateMaxCur(rule, value, callback, item) {
1190
- if (!value) return callback();
1191
- let { dateType } = item.setting;
1192
- if (!dateType) return callback();
1193
- let dateMaxValue = this.currentTime;
1194
- if (dateType == 'time') {
1195
- dateMaxValue = this.currentTime.format('HH:mm:ss');
1196
- }
1197
- let isMax = this.handleMax(dateType, value, dateMaxValue);
1198
- if (!isMax) {
1199
- return callback(new Error('最大不能超过当前日期时间'));
1200
- }
1201
- callback();
1202
- },
1203
- // 自定义列表 日期时间 max 指定日期时间
1204
- checkDateMaxSet(rule, value, callback, item) {
1205
- if (!value) return callback();
1206
- let { dateMaxValue, dateType } = item.setting;
1207
- if (!dateMaxValue || !dateType) return callback();
1208
- let isMax = this.handleMax(dateType, value, dateMaxValue);
1209
- if (!isMax) {
1210
- return callback(new Error('最大不能超过指定日期时间'));
1211
- }
1212
- callback();
1213
- },
1214
- // 自定义列表 日期时间 max 其他日期时间字段
1215
- checkDateMaxOther(rule, value, callback, item) {
1216
- if (!value) return callback();
1217
- let { outDateMaxValue, dateType } = item.setting;
1218
- if (!outDateMaxValue || !dateType) return callback();
1219
- let matchDateItem = this.formArray.find(v => v.seq === outDateMaxValue);
1220
- if (!matchDateItem || matchDateItem.hide) return callback();
1221
- let matchValue = this.form[this.formKey(matchDateItem)];
1222
- if (!matchValue) return;
1223
- let isMax = this.handleMax(dateType, value, matchValue);
1224
- if (!isMax) {
1225
- return callback(new Error(`最大不能超过【${matchDateItem.title}】日期时间`));
1226
- }
1227
- callback();
1228
- },
1229
- checkRadio(rule, value, callback, item) {
1230
- if (!value) return callback();
1231
- let { options } = item;
1232
- if (!options.length || value === 'other') return callback();
1233
- const key = this.formKey(item);
1234
- let { optionsPreSuffixObj = {} } = this.choiceComObj[key] || {};
1235
- let matchItem = options.find((o, i) => {
1236
- if (i + 1 === value) {
1237
- return true;
1238
- }
1239
- return false;
1240
- });
1241
- if (!matchItem || matchItem.importability) return callback();
1242
- if (matchItem.prefix || matchItem.suffix) {
1243
- let inputValue = optionsPreSuffixObj[value];
1244
- if (!inputValue) {
1245
- return callback(new Error(`请完善选项`));
1246
- }
1247
- }
1248
- callback();
1249
- },
1250
- checkCheckbox(rule, value, callback, item) {
1251
- if (!value || !value.length) return callback();
1252
- let { options } = item;
1253
- if (!options.length) return callback();
1254
- let i = 0,
1255
- len = value.length,
1256
- v;
1257
- const key = this.formKey(item);
1258
- let { optionsPreSuffixObj = {} } = this.choiceComObj[key] || {};
1259
- for (; i < len; i++) {
1260
- v = value[i];
1261
- if (v === 'other') continue;
1262
- let matchItem = options.find((o, j) => {
1263
- if (j + 1 === v) {
1264
- return true;
1265
- }
1266
- return false;
1267
- });
1268
- if (!matchItem || matchItem.importability) continue;
1269
-
1270
- if (matchItem.prefix || matchItem.suffix) {
1271
- let inputValue = optionsPreSuffixObj[v];
1272
- if (!inputValue) {
1273
- return callback(new Error(`请完善选项`));
1274
- }
1275
- }
1276
- }
1277
- callback();
1278
- },
1279
- handleMax(dateType, value, dateMaxValue) {
1280
- let curValue = '';
1281
- let tempValue = '';
1282
- if (dateType == 'time') {
1283
- let curYMD = this.currentTime.format('YYYY MM DD ');
1284
- curValue = moment(curYMD + dateMaxValue).valueOf();
1285
- tempValue = moment(curYMD + value).valueOf();
1286
- } else if (dateType == 'date') {
1287
- curValue = moment(dateMaxValue).valueOf();
1288
- tempValue = moment(value).valueOf();
1289
- } else {
1290
- curValue = moment(dateMaxValue).valueOf();
1291
- tempValue = moment(value).valueOf();
1292
- }
1293
- if (tempValue > curValue) {
1294
- return false;
1295
- }
1296
- return true;
1297
- },
1298
- handleGetAddress(val) {
1299
- if (utils.isJSON(val)) {
1300
- const valObj = JSON.parse(val);
1301
- return valObj.address || valObj.name;
1302
- }
1303
- return '';
1304
- },
1305
- handleSelectLocation(e, item) {
1306
- const { locationProp, isInit } = e;
1307
- this.mapLocation = locationProp;
1308
- const key = this.formKey(item);
1309
- this.form[key] = locationProp;
1310
- this.mapVisible = isInit || false;
1311
- },
1312
- isInput(type) {
1313
- return type == 'INPUT' || type == 'ID_CARD' || type == 'MOBILE' || type == 'EVALUATE_INPUT';
1314
- },
1315
- isChoice(type) {
1316
- return (
1317
- type == 'SELECT' ||
1318
- type == 'RADIO_BLOCK' ||
1319
- type == 'CHECKBOX_BLOCK' ||
1320
- type == 'SEARCH_CASCADE' ||
1321
- type == 'EVALUATE_RADIO_BLOCK' ||
1322
- type == 'EVALUATE_CHECKBOX_BLOCK' ||
1323
- type == 'EVALUATE_SELECT'
1324
- );
1325
- },
1326
- isTime(type) {
1327
- return type == 'DATE' || type == 'TIME' || type == 'DATETIME';
1328
- },
1329
- isUpload(type) {
1330
- return type == 'UPFILE' || type == 'UPPICTURE';
1331
- },
1332
- writeGuage(showCountdown) {
1333
- this.showEvaluateSettingWrap = false;
1334
- this.showEvaluateCountdown = showCountdown;
1335
- },
1336
- closeEvaluateCountdown() {
1337
- // 倒计时结束自动提交 无需校验
1338
- this.showEvaluateCountdown = false;
1339
- if (this.isPreviewScale) return;
1340
- this.banSubmit = true;
1341
- this.submitMethod();
1342
- this.$warning({
1343
- title: '温馨提示',
1344
- content: '测评时间到了,结束测评!',
1345
- okText: '确定',
1346
- onOk: () => {}
1347
- });
1348
- },
1349
- async showEvaTipModal(item) {
1350
- if (this.evatipMap[item.id]) {
1351
- this.evatipConfirm(this.evatipMap[item.id]);
1352
- return;
1353
- }
1354
- let key = 'getSubjectAnswer';
1355
- const fn = this.scaleApiConfig?.[key] || null;
1356
- if (!fn || typeof fn !== 'function') {
1357
- this.$message.error(`${key} Is not a function`);
1358
- return;
1359
- }
1360
- let obj = await fn(item.id);
1361
- if (!obj) return;
1362
- if (!this.evatipMap[item.id]) {
1363
- this.evatipMap[item.id] = obj;
1364
- this.evatipConfirm(obj);
1365
- }
1366
- },
1367
- closeTip() {
1368
- this.$destroyAll();
1369
- },
1370
- evatipConfirm(str) {
1371
- let _this = this;
1372
- let content = h => (
1373
- <div class="evatip-container">
1374
- <a-icon type="close" class="tip-content-close" on-click={_this.closeTip} />
1375
- <span>答案解析:</span>
1376
- <p>{str}</p>
1377
- </div>
1378
- );
1379
- this.$confirm({
1380
- title: '提示',
1381
- icon: () => null,
1382
- content,
1383
- okText: '确定',
1384
- cancelText: '关闭',
1385
- onOk() {},
1386
- onCancel() {},
1387
- class: 'evatip-modal-wrap'
1388
- });
1389
- },
1390
- // 选择组件
1391
- handleChoice(choiceValue, formItem) {
1392
- let { value = '', list = [] } = choiceValue;
1393
- this.nextLogicEvent(value, formItem, this.formArray);
1394
- this.handleDynamicDataRelation(list, formItem, this.formArray);
1395
- },
1396
- // 下拉框 动态数据源关联字段
1397
- handleDynamicDataRelation(list, formItem, formArray) {
1398
- let { targetSource } = formItem;
1399
- if (!targetSource || !Object.keys(targetSource).length) return;
1400
- if (!targetSource.target_id) return;
1401
- let { relationParam = [] } = targetSource;
1402
- if (!relationParam.length) return;
1403
- relationParam.forEach(item => {
1404
- let matchEle = formArray.find(v => v.seq === item.relationElement);
1405
- const key = this.formKey(matchEle);
1406
- if (matchEle) {
1407
- if (!list.length) {
1408
- this.form[key] = '';
1409
- } else {
1410
- let relationFieldList = list.map(v => v[item.relationField] || '/') || '';
1411
- this.form[key] = relationFieldList.join(',');
1412
- }
1413
- }
1414
- });
1415
- },
1416
- // 设置的logic condition 最大next_subject
1417
- handleLogicMaxNext(condition = []) {
1418
- const arr = condition.map(({ next_subject }) => (next_subject == 'end' ? 9999 : +(next_subject || 9999)));
1419
- const max = Math.max.call(null, ...arr);
1420
- return max;
1421
- },
1422
- // 当前formItem 下一个触发logicCodition item 的seq
1423
- handleLogicList(formItem, formArray) {
1424
- const { seq } = formItem;
1425
- let list = formArray.map(item => {
1426
- if (item.seq > seq && item.isShow && item.__isLogic__) return item;
1427
- return false;
1428
- });
1429
- let nextItemMax = 0;
1430
- let i = 0,
1431
- len = list.length,
1432
- item;
1433
- for (; i < len; i++) {
1434
- item = list[i];
1435
- let curVal = this.form[this.formKey(item)];
1436
- if (!curVal) continue;
1437
- if (Array.isArray(curVal)) {
1438
- if (!curVal.length) continue;
1439
- }
1440
- const { nextLogic, seq, __isLogic__, __lastSeq__ } = item;
1441
- if (!nextLogic.next_logic_is || !nextLogic.condition.length) continue;
1442
- if (__lastSeq__) {
1443
- nextItemMax = __lastSeq__;
1444
- break;
1445
- }
1446
- }
1447
- return nextItemMax;
1448
- },
1449
- // 跳题逻辑
1450
- nextLogicEvent(choiceValue, formItem, formArray = [], isInit) {
1451
- const { nextLogic, seq } = formItem;
1452
- if (!nextLogic) return;
1453
- if (nextLogic.next_logic_is && nextLogic.condition.length) {
1454
- let nextMax = 9999,
1455
- nextItemMax = 0;
1456
- if (!isInit) {
1457
- nextMax = this.handleLogicMaxNext(nextLogic.condition);
1458
- nextItemMax = this.handleLogicList(formItem, formArray);
1459
- }
1460
- nextLogic.condition.some(con => {
1461
- const { value, next_subject } = con;
1462
- const lastSeq = next_subject == 'end' ? 9999 : next_subject;
1463
- if (nextItemMax && nextItemMax > seq && nextItemMax < nextMax) {
1464
- nextMax = nextItemMax;
1465
- }
1466
- if (nextLogic.next_logic == 'condition') {
1467
- let hasValue = false;
1468
- if (Array.isArray(choiceValue)) {
1469
- hasValue = choiceValue.includes(value);
1470
- } else {
1471
- hasValue = choiceValue === value;
1472
- }
1473
-
1474
- // 添加非响应式key __isLogic__ __lastSeq__
1475
- Object.defineProperty(formItem, '__isLogic__', {
1476
- value: hasValue,
1477
- writable: true
1478
- });
1479
- Object.defineProperty(formItem, '__lastSeq__', {
1480
- value: seq + 1,
1481
- writable: true
1482
- });
1483
-
1484
- if (hasValue) {
1485
- formArray.forEach(item => {
1486
- if (item.seq > seq && item.seq < lastSeq) {
1487
- item.isShow = false;
1488
- // 跳过时 清空已填内容
1489
- const key = this.formKey(item);
1490
- this.form[key] && (this.form[key] = '');
1491
- } else if (item.seq >= lastSeq && item.seq < nextMax) {
1492
- this.$set(item, 'isShow', true);
1493
- }
1494
- });
1495
- return true;
1496
- } else {
1497
- formArray.forEach(item => {
1498
- if (item.seq > seq && item.seq < lastSeq) {
1499
- item.isShow = true;
1500
- }
1501
- });
1502
- }
1503
- } else if (nextLogic.next_logic == 'uncondition') {
1504
- let res = utils.isEmpty(choiceValue);
1505
-
1506
- // 添加非响应式key __isLogic__ __lastSeq__
1507
- Object.defineProperty(formItem, '__isLogic__', {
1508
- value: !res,
1509
- writable: true
1510
- });
1511
- Object.defineProperty(formItem, '__lastSeq__', {
1512
- value: seq + 1,
1513
- writable: true
1514
- });
1515
-
1516
- formArray.forEach(item => {
1517
- const key = this.formKey(item);
1518
- if (item.seq > seq && item.seq < lastSeq) {
1519
- item.isShow = res;
1520
- // 跳过时 清空已填内容
1521
- if (!res) {
1522
- this.form[key] && (this.form[key] = '');
1523
- }
1524
- }
1525
- });
1526
- }
1527
- });
1528
- }
1529
- },
1530
- // 关联逻辑
1531
- showEvent(formItem, isSubmitCallback) {
1532
- if (formItem.hide) return false;
1533
- const { form } = this;
1534
- let relationLogicObj = {};
1535
- // 回调接口
1536
- if (isSubmitCallback) {
1537
- let setting = formItem.setting;
1538
- if (formItem.setting && utils.isJSON(formItem.setting)) {
1539
- setting = JSON.parse(formItem.setting);
1540
- }
1541
- relationLogicObj = utils.isString(setting.callbackCondition) ? JSON.parse(setting.callbackCondition) : setting.callbackCondition;
1542
- if (!relationLogicObj || !relationLogicObj.condition || !relationLogicObj.condition.length) return true;
1543
- } else {
1544
- relationLogicObj = utils.isString(formItem.relationLogic) ? JSON.parse(formItem.relationLogic) : formItem.relationLogic;
1545
- }
1546
- if (!relationLogicObj || !Object.keys(relationLogicObj).length) return true;
1547
- const { relation_logic_is, condition, relation_logic } = relationLogicObj;
1548
- if (relation_logic_is) {
1549
- const results = condition.map(c => {
1550
- let key = this.formKey(this.formArray.filter(f => f.seq == c.subject_seq)[0]);
1551
- if (utils.isArray(form[key])) {
1552
- return form[key].some(v => c.value.includes(v));
1553
- } else {
1554
- return c.value.includes(form[key]);
1555
- }
1556
- });
1557
- if (relation_logic == 'OR') {
1558
- formItem.isShow = results.some(el => el);
1559
- } else if (relation_logic == 'AND') {
1560
- formItem.isShow = results.every(el => el);
1561
- } else {
1562
- formItem.isShow = results[0];
1563
- }
1564
- }
1565
- return formItem.isShow;
1566
- },
1567
- // 单选组件回调
1568
- radioChange(val, item, obj) {
1569
- const key = this.formKey(item);
1570
- this.form[key] = val;
1571
- item.type === 'RADIO_BLOCK' && this.$set(this.choiceComObj, key, obj);
1572
- this.nextLogicEvent(val, item, this.formArray);
1573
- },
1574
- // 多选组件回调
1575
- checkboxChange(val, item, obj) {
1576
- const key = this.formKey(item);
1577
- this.form[key] = val;
1578
- item.type === 'CHECKBOX_BLOCK' && this.$set(this.choiceComObj, key, obj);
1579
- this.nextLogicEvent(val, item, this.formArray);
1580
- },
1581
- // 标签组件回调
1582
- labelChange(labelList, item) {
1583
- const key = this.formKey(item);
1584
- this.form[key] = this.handleGetLabelSubmit(labelList);
1585
- },
1586
-
1587
- signChange(list, item) {
1588
- const key = this.formKey(item);
1589
- this.form[key] = list;
1590
- },
1591
- // 视频组件回调
1592
- vodFileList(list, item) {
1593
- const key = this.formKey(item);
1594
- this.form[key] = list;
1595
- },
1596
- handleGetLabelSubmit(labelSelectedList) {
1597
- if (!labelSelectedList || !labelSelectedList.length)
1598
- return {
1599
- labelStr: '',
1600
- labels: []
1601
- };
1602
- const selectedList = labelSelectedList || [];
1603
- const labelStrList = [];
1604
- const labels = [];
1605
- // "cacheKey":"label_标签","isSelect":true
1606
- selectedList.forEach(v => {
1607
- labels.push(v);
1608
- labelStrList.push(v.labelName);
1609
- });
1610
- this.labelSelectedList = selectedList;
1611
- return {
1612
- labelStr: labelStrList.join(','),
1613
- labels: labels
1614
- };
1615
- },
1616
- // 地址回调
1617
- changeAddress(allValue, item) {
1618
- const key = this.formKey(item);
1619
- this.form[key] = allValue;
1620
- },
1621
- // 上传回调
1622
- changeUpload(value, item) {
1623
- const key = this.formKey(item);
1624
- this.form[key] = value;
1625
- },
1626
- // 时间回调
1627
- changeTime(value, item) {
1628
- const key = this.formKey(item);
1629
- this.form[key] = value;
1630
- this.submitForm[key] = value;
1631
- },
1632
- // 保存
1633
- onSubmit() {
1634
- // 不包含测评组件,点击提交,弹出二次确认对话框,确认要提交吗?
1635
- let hasEvaluate = this.formArray.find(item => this.isEvaluation(item.type));
1636
- if (!hasEvaluate) {
1637
- this.confirmSubmit('确认要提交吗?');
1638
- return;
1639
- }
1640
-
1641
- // 包含测评组件,不包含考试时长,点击提交,弹出二次确认对话框,确认要结束测评吗?
1642
- // 判断有无测评配置 并且在测评时间内
1643
- let { evaluateResultSetting } = this.config;
1644
- if (!evaluateResultSetting || (!Object.keys(evaluateResultSetting).length && !this.showEvaluateEntry)) {
1645
- this.confirmSubmit('确认要结束测评吗?');
1646
- return;
1647
- }
1648
-
1649
- // 表单内嵌量表, 没有开始答题, 不需要调用保存接口
1650
- if (this.openType == 'formIframe' && this.showEvaluateEntry) {
1651
- this.$emit('submitNoRequest');
1652
- return;
1653
- }
1654
-
1655
- // 无倒计时
1656
- let countdownDom = this.$refs.evaluateCountdown;
1657
- if (!countdownDom?.showEvaluateCountdown) {
1658
- this.confirmSubmit('确认要结束测评吗?');
1659
- return;
1660
- }
1661
-
1662
- // 在倒计时内
1663
- let message = '确认要提前结束测评吗?';
1664
- let setAnswered = this.$refs.evaluateCountdown?.setAnswered;
1665
- let totalLen = this.$refs.evaluateCountdown?.totalLen;
1666
- // 存在未解答题目
1667
- if (setAnswered < totalLen) {
1668
- message = '存在未解答的题目,确定要提前结束吗?';
1669
- }
1670
- this.confirmSubmit(message);
1671
- },
1672
- confirmSubmit(message) {
1673
- let _this = this;
1674
- this.$confirm({
1675
- title: '温馨提示',
1676
- content: message,
1677
- okText: '确定',
1678
- cancelText: '取消',
1679
- onOk: () => {
1680
- _this.onSubmitForm();
1681
- },
1682
- onCancel() {}
1683
- });
1684
- },
1685
- onSubmitForm() {
1686
- this.$refs['ruleForm'].validate((valid, keys) => {
1687
- if (valid) {
1688
- this.submitMethod();
1689
- } else {
1690
- if (Object.keys(keys).length > 0) {
1691
- let key = Object.keys(keys)[0];
1692
- let field = keys[key][0].field,
1693
- message = keys[key][0].message;
1694
- let matchItem = this.formArray.find(v => v.databaseTitle === field);
1695
- if (matchItem) {
1696
- field = matchItem.title;
1697
- }
1698
- this.$message.error(field + message);
1699
- }
1700
- return false;
1701
- }
1702
- });
1703
- },
1704
- submitMethod() {
1705
- const hasSpreadParams = this.defaultFormArray.find(v => v.type === 'SPREAD_PARAMS');
1706
- if (hasSpreadParams) {
1707
- if (utils.isJSON(hasSpreadParams.setting)) {
1708
- hasSpreadParams.setting = JSON.parse(hasSpreadParams.setting);
1709
- }
1710
- let spreadKey = this.formKey(hasSpreadParams);
1711
- this.submitForm[spreadKey] = this.compileSpreadParams(hasSpreadParams.setting.spreadParams);
1712
- }
1713
- // 自定义列表新增时多选特殊处理
1714
- let checkBoxKey = this.defaultFormArray.find(ii => ii.type == 'CHECKBOX_BLOCK');
1715
- if (checkBoxKey && Array.isArray(this.form[checkBoxKey.title]) && this.type === 'customList') {
1716
- this.form[checkBoxKey.title] = this.form[checkBoxKey.title].join(',');
1717
- }
1718
- const scoreJson = this.handleScoreJson();
1719
- let params;
1720
- if (this.type === 'customList') {
1721
- params = {
1722
- definedListId: this.ids.guage_id,
1723
- dbId: this.ids.db_id,
1724
- scoreJson: JSON.stringify(scoreJson)
1725
- };
1726
- } else {
1727
- const { guageId, randomId } = this.config;
1728
- params = Object.assign(this.params, {
1729
- guageId,
1730
- scoreJson: JSON.stringify(scoreJson),
1731
- randomId
1732
- });
1733
- }
1734
- if (this.shareId) {
1735
- params.shareId = this.shareId;
1736
- }
1737
- const tipSetting = this.defaultFormArray.find(item => item.type === 'SUCCESS_TIP');
1738
- if (tipSetting) {
1739
- // 提交保存成功提示设置
1740
- const tip = utils.isJSON(tipSetting.setting) ? JSON.parse(tipSetting.setting) : tipSetting.setting;
1741
- params.tipSetting = JSON.stringify({
1742
- tipMode: tip.tipMode,
1743
- tipType: tip.tipType,
1744
- tipText: tip.tipText,
1745
- tipApi: tip.tipApi
1746
- });
1747
- }
1748
- let hasCallbackItem = this.defaultFormArray.find(v => v.type === 'CALLBACK_INTERFACE');
1749
- let isCallback = false;
1750
- if (hasCallbackItem) {
1751
- isCallback = this.showEvent(hasCallbackItem, true);
1752
- }
1753
- /**
1754
- * NOTE:
1755
- * 提交数据往外推
1756
- */
1757
- this.$emit('onSubmit', params, hasCallbackItem, isCallback);
1758
- },
1759
- handleScoreJson() {
1760
- let tempObj = Object.assign({}, this.form, this.submitForm);
1761
- let res = {};
1762
- if (!Object.keys(tempObj).length) return {};
1763
- for (let key in tempObj) {
1764
- let itemTemp = this.formArray.find(item => this.formKey(item) == key);
1765
- let curValue = tempObj[key];
1766
- if (key && itemTemp) {
1767
- let keyTemp;
1768
- if (itemTemp && itemTemp.databaseTitle) keyTemp = itemTemp.databaseTitle;
1769
- if (this.type == 'customList' && itemTemp && itemTemp.setting && itemTemp.setting.startToStop != 1 && curValue && itemTemp.type == 'DATETIME') {
1770
- if (itemTemp.setting && itemTemp.setting.dateType == 'time' && curValue) curValue = moment().format('YYYY-MM-DD ') + curValue;
1771
- if (itemTemp.setting && itemTemp.setting.dateType == 'date' && curValue) curValue = moment(curValue).format('YYYY-MM-DD ') + moment().format('HH:mm:ss');
1772
- }
1773
-
1774
- // 处理地址
1775
- if (itemTemp.type === "ADDRESS") {
1776
- curValue = this.handleSubmitAddress(tempObj[key], itemTemp);
1777
- }
1778
-
1779
- // 处理choice选项 将key替换为value
1780
- let isChoice = ['RADIO_BLOCK', 'CHECKBOX_BLOCK'].includes(itemTemp.type);
1781
- if (isChoice) {
1782
- let { options } = itemTemp;
1783
- let obj = this.choiceComObj[key];
1784
- if (itemTemp.type === 'RADIO_BLOCK' && curValue) {
1785
- curValue = this.handleChoiceItem(curValue, options, obj);
1786
- }
1787
- if (itemTemp.type === 'CHECKBOX_BLOCK' && curValue?.length) {
1788
- let resArr = this.handleCheckboxParams(curValue, options, obj);
1789
- curValue = resArr;
1790
- }
1791
- }
1792
-
1793
- if (key.includes('~-~')) {
1794
- let newKey = keyTemp ? keyTemp.replace(/~-~/g, '.') : key.replace(/~-~/g, '.');
1795
- res[newKey] = curValue;
1796
- } else {
1797
- res[keyTemp || key] = !curValue ? null : curValue;
1798
- }
1799
- } else {
1800
- res[key] = curValue;
1801
- }
1802
- }
1803
- console.log('res', res);
1804
- return res;
1805
- },
1806
- handleCheckboxParams(value, options, obj) {
1807
- let res = [];
1808
- let i = 0,
1809
- len = value.length,
1810
- v;
1811
- for (; i < len; i++) {
1812
- v = value[i];
1813
- let matchItem = options.find((o, i) => {
1814
- if (i + 1 === v) {
1815
- return true;
1816
- }
1817
- return false;
1818
- });
1819
- if (matchItem && !matchItem.prefix && !matchItem.suffix) {
1820
- res.push(matchItem.value);
1821
- continue;
1822
- }
1823
- let tempValue = this.handleChoiceItem(v, options, obj);
1824
- res.push(tempValue);
1825
- }
1826
- return res;
1827
- },
1828
- handleChoiceItem(value, options, obj) {
1829
- let { othersText, optionsPreSuffixObj = {} } = obj || {};
1830
- if (value === 'other') {
1831
- return othersText || '其他';
1832
- }
1833
- let matchItem = options.find((o, i) => {
1834
- if (i + 1 === value) {
1835
- return true;
1836
- }
1837
- return false;
1838
- });
1839
- if (!matchItem) return;
1840
- if (!matchItem.prefix && !matchItem.suffix) return matchItem.value;
1841
- let resValue = optionsPreSuffixObj[value] || '';
1842
- if (matchItem.prefix) {
1843
- resValue = matchItem.prefix + resValue;
1844
- } else {
1845
- resValue += matchItem.suffix;
1846
- }
1847
- return resValue;
1848
- },
1849
- resetForm() {
1850
- this.$refs.ruleForm.resetFields();
1851
- },
1852
- cancel() {
1853
- this.$emit('onCloseSetting');
1854
- },
1855
- handleEvaluationScore(ele) {
1856
- let { minScore = 0, maxScore = 0, scoreType } = ele.scoreConfigs || {};
1857
- return `(${maxScore}分)`;
1858
- },
1859
- html2Escape(sHtml) {
1860
- if(!sHtml || typeof sHtml != 'string') return sHtml;
1861
- return sHtml.replace(/[<>&"]/g,function(c){
1862
- return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];
1863
- });
1864
- }
1865
- }
1866
- });
1867
- </script>
1868
- <style lang="less" scoped>
1869
- .r-scale {
1870
- position: relative;
1871
- width: 100%;
1872
- height: 100%;
1873
- overflow: hidden;
1874
- padding-top: 4px;
1875
- padding-bottom: 50px;
1876
- .scale-container {
1877
- width: 100%;
1878
- height: 100%;
1879
- padding-bottom: 10px;
1880
- transform-origin: 0 0;
1881
- overflow-y: auto;
1882
- box-sizing: border-box;
1883
- &.scale-container-nopadding {
1884
- height: 100%;
1885
- }
1886
- &::-webkit-scrollbar {
1887
- width: 10px;
1888
- }
1889
- }
1890
- /deep/ .no-data-tip {
1891
- width: 100%;
1892
- height: 100%;
1893
- }
1894
- .totalScore-warp {
1895
- padding: 16px;
1896
- margin-bottom: 16px;
1897
- font-weight: 400;
1898
- color: #666666;
1899
- background: #f2f2f4;
1900
- font-size: 14px;
1901
- border-radius: 6px;
1902
- div + div {
1903
- margin-top: 4px;
1904
- }
1905
- span {
1906
- font-weight: 500;
1907
- color: #090909;
1908
- }
1909
- .score-result {
1910
- color: #2d7aff;
1911
- }
1912
- }
1913
- /deep/ .ant-spin-spinning {
1914
- height: 100%;
1915
- width: 100%;
1916
- padding-top: 88px;
1917
- }
1918
- /deep/ .ant-select ~ div {
1919
- position: relative !important;
1920
- }
1921
- // /deep/.ant-select-dropdown {
1922
- // top: 0px !important;
1923
- // left: 1px !important;
1924
- // }
1925
- .lb-title {
1926
- text-align: center;
1927
- }
1928
- .map-container {
1929
- cursor: pointer;
1930
- /deep/ .ant-input-disabled {
1931
- color: rgba(0, 0, 0, 0.65);
1932
- background-color: #fff;
1933
- cursor: pointer;
1934
- }
1935
- }
1936
- .linebar-div {
1937
- text-align: center;
1938
- margin-top: 24px;
1939
- /deep/ .ant-divider {
1940
- margin-top: -4px;
1941
- }
1942
- }
1943
- .my-prompt {
1944
- padding: 10px;
1945
- box-shadow: 0 5px 13px rgba(0, 0, 0, 0.14);
1946
- background-color: #fff;
1947
- border-radius: 4px;
1948
- }
1949
- .img-card {
1950
- width: 100%;
1951
- }
1952
- }
1953
- .main {
1954
- // overflow: auto;
1955
- // overflow-x: hidden;
1956
- padding: 0 16px;
1957
- box-sizing: border-box;
1958
- /deep/.ant-form-item-required::before {
1959
- color: #e02828;
1960
- }
1961
- .scale-label-required {
1962
- font-weight: 700;
1963
- }
1964
- .required-text {
1965
- color: #e02828;
1966
- }
1967
- .evalute-label {
1968
- display: inline-block;
1969
- height: 20px;
1970
- line-height: 20px;
1971
- padding: 0 5px;
1972
- margin-left: 4px;
1973
- font-size: 12px;
1974
- color: #2d7aff;
1975
- border-radius: 4px;
1976
- border: 1px solid rgba(45, 122, 255, 0.5);
1977
- background: rgba(45, 122, 255, 0.1);
1978
- }
1979
- .evalute-tip {
1980
- display: inline-block;
1981
- padding: 0 5px;
1982
- margin-left: 8px;
1983
- color: #fe9626;
1984
- border-radius: 2px;
1985
- background: rgba(255, 194, 0, 0.15);
1986
- cursor: pointer;
1987
- .ant-icon {
1988
- margin-right: 2px;
1989
- }
1990
- }
1991
- /deep/ .ant-form-item-label {
1992
- // white-space: break-spaces;
1993
- white-space: unset;
1994
- text-align: left;
1995
- line-height: 20px;
1996
- padding: 6px 0;
1997
- width: 100%;
1998
- .ant-form-item-no-colon {
1999
- width: 100%;
2000
- }
2001
- }
2002
- }
2003
- .footer {
2004
- position: absolute;
2005
- bottom: 0;
2006
- left: 0;
2007
- width: 100%;
2008
- border-top: 1px solid #e8e8e8;
2009
- padding-top: 12px;
2010
- height: 50px;
2011
- box-sizing: border-box;
2012
- background: #fff;
2013
- }
2014
- .rich-text-content {
2015
- word-break: break-all;
2016
- /deep/ p {
2017
- margin-bottom: 0;
2018
- }
2019
- /deep/ img {
2020
- max-width: 100%;
2021
- }
2022
- }
2023
- .r-scale-v2 {
2024
- /deep/ .scale-container {
2025
-
2026
- .choice-radio-div .ant-radio-wrapper-disabled,
2027
- .choice-radio-div .ant-checkbox-wrapper-disabled {
2028
- padding: 4px;
2029
- box-sizing: border-box;
2030
- border: 1px solid transparent;
2031
-
2032
- }
2033
- .ant-radio-wrapper-checked.ant-radio-wrapper-disabled {
2034
- border-color: #2d7aff;
2035
- border-radius: 4px;
2036
- .choice-span {
2037
- color: #000 !important;
2038
- }
2039
- >.ant-radio-disabled {
2040
- .ant-radio-inner {
2041
- background-color: #fff !important;
2042
- border-color: #2d7aff !important;
2043
- &::after {
2044
- background-color: #2d7aff;
2045
- }
2046
- }
2047
- }
2048
- }
2049
- .ant-checkbox-wrapper-checked.ant-checkbox-wrapper-disabled {
2050
- border-color: #2d7aff;
2051
- border-radius: 4px;
2052
- .choice-span {
2053
- color: #000 !important;
2054
- }
2055
- >.ant-checkbox-disabled {
2056
- .ant-checkbox-inner {
2057
- background-color: #2d7aff;
2058
- border-color: #2d7aff !important;
2059
- &::after {
2060
- border-color: #fff !important;
2061
- }
2062
- }
2063
- }
2064
- }
2065
-
2066
- .ant-input-disabled {
2067
- color: #000 !important;
2068
- font-weight: 700;
2069
- }
2070
-
2071
- .ant-select-disabled {
2072
- .ant-select-selection-selected-value {
2073
- color: #000 !important;
2074
- font-weight: 700;
2075
- }
2076
- }
2077
-
2078
- .ant-cascader-picker-disabled {
2079
- .ant-cascader-picker-label {
2080
- color: #000 !important;
2081
- font-weight: 700;
2082
- }
2083
- }
2084
- }
2085
- }
2086
- </style>