68 lines
1.8 KiB
Vue
68 lines
1.8 KiB
Vue
<template>
|
|
<BasicModal v-bind="$attrs" @register="registerModal" :title="title" :width="800" @ok="handleSubmit">
|
|
<zy-jxdg-banben-form ref="formComponent" :formDisabled="formDisabled" :formBpm="false" @success="submitSuccess"></zy-jxdg-banben-form>
|
|
</BasicModal>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import { ref, unref } from 'vue';
|
|
import { BasicModal, useModalInner } from '/@/components/Modal';
|
|
import ZyJxdgBanbenForm from './ZyJxdgBanbenEditForm.vue';
|
|
|
|
export default {
|
|
name: "TestCgMainVxeModal",
|
|
components:{
|
|
BasicModal,
|
|
ZyJxdgBanbenForm
|
|
},
|
|
emits:['register','success'],
|
|
setup(_p, {emit}){
|
|
const formComponent = ref()
|
|
const isUpdate = ref(true);
|
|
const formDisabled = ref(false);
|
|
const title = ref('')
|
|
|
|
//表单赋值
|
|
const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
|
|
setModalProps({confirmLoading: false,showCancelBtn:data?.showFooter,showOkBtn:data?.showFooter});
|
|
isUpdate.value = !!data?.isUpdate;
|
|
title.value = '填写'
|
|
formDisabled.value = !data?.showFooter;
|
|
if (unref(isUpdate)) {
|
|
console.log('data', data)
|
|
formComponent.value.edit(data.record)
|
|
}else{
|
|
formComponent.value.add()
|
|
}
|
|
});
|
|
|
|
function handleSubmit() {
|
|
formComponent.value.submitForm();
|
|
}
|
|
|
|
function submitSuccess(){
|
|
emit('success');
|
|
closeModal();
|
|
}
|
|
|
|
return {
|
|
registerModal,
|
|
title,
|
|
formComponent,
|
|
formDisabled,
|
|
handleSubmit,
|
|
submitSuccess
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="less" scoped>
|
|
/** 时间和数字输入框样式 */
|
|
:deep(.ant-input-number){
|
|
width: 100%
|
|
}
|
|
|
|
:deep(.ant-calendar-picker){
|
|
width: 100%
|
|
}
|
|
</style> |