|
|
@@ -2,18 +2,19 @@
|
|
|
<FormDialog width="640px" :title="title"
|
|
|
:visible="editFormDialogVisible"
|
|
|
:submitLoading="editFormDialogSubmitLoading"
|
|
|
- :defaultFormData="{...defaultFormData}"
|
|
|
- :formItemList="formItemList"
|
|
|
+ :defaultFormData="formData"
|
|
|
+ :formItemList="finalFormItemList"
|
|
|
:formDisabled="formDisabled"
|
|
|
@close="CloseFormDialog"
|
|
|
- @confirm="HandleConfirmFormDialog">
|
|
|
+ @confirm="HandleConfirmFormDialog"
|
|
|
+ @formItemChange="HandleFormItemChange">
|
|
|
</FormDialog>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { ref } from 'vue';
|
|
|
+import { computed, onMounted, ref,watch } from 'vue';
|
|
|
|
|
|
import FormDialog from '@/baseComponents/FormDialog.vue';
|
|
|
import {formItemList} from './formDialog'
|
|
|
@@ -32,9 +33,14 @@ const props = defineProps({
|
|
|
default:false
|
|
|
}
|
|
|
})
|
|
|
+
|
|
|
+const formData = ref({})
|
|
|
+
|
|
|
const editFormDialogVisible = defineModel('visible')
|
|
|
const editFormDialogSubmitLoading = ref(false)
|
|
|
|
|
|
+const finalFormItemList = ref(JSON.parse(JSON.stringify(formItemList.value)))
|
|
|
+
|
|
|
const CloseFormDialog = ()=>{
|
|
|
editFormDialogVisible.value = false
|
|
|
}
|
|
|
@@ -42,7 +48,58 @@ const HandleConfirmFormDialog = ()=>{
|
|
|
CloseFormDialog()
|
|
|
}
|
|
|
|
|
|
+const HandleFormItemChange =(params)=>{
|
|
|
+ const { key,val,formData } = params
|
|
|
+
|
|
|
+ switch(key){
|
|
|
+ case 'contact':
|
|
|
+ if(val){
|
|
|
+ finalFormItemList.value = finalFormItemList.value.map(item=>{
|
|
|
+ if(item.key == 'position'){
|
|
|
+ item.hidden = false
|
|
|
+ }
|
|
|
+ return item
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ finalFormItemList.value = finalFormItemList.value.map(item=>{
|
|
|
+ if(item.key == 'position'){
|
|
|
+ item.hidden = true
|
|
|
+ }
|
|
|
+ return item
|
|
|
+ })
|
|
|
+ }
|
|
|
+ break
|
|
|
+ case 'appointmentType':
|
|
|
+ if(val == 'appointment'){
|
|
|
+ finalFormItemList.value = finalFormItemList.value.map(item=>{
|
|
|
+ if(item.key == 'appointmentTime'){
|
|
|
+ item.hidden = false
|
|
|
+ }else if(item.key == 'todoTime'){
|
|
|
+ item.hidden = true
|
|
|
+ }{}
|
|
|
+ return item
|
|
|
+ })
|
|
|
+ }else if(val == 'todo'){
|
|
|
+ finalFormItemList.value = finalFormItemList.value.map(item=>{
|
|
|
+ if(item.key == 'appointmentTime'){
|
|
|
+ item.hidden = true
|
|
|
+ }else if(item.key == 'todoTime'){
|
|
|
+ item.hidden = false
|
|
|
+ }{}
|
|
|
+ return item
|
|
|
+ })
|
|
|
+ }
|
|
|
+ break
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+watch(()=>props.defaultFormData,(newVal)=>{
|
|
|
+ formData.value = {...newVal}
|
|
|
+},{immediate:true})
|
|
|
|
|
|
+onMounted(()=>{
|
|
|
+ console.log('页面加载了--',formItemList.value)
|
|
|
+})
|
|
|
</script>
|
|
|
|
|
|
|