PurchaseOrderFormModal.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <div ref="SaleOrderDetailsRef">
  3. <BasicModal v-bind="$attrs" @register="registerModal" :title="title" width="95%" @ok="handleSubmit" :getContainer ='()=>$refs.SaleOrderDetailsRef'>
  4. <PurchaseOrderFormForm ref="formComponent" :formDisabled="formDisabled" :formBpm="false" @success="submitSuccess"></PurchaseOrderFormForm>
  5. </BasicModal>
  6. </div>
  7. </template>
  8. <script lang="ts">
  9. import { ref, unref } from 'vue';
  10. import { BasicModal, useModalInner } from '/@/components/Modal';
  11. import PurchaseOrderFormForm from './PurchaseOrderFormForm.vue';
  12. export default {
  13. name: "SaleOrderFormModal",
  14. components:{
  15. BasicModal,
  16. PurchaseOrderFormForm
  17. },
  18. emits:['register','success'],
  19. setup(_p, {emit}){
  20. const formComponent = ref()
  21. const isUpdate = ref(true);
  22. const formDisabled = ref(false);
  23. const title = ref('')
  24. var SaleOrderDetailsRef = ref()
  25. //表单赋值
  26. const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
  27. setModalProps({confirmLoading: false,showCancelBtn:data?.showFooter,showOkBtn:data?.showFooter});
  28. if(!data.isCopy){
  29. isUpdate.value = !!data?.isUpdate;
  30. formDisabled.value = !data?.showFooter;
  31. title.value = data?.isUpdate ? (unref(formDisabled) ? '详情' : '编辑') : '新增';
  32. title.value = data.isRevise?'修订':title.value;
  33. if (unref(isUpdate)) {
  34. formComponent.value.edit(data.record)
  35. }else{
  36. formComponent.value.add()
  37. }
  38. }else{
  39. isUpdate.value = !!data?.isUpdate;
  40. formDisabled.value = !data?.showFooter;
  41. title.value = '新增'
  42. formComponent.value.copy(data.data,data.mainId)
  43. }
  44. });
  45. function handleSubmit() {
  46. formComponent.value.submitForm();
  47. }
  48. function submitSuccess(){
  49. emit('success');
  50. closeModal();
  51. }
  52. function getVersionDetail(record){
  53. setModalProps({open: true,showOkBtn:false});
  54. title.value ='详情'
  55. formDisabled.value = true
  56. setTimeout(()=>{
  57. formComponent.value.VersionDetail(record)
  58. },100)
  59. }
  60. return {
  61. registerModal,
  62. title,
  63. formComponent,
  64. formDisabled,
  65. handleSubmit,
  66. submitSuccess,
  67. SaleOrderDetailsRef,
  68. getVersionDetail
  69. }
  70. }
  71. }
  72. </script>
  73. <style lang="less" scoped>
  74. /** 时间和数字输入框样式 */
  75. :deep(.ant-input-number) {
  76. width: 100%;
  77. }
  78. :deep(.ant-calendar-picker) {
  79. width: 100%;
  80. }
  81. /deep/.ant-modal {
  82. // width: 520px;
  83. padding-bottom: 0;
  84. margin-top: -10px;
  85. height: 100%;
  86. }
  87. </style>