cnhis-design-vue 0.2.64-beta → 0.3.2-beta

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