Преглед на файлове

评估、会计开票中添加‘是否多张开票’

lizhenhao преди 2 години
родител
ревизия
356cf23198

+ 15 - 3
src/views/modules/cw/invoice/InvoiceForm.vue

@@ -265,6 +265,15 @@
               </el-input-number>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否多张开票" prop="isMultiple"
+                          :rules="[
+                        {required: true, message:'是否多张开票不能为空', trigger:'blur'}
+               ]">
+              <el-radio v-model="inputForm.isMultiple" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+                {{item.label}}</el-radio>
+            </el-form-item>
+          </el-col>
           <el-col :span="24">
             <el-form-item label="开票内容要求" prop="billingContentTerms"
                           :rules="[
@@ -640,7 +649,8 @@
           financeInvoiceInvalidDTO: {},
           receivablesDate: '',
           receivablesStatus: '',
-          isReceivables: ''
+          isReceivables: '',
+          isMultiple: ''
         },
         programRow: '',
         bankList: [],
@@ -728,7 +738,8 @@
           },
           receivablesDate: '',
           receivablesStatus: '',
-          isReceivables: ''
+          isReceivables: '',
+          isMultiple: ''
         }
         this.inputForm.id = id
         this.visible = true
@@ -919,7 +930,8 @@
           financeInvoiceInvalidDTO: {},
           receivablesDate: '',
           receivablesStatus: '',
-          isReceivables: ''
+          isReceivables: '',
+          isMultiple: ''
         }
         this.bankList = []
         this.detailFlag = false

+ 28 - 3
src/views/modules/cw/invoice/InvoiceFormTask.vue

@@ -255,6 +255,16 @@
             </el-input-number>
           </el-form-item>
         </el-col>
+        <el-col :span="12">
+          <el-form-item label="是否多张开票" prop="isMultiple"
+                        :rules="[
+                        {required: true, message:'是否多张开票不能为空', trigger:'blur'}
+               ]">
+            <el-radio v-model="inputForm.isMultiple" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+              {{item.label}}
+            </el-radio>
+          </el-form-item>
+        </el-col>
         <el-col :span="24">
           <el-form-item label="开票内容要求" prop="billingContentTerms"
                         :rules="[
@@ -674,7 +684,8 @@
           workAttachmentDtoList: [],
           financeInvoiceDetailDTOList: [],
           financeInvoiceReceivablesDTOList: [],
-          financeInvoiceInvalidDTO: {}
+          financeInvoiceInvalidDTO: {},
+          isMultiple: ''
         },
         programRow: '',
         bankList: [],
@@ -780,7 +791,8 @@
             invalidStatus: '',
             invoiceId: '',
             remarks: ''
-          }
+          },
+          isMultiple: ''
         }
         // if (method === 'add') {
         //   this.title = `新建发票`
@@ -818,6 +830,10 @@
             if (this.commonJS.isEmpty(this.inputForm.financeInvoiceReceivablesDTOList) || this.inputForm.financeInvoiceReceivablesDTOList.length === 0) {
               this.inputForm.financeInvoiceReceivablesDTOList = []
             }
+            if (this.commonJS.isEmpty(this.inputForm.isMultiple) && this.status !== 'taskFormDetail') {
+              // 是否多张开票  默认为 0 否
+              this.inputForm.isMultiple = '0'
+            }
             if (this.status === 'audit' || this.status === 'taskFormDetail') {
               method = 'view'
             }
@@ -996,6 +1012,14 @@
           if (valid) {
             this.loading = true
             this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
+            if (this.inputForm.isMultiple === '1') {
+              // 是否多张开票,若选择是,则附件必须上传文件
+              if (this.commonJS.isEmpty(this.inputForm.workAttachmentDtoList)) {
+                this.loading = false
+                this.$message.error('需上传开票明细相关文件')
+                throw new Error('需上传开票明细相关文件')
+              }
+            }
             this.financeInvoiceService.saveForm(this.inputForm).then(({data}) => {
               if (status === 'start' || status === 'reapply') {
                 this.inputForm.title = `${this.$store.state.user.name} 发起了 ${data.no} [财务-发票申请]`
@@ -1048,7 +1072,8 @@
           workAttachmentDtoList: [],
           financeInvoiceDetailDTOList: [],
           financeInvoiceReceivablesDTOList: [],
-          financeInvoiceInvalidDTO: {}
+          financeInvoiceInvalidDTO: {},
+          isMultiple: ''
         }
         this.bankList = []
         this.visible = false

+ 17 - 4
src/views/modules/cw/invoice/InvoiceFormTaskInvalid.vue

@@ -256,6 +256,16 @@
             </el-input-number>
           </el-form-item>
         </el-col>
+        <el-col :span="12">
+          <el-form-item label="是否多张开票" prop="isMultiple"
+                        :rules="[
+                        {required: true, message:'是否多张开票不能为空', trigger:'blur'}
+               ]">
+            <el-radio v-model="inputForm.isMultiple" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+              {{item.label}}
+            </el-radio>
+          </el-form-item>
+        </el-col>
         <el-col :span="24">
           <el-form-item label="开票内容要求" prop="billingContentTerms"
                         :rules="[
@@ -615,7 +625,8 @@
           financeInvoiceDetailDTOList: [],
           financeInvoiceReceivablesDTOList: [],
           financeInvoiceInvalidDTO: {},
-          invalidStatus: ''
+          invalidStatus: '',
+          isMultiple: ''
         },
         programRow: '',
         bankList: [],
@@ -720,7 +731,8 @@
             invoiceId: '',
             remarks: ''
           },
-          invalidStatus: ''
+          invalidStatus: '',
+          isMultiple: ''
         }
         // if (method === 'add') {
         //   this.title = `新建发票`
@@ -775,7 +787,7 @@
                 allAmount: ''
               })
             }
-            this.$refs.uploadComponent.newUpload(method, this.inputForm.workAttachmentDtoList, 'invoice')
+            this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'invoice')
             this.loading = false
           })
         })
@@ -975,7 +987,8 @@
           financeInvoiceDetailDTOList: [],
           financeInvoiceReceivablesDTOList: [],
           financeInvoiceInvalidDTO: {},
-          invalidStatus: ''
+          invalidStatus: '',
+          isMultiple: ''
         }
         this.bankList = []
         this.visible = false

+ 15 - 3
src/views/modules/finance/invoice/InvoiceForm.vue

@@ -263,6 +263,15 @@
               </el-input-number>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否多张开票" prop="isMultiple"
+                          :rules="[
+                        {required: true, message:'是否多张开票不能为空', trigger:'blur'}
+               ]">
+              <el-radio v-model="inputForm.isMultiple" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+                {{item.label}}</el-radio>
+            </el-form-item>
+          </el-col>
           <el-col :span="24">
             <el-form-item label="开票内容要求" prop="billingContentTerms"
                           :rules="[
@@ -638,7 +647,8 @@
           financeInvoiceInvalidDTO: {},
           receivablesDate: '',
           receivablesStatus: '',
-          isReceivables: ''
+          isReceivables: '',
+          isMultiple: ''
         },
         programRow: '',
         bankList: [],
@@ -726,7 +736,8 @@
           },
           receivablesDate: '',
           receivablesStatus: '',
-          isReceivables: ''
+          isReceivables: '',
+          isMultiple: ''
         }
         this.inputForm.id = id
         this.visible = true
@@ -909,7 +920,8 @@
           financeInvoiceInvalidDTO: {},
           receivablesDate: '',
           receivablesStatus: '',
-          isReceivables: ''
+          isReceivables: '',
+          isMultiple: ''
         }
         this.bankList = []
         this.detailFlag = false

+ 29 - 3
src/views/modules/finance/invoice/InvoiceFormTask.vue

@@ -255,6 +255,16 @@
             </el-input-number>
           </el-form-item>
         </el-col>
+        <el-col :span="12">
+          <el-form-item label="是否多张开票" prop="isMultiple"
+                        :rules="[
+                        {required: true, message:'是否多张开票不能为空', trigger:'blur'}
+               ]">
+            <el-radio v-model="inputForm.isMultiple" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+              {{item.label}}
+            </el-radio>
+          </el-form-item>
+        </el-col>
         <el-col :span="24">
           <el-form-item label="开票内容要求" prop="billingContentTerms"
                         :rules="[
@@ -658,7 +668,8 @@
           workAttachmentDtoList: [],
           financeInvoiceDetailDTOList: [],
           financeInvoiceReceivablesDTOList: [],
-          financeInvoiceInvalidDTO: {}
+          financeInvoiceInvalidDTO: {},
+          isMultiple: ''
         },
         programRow: '',
         bankList: [],
@@ -686,6 +697,7 @@
     computed: {
       bus: {
         get () {
+          this.$refs.uploadComponent.setDividerName('附件')
           return this.businessId
         },
         set (val) {
@@ -763,7 +775,8 @@
             invalidStatus: '',
             invoiceId: '',
             remarks: ''
-          }
+          },
+          isMultiple: ''
         }
         // if (method === 'add') {
         //   this.title = `新建发票`
@@ -794,6 +807,10 @@
             if (this.commonJS.isEmpty(this.inputForm.financeInvoiceReceivablesDTOList) || this.inputForm.financeInvoiceReceivablesDTOList.length === 0) {
               this.inputForm.financeInvoiceReceivablesDTOList = []
             }
+            if (this.commonJS.isEmpty(this.inputForm.isMultiple) && this.status !== 'taskFormDetail') {
+              // 是否多张开票  默认为 0 否
+              this.inputForm.isMultiple = '0'
+            }
             if (this.status === 'audit' || this.status === 'taskFormDetail') {
               method = 'view'
             }
@@ -972,6 +989,14 @@
           if (valid) {
             this.loading = true
             this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
+            if (this.inputForm.isMultiple === '1') {
+              // 是否多张开票,若选择是,则附件必须上传文件
+              if (this.commonJS.isEmpty(this.inputForm.workAttachmentDtoList)) {
+                this.loading = false
+                this.$message.error('需上传开票明细相关文件')
+                throw new Error('需上传开票明细相关文件')
+              }
+            }
             this.financeInvoiceService.saveForm(this.inputForm).then(({data}) => {
               this.inputForm.id = data.businessId
               callback(data.businessTable, data.businessId, this.inputForm)
@@ -1021,7 +1046,8 @@
           workAttachmentDtoList: [],
           financeInvoiceDetailDTOList: [],
           financeInvoiceReceivablesDTOList: [],
-          financeInvoiceInvalidDTO: {}
+          financeInvoiceInvalidDTO: {},
+          isMultiple: ''
         }
         this.bankList = []
         this.visible = false

+ 17 - 4
src/views/modules/finance/invoice/InvoiceFormTaskInvalid.vue

@@ -256,6 +256,16 @@
             </el-input-number>
           </el-form-item>
         </el-col>
+        <el-col :span="12">
+          <el-form-item label="是否多张开票" prop="isMultiple"
+                        :rules="[
+                        {required: true, message:'是否多张开票不能为空', trigger:'blur'}
+               ]">
+            <el-radio v-model="inputForm.isMultiple" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
+              {{item.label}}
+            </el-radio>
+          </el-form-item>
+        </el-col>
         <el-col :span="24">
           <el-form-item label="开票内容要求" prop="billingContentTerms"
                         :rules="[
@@ -615,7 +625,8 @@
           financeInvoiceDetailDTOList: [],
           financeInvoiceReceivablesDTOList: [],
           financeInvoiceInvalidDTO: {},
-          invalidStatus: ''
+          invalidStatus: '',
+          isMultiple: ''
         },
         programRow: '',
         bankList: [],
@@ -719,7 +730,8 @@
             invoiceId: '',
             remarks: ''
           },
-          invalidStatus: ''
+          invalidStatus: '',
+          isMultiple: ''
         }
         // if (method === 'add') {
         //   this.title = `新建发票`
@@ -766,7 +778,7 @@
                 allAmount: ''
               })
             }
-            this.$refs.uploadComponent.newUpload(method, this.inputForm.workAttachmentDtoList, 'invoice')
+            this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'invoice')
             this.loading = false
           })
         })
@@ -966,7 +978,8 @@
           financeInvoiceDetailDTOList: [],
           financeInvoiceReceivablesDTOList: [],
           financeInvoiceInvalidDTO: {},
-          invalidStatus: ''
+          invalidStatus: '',
+          isMultiple: ''
         }
         this.bankList = []
         this.visible = false