Przeglądaj źródła

选择其他类进行开票,则在发票信息中添加选择项“报备类型”(项目中的报备类型)用于对其他类开票数据的展示

lijt 1 rok temu
rodzic
commit
65de02621d

+ 22 - 2
src/views/modules/cw/invoice/InvoiceForm.vue

@@ -243,6 +243,7 @@
               </el-select>
             </el-form-item>
           </el-col>
+
           <el-col :span="12">
             <el-form-item label="开票内容" prop="billingContent"
                           :rules="[
@@ -257,7 +258,8 @@
                 </el-option>
               </el-select>
             </el-form-item>
-<!--          </el-col>-->
+
+          </el-col>
 <!--          <el-col :span="12">
             <el-form-item label="发票金额(元)" prop="account"
                           :rules="[
@@ -276,8 +278,23 @@
                 clearable>
               </el-input-number>
             </el-form-item>
+          </el-col>-->
+          <el-col :span="12">
+            <el-form-item v-if="" label="报备类型" prop="reportType"
+                          :rules="[
+                                 {required: true, message:'报备类型不能为空', trigger:'blur'}
+                  ]">
+              <el-select v-model="inputForm.reportType" placeholder="请选择报备类型" clearable style="width: 100%;">
+                <el-option
+                  v-for="item in $dictUtils.getDictList('cw_work_client_report_type')"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
           </el-col>
-          <el-col :span="12">-->
+          <el-col :span="12">
             <el-form-item label="是否多张开票" prop="isMultiple"
                           :rules="[
                         {required: true, message:'是否多张开票不能为空', trigger:'blur'}
@@ -648,6 +665,7 @@
           bankAccount: '',
           receivablesType: '2',
           billingContent: '',
+          reportType: '',
           account: '',
           billingContentTerms: '',
           billingPeople: JSON.parse(localStorage.getItem('user')).name,
@@ -734,6 +752,7 @@
           bankAccount: '',
           receivablesType: '2',
           billingContent: '',
+          reportType: '',
           account: '',
           billingContentTerms: '',
           billingPeople: JSON.parse(localStorage.getItem('user')).name,
@@ -934,6 +953,7 @@
           bankAccount: '',
           receivablesType: '2',
           billingContent: '',
+          reportType: '',
           account: '',
           billingContentTerms: '',
           billingPeople: '',

+ 95 - 20
src/views/modules/cw/invoice/InvoiceFormTask.vue

@@ -257,6 +257,23 @@
             </el-select>
           </el-form-item>
         </el-col>
+
+
+        <el-col :span="12">
+          <el-form-item v-if="bj!== ''" label="报备类型" prop="reportType"
+                        :rules="[
+                                 {required: true, message:'报备类型不能为空', trigger:'blur'}
+                  ]">
+            <el-select v-model="inputForm.reportType" placeholder="请选择报备类型" clearable style="width: 100%;">
+              <el-option
+                v-for="item in $dictUtils.getDictList('cw_work_client_report_type')"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
 <!--        <el-col :span="12">-->
 <!--          <el-form-item label="发票金额(元)" prop="account"-->
 <!--                        :rules="[-->
@@ -681,6 +698,7 @@
             { required: true, message: '请填写发票金额' }
           ]
         },
+        bj: '',
         title: '',
         method: '',
         visible: false,
@@ -706,6 +724,7 @@
           bankAccount: '',
           receivablesType: '2',
           billingContent: '',
+          reportType: '',
           account: '',
           billingContentTerms: '',
           billingPeople: JSON.parse(localStorage.getItem('user')).name,
@@ -813,6 +832,7 @@
           bankAccount: '',
           receivablesType: '2',
           billingContent: '',
+          reportType: '',
           account: '',
           billingContentTerms: '',
           billingPeople: JSON.parse(localStorage.getItem('user')).name,
@@ -995,6 +1015,7 @@
           }).catch(() => {
             this.loading = false
           })
+          console.log('this.inputForm.financeInvoiceBaseDTOList', this.inputForm.financeInvoiceBaseDTOList)
           return
         } else if (status === 'start') {
           // 送审  待审核
@@ -1117,6 +1138,7 @@
         })
       },
       close () {
+        this.bj = ''
         this.$refs.uploadComponent.clearUpload()
         this.$refs.inputForm.resetFields()
         this.inputForm = {
@@ -1139,6 +1161,7 @@
           bankAccount: '',
           receivablesType: '2',
           billingContent: '',
+          reportType: '',
           account: '',
           billingContentTerms: '',
           billingPeople: '',
@@ -1177,7 +1200,6 @@
         }
         if (type === 'detail') {
           this.$refs.detailTable.insert().then((data) => {
-            console.log('123456')
             console.log('this.input.actualPrice, ', this.inputForm.actualPrice)
             data.account = this.inputForm.actualPrice
             this.inputForm.financeInvoiceDetailDTOList.push(data)
@@ -1203,6 +1225,7 @@
           this.$refs.receivablesTable.remove(row)
           this.inputForm.financeInvoiceReceivablesDTOList.splice(rowIndex, 1)
         }
+        this.bj = ''
       },
       openProgramPageForm (rowIndex) {
         if (this.commonJS.isEmpty(this.inputForm.financeInvoiceBaseDTOList[0].programName) || this.inputForm.financeInvoiceBaseDTOList.length === 1) {
@@ -1217,28 +1240,80 @@
         this.programRow = rowIndex
       },
       getProgram (rows) {
+        console.log('rows2', rows)
         rows.forEach((item, index) => {
-          if (index === 0) {
-            let r = this.inputForm.financeInvoiceBaseDTOList[this.programRow]
-            r.programName = item.projectName
-            r.contractName = item.contractName
-            r.programNo = item.projectNumber
-            r.contractId = item.contractId
-            r.programId = item.id
-            r.reportNo = item.reportNo
-            this.inputForm.financeInvoiceBaseDTOList[this.programRow] = r
+          if (!this.commonJS.isEmpty(rows.bj1)) {
+            this.bj = rows.bj1
+            if (index === 0) {
+              let r = this.inputForm.financeInvoiceBaseDTOList[this.programRow]
+              r.programName = item.projectName
+              r.contractName = item.contractName
+              r.programNo = item.projectNumber
+              r.contractId = item.contractId
+              r.programId = item.id
+              r.reportNo = item.reportNo
+              this.inputForm.financeInvoiceBaseDTOList[this.programRow] = r
+            } else {
+              let r = {
+                programName: item.projectName,
+                contractName: item.contractName,
+                programNo: item.projectNumber,
+                contractId: item.contractId,
+                programId: item.id,
+                reportNo: item.reportNo
+              }
+              this.$refs.baseTable.insertAt(r)
+              this.inputForm.financeInvoiceBaseDTOList.push(r)
+              this.baseKey = Math.random()
+            }
+          }
+          if (!this.commonJS.isEmpty(rows.bj)) {
+            // this.bj = rows.bj
+            console.log('交流空间')
+            if (index === 0) {
+              let r = this.inputForm.financeInvoiceBaseDTOList[this.programRow]
+              r.programName = item.projectName
+              r.contractName = item.contractName
+              r.programNo = item.projectNumber
+              r.reportId = item.id
+              r.reportNo = item.reportNo
+              this.inputForm.financeInvoiceBaseDTOList[this.programRow] = r
+              console.log('this.inputForm.financeInvoiceBaseDTOList', this.inputForm.financeInvoiceBaseDTOList)
+            } else {
+              let r = {
+                programName: item.projectName,
+                contractName: item.contractName,
+                programNo: item.projectNumber,
+                reportId: item.id,
+                reportNo: item.reportNo
+              }
+              this.$refs.baseTable.insertAt(r)
+              this.inputForm.financeInvoiceBaseDTOList.push(r)
+              this.baseKey = Math.random()
+            }
           } else {
-            let r = {
-              programName: item.projectName,
-              contractName: item.contractName,
-              programNo: item.projectNumber,
-              contractId: item.contractId,
-              programId: item.id,
-              reportNo: item.reportNo
+            if (index === 0) {
+              let r = this.inputForm.financeInvoiceBaseDTOList[this.programRow]
+              r.programName = item.projectName
+              r.contractName = item.contractName
+              r.programNo = item.projectNumber
+              r.contractId = item.contractId
+              r.programId = item.id
+              r.reportNo = item.reportNo
+              this.inputForm.financeInvoiceBaseDTOList[this.programRow] = r
+            } else {
+              let r = {
+                programName: item.projectName,
+                contractName: item.contractName,
+                programNo: item.projectNumber,
+                contractId: item.contractId,
+                programId: item.id,
+                reportNo: item.reportNo
+              }
+              this.$refs.baseTable.insertAt(r)
+              this.inputForm.financeInvoiceBaseDTOList.push(r)
+              this.baseKey = Math.random()
             }
-            this.$refs.baseTable.insertAt(r)
-            this.inputForm.financeInvoiceBaseDTOList.push(r)
-            this.baseKey = Math.random()
           }
         })
         this.$forceUpdate()

+ 4 - 0
src/views/modules/cw/invoice/ProgramPageForm.vue

@@ -291,13 +291,17 @@ export default {
           }
         }
         rows = this.$refs.projectTable1.getCheckboxRecords()
+        rows.bj = 'bj'
       } else {
         if (this.commonJS.isEmpty(this.detail)) {
           this.$message.error('请填写开票详情')
           return
         }
         rows = [{projectName: this.detail}]
+        rows.bj1 = 'bj1'
       }
+      console.log('rows', rows)
+
       this.close()
       this.$emit('getProgram', rows)
     },