selectArea.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <template>
  2. <a-modal
  3. v-model:visible="modeVisible"
  4. class="custom-class"
  5. title="选择角色"
  6. placement="right"
  7. width="1000px"
  8. :closable="false"
  9. @close="visible=false"
  10. @ok="submit">
  11. <normalTable :filterMultiple="true" rowKey="w_areaid" ref="list" size="small" :param="param" :columns="utils.TBLayout('areaTable')" @onSelect="onSelect" @handleList="handleList">
  12. <template #tb_cell="{data}">
  13. {{ data.record[data.column.dataIndex] }}
  14. </template>
  15. </normalTable>
  16. </a-modal>
  17. <slot name="input"></slot>
  18. </template>
  19. <script setup>
  20. import {ref, defineProps, defineEmits} from 'vue'
  21. import utils from '@/utils/utils'
  22. import normalTable from '@/template/normalTable/index.vue'
  23. let modeVisible = ref(false)
  24. let param = ref({id:20230608152602,content:{condition:''}})
  25. let emit = defineEmits(['selectRoles'])
  26. let result = ref('')
  27. let submit = () => {
  28. emit('selectRoles',result.value)
  29. modeVisible.value = false
  30. }
  31. let onSelect = (data) => {
  32. console.log(data);
  33. result.value = data
  34. }
  35. let handleList = (data) => {
  36. }
  37. defineExpose({
  38. modeVisible,
  39. })
  40. </script>
  41. <style scoped>
  42. </style>