12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <template>
- <div ref="commissionContractModalRef">
- <BasicModal v-bind="$attrs" @register="registerModal" :title="title" width="95%" @ok="handleSubmit" :getContainer ='()=>$refs.commissionContractModalRef' :maskClosable="false">
- <commissionContractFormForm ref="formComponent" :formDisabled="formDisabled" :formBpm="false" @success="submitSuccess"></commissionContractFormForm>
- </BasicModal>
- </div>
- </template>
- <script lang="ts">
- import { ref, unref } from 'vue';
- import { BasicModal, useModalInner } from '/@/components/Modal';
- import commissionContractFormForm from './commissionContractFormForm.vue';
- export default {
- name: "commissionContractModal",
- components:{
- BasicModal,
- commissionContractFormForm
- },
- emits:['register','success'],
- setup(_p, {emit}){
- const formComponent = ref()
- const isUpdate = ref(true);
- const formDisabled = ref(false);
- const title = ref('')
- var SaleOrderDetailsRef = ref()
- //表单赋值
- const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
- setModalProps({confirmLoading: false,showCancelBtn:data?.showFooter,showOkBtn:data?.showFooter});
- isUpdate.value = !!data?.isUpdate;
- formDisabled.value = !data?.showFooter;
- title.value = data?.isUpdate ? (unref(formDisabled) ? '详情' : '编辑') : '新增';
- if (unref(isUpdate)) {
- 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,
- SaleOrderDetailsRef,
- }
- }
- }
- </script>
- <style lang="less" scoped>
- /** 时间和数字输入框样式 */
- :deep(.ant-input-number) {
- width: 100%;
- }
- :deep(.ant-calendar-picker) {
- width: 100%;
- }
- /deep/.ant-modal {
- // width: 520px;
- padding-bottom: 0;
- margin-top: -10px;
- height: 100%;
- }
- </style>
|