index.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <FormDialog width="640px" :title="title"
  3. :visible="editFormDialogVisible"
  4. :submitLoading="editFormDialogSubmitLoading"
  5. :defaultFormData="defaultFormData"
  6. :formItemList="formItemList"
  7. @close="CloseFormDialog"
  8. @confirm="HandleConfirmFormDialog">
  9. </FormDialog>
  10. </template>
  11. <script setup lang="ts">
  12. import { onMounted, ref } from 'vue';
  13. import { useStore } from 'vuex';
  14. import FormDialog from '@/baseComponents/FormDialog.vue';
  15. import {formItemList} from './formDialog'
  16. const props = defineProps({
  17. defaultFormData:{
  18. type:Object,
  19. required:true
  20. },
  21. title:{
  22. type:String,
  23. default:'标题'
  24. }
  25. })
  26. const emit = defineEmits(['confirm'])
  27. const editFormDialogVisible = defineModel('visible')
  28. const editFormDialogSubmitLoading = defineModel('submitLoading')
  29. const store = useStore()
  30. const CloseFormDialog = ()=>{
  31. editFormDialogVisible.value = false
  32. }
  33. const HandleConfirmFormDialog = (params:any)=>{
  34. emit('confirm',params)
  35. }
  36. // 获取职位列表信息
  37. const GetPositionList = async ()=>{
  38. await store.dispatch('updatePositionList')
  39. let positionOption = store.state.positionList
  40. formItemList.value = formItemList.value.map(item=>{
  41. if(item.key == 'position'){
  42. item.selectList = positionOption
  43. }
  44. return item
  45. })
  46. }
  47. onMounted(()=>{
  48. GetPositionList()
  49. })
  50. </script>
  51. <style lang="scss" scoped>
  52. </style>