人民医院前端

selectDeptTree.vue 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <template>
  2. <el-cascader ref="cascader" :span="24" v-model="deptparam" :options="orderData" :props="defaultProps" style="width: 100%;" placeholder="请选择部门" filterable clearable @change="handleChange"/>
  3. </template>
  4. <script>
  5. import {
  6. getDeptTree
  7. } from '@/api/systemSetup/roleSetting/userManage'
  8. export default {
  9. name: 'SelectDeptTree',
  10. props: {
  11. deptparam: {
  12. type: Array,
  13. default: []
  14. },
  15. deptparamName: {
  16. type: String,
  17. default: ''
  18. }
  19. },
  20. data() {
  21. return {
  22. defaultProps: {
  23. checkStrictly: true,
  24. children: 'children',
  25. label: 'text',
  26. value: 'id'
  27. },
  28. // deptids: [],
  29. parentid: '-1',
  30. orderData: []
  31. }
  32. },
  33. watch: {
  34. },
  35. created() {
  36. // 默认数据加载
  37. this.getTreeList()
  38. },
  39. methods: {
  40. getTreeList() {
  41. return new Promise((resolve) => {
  42. getDeptTree(this.parentid).then((response) => {
  43. if (response.state.toLowerCase() === 'success') {
  44. this.orderData = response.data
  45. }
  46. })
  47. resolve()
  48. })
  49. },
  50. handleChange(data) {
  51. console.log(data)
  52. // console.log(Number(data[data.length - 1]))
  53. this.$emit('post-deptid', data)
  54. // this.$emit('post-deptid',Number(data[data.length - 1]))
  55. }
  56. }
  57. }
  58. </script>
  59. <style>
  60. </style>