audit-tree-picker.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <template>
  2. <audit-value-picker ref="picker" v-bind="$props" :selectclick="selectclick" v-on="$listeners">
  3. <template v-if="$scopedSlots.suffixIcon" v-slot:suffixIcon>
  4. <!-- @slot input框最后的图标 -->
  5. <slot name="suffixIcon" />
  6. </template>
  7. <template v-slot:targetListHeader="scope">
  8. <!--
  9. @slot 右侧列表顶部<p>8.0.7 新增</p>
  10. @binding targetKeys {array} 右侧列表所有项目的 key 值
  11. @binding targetValues {array} 右侧列表所有项目的完整 Object 值
  12. -->
  13. <slot
  14. :targetKeys="scope.targetKeys"
  15. :targetValues="scope.targetValues"
  16. name="targetListHeader"
  17. />
  18. </template>
  19. <template v-slot="scope">
  20. <AuditPickerSourceTree ref="tree" v-bind="{ ...$props, ...scope }" />
  21. </template>
  22. </audit-value-picker>
  23. </template>
  24. <script>
  25. import pickerMixinInternal from './picker-mixin-internal'
  26. import AuditPickerSourceTree from './audit-picker-source-tree.vue'
  27. import auditValuePicker from './audit-value-picker.vue'
  28. import components from './_import-components/audit-tree-picker-import'
  29. /**
  30. * input框,通过弹出对话框,从树形结构中选择数据
  31. * @displayName SdTreePicker 树选择器
  32. */
  33. export default {
  34. name: 'AuditTreePicker',
  35. components: {
  36. ...components,
  37. AuditPickerSourceTree,
  38. auditValuePicker,
  39. },
  40. mixins: [pickerMixinInternal],
  41. props: {
  42. selectclick: {
  43. type: Function,
  44. default: null,
  45. },
  46. /**
  47. * 根节点{code:'200000',name:'西安分公司'}
  48. */
  49. rootNode: {
  50. type: [Object, Array],
  51. default: undefined,
  52. },
  53. /**
  54. * <p>获取数据的回调,获取根节点时,parentId为undefined</p>
  55. * <pre>(parentId,parent) => childrenItems</pre>
  56. */
  57. loadTreeData: {
  58. type: Function,
  59. required: true,
  60. },
  61. /**
  62. * <p>搜索数据的回调</p>
  63. * <pre>(searchText) => items</pre>
  64. * @since 8.0.2
  65. */
  66. searchTreeData: {
  67. type: Function,
  68. default: undefined,
  69. },
  70. /**
  71. * 默认展开指定的树节点
  72. * @since 8.0.7
  73. */
  74. defaultExpandedKeys: {
  75. type: Array,
  76. default: undefined,
  77. },
  78. moduleId: {
  79. type: String,
  80. default: undefined,
  81. },
  82. // 特殊树不需要获取节点
  83. selectchecked: {
  84. type: Boolean,
  85. default: false,
  86. },
  87. },
  88. }
  89. </script>
  90. <style module lang="scss">
  91. @use '@/common/design' as *;
  92. </style>