From 52a85e8be32a595fbebf2b5962fead9ff55cfc10 Mon Sep 17 00:00:00 2001
From: xujun <271087757@qq.com>
Date: Fri, 28 Mar 2025 12:01:59 +0800
Subject: [PATCH] xujun

---
 .../report/talent/components/budgetEdit.vue   |   4 +-
 .../talent/components/budgetFiveEdit.vue      |   8 +-
 .../talent/components/budgetFiveInfo.vue      | 257 ++++++++++++++++++
 .../report/talent/components/budgetInfo.vue   | 254 ++---------------
 .../talent/components/budgetThreeEdit.vue     |   8 +-
 .../talent/components/budgetThreeInfo.vue     | 213 +++++++++++++++
 .../report/talent/components/talentInfo.vue   |  39 ++-
 7 files changed, 536 insertions(+), 247 deletions(-)
 create mode 100644 src/views/report/talent/components/budgetFiveInfo.vue
 create mode 100644 src/views/report/talent/components/budgetThreeInfo.vue

diff --git a/src/views/report/talent/components/budgetEdit.vue b/src/views/report/talent/components/budgetEdit.vue
index 92f911d..42fdab2 100644
--- a/src/views/report/talent/components/budgetEdit.vue
+++ b/src/views/report/talent/components/budgetEdit.vue
@@ -1,10 +1,10 @@
 <template>
   <div>
     <div v-if="budgetCategory">
-      <budget-five-edit ref="talentBudgetA" :budgetList.sync="budgetList" :budgetType.sync="budgetType"></budget-five-edit>
+      <budget-five-edit ref="talentBudgetA" :budgetList.sync="budgetList"></budget-five-edit>
     </div>
     <div v-else>
-      <budget-three-edit ref="talentBudgetB" :budgetList.sync="budgetList" :budgetType.sync="budgetType"></budget-three-edit>
+      <budget-three-edit ref="talentBudgetB" :budgetList.sync="budgetList"></budget-three-edit>
     </div>
   </div>
 </template>
diff --git a/src/views/report/talent/components/budgetFiveEdit.vue b/src/views/report/talent/components/budgetFiveEdit.vue
index 4481560..086ede2 100644
--- a/src/views/report/talent/components/budgetFiveEdit.vue
+++ b/src/views/report/talent/components/budgetFiveEdit.vue
@@ -169,12 +169,6 @@ export default {
       default: () => {
         return [{ ...Budget }];
       },
-    },
-    budgetType: {
-      type: Object,
-      default: () => {
-        return null
-      }
     }
   },
   data() {
@@ -230,7 +224,7 @@ export default {
       this.totalYearValue4 = this.budgetList[0].yearValue4 + this.budgetList[1].yearValue4 + this.budgetList[2].yearValue4 + this.budgetList[8].yearValue4
       this.totalYearValue5 = this.budgetList[0].yearValue5 + this.budgetList[1].yearValue5 + this.budgetList[2].yearValue5 + this.budgetList[8].yearValue5
 
-      this.totalFee = this.totalYearValue1 + this.totalYearValue2 + this.totalYearValue3 + + this.totalYearValue4 + this.totalYearValue5
+      this.totalFee = this.totalYearValue1 + this.totalYearValue2 + this.totalYearValue3 + this.totalYearValue4 + this.totalYearValue5
     },
     //一、国内外进修费用
     educationFee () {
diff --git a/src/views/report/talent/components/budgetFiveInfo.vue b/src/views/report/talent/components/budgetFiveInfo.vue
new file mode 100644
index 0000000..04d72b0
--- /dev/null
+++ b/src/views/report/talent/components/budgetFiveInfo.vue
@@ -0,0 +1,257 @@
+<template>
+  <div>
+    <a-row type="flex" class="row_center">
+      <a-col :span="5" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">申请资助的预算支出科目</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">第一年</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">第二年</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">第三年</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">第四年</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">第五年</div>
+        </div>
+      </a-col>
+      <a-col :span="2" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">费用</div>
+        </div>
+      </a-col>
+      <a-col :span="2" class="bg-gray">
+        <div class="special-middle">
+          <div>操作</div>
+        </div>
+      </a-col>
+    </a-row>
+    <a-row v-for="(item, index) in budgetList" :key="index" type="flex" class="row_center">
+      <a-col :span="5" style="text-align: left;" >
+        <div class="special-middle">{{ item.budgetName }}</div>
+      </a-col>
+      <a-col :span="3">
+        <div class="special-middle">
+          <div>{{parseFloat(item.yearValue1).toFixed(2)}}</div>
+        </div>
+      </a-col>
+      <a-col :span="3">
+        <div class="special-middle">
+          <div>{{parseFloat(item.yearValue2).toFixed(2)}}</div>
+        </div>
+      </a-col>
+      <a-col :span="3">
+        <div class="special-middle">
+          <div>{{parseFloat(item.yearValue3).toFixed(2)}}</div>
+        </div>
+      </a-col>
+      <a-col :span="3">
+        <div class="special-middle">
+          <div>{{parseFloat(item.yearValue4).toFixed(2)}}</div>
+        </div>
+      </a-col>
+      <a-col :span="3">
+        <div class="special-middle">
+          <div>{{parseFloat(item.yearValue5).toFixed(2)}}</div>
+        </div>
+      </a-col>
+      <a-col :span="4">
+        <div class="special-middle">
+          <div>{{ parseFloat(item.amountFee).toFixed(2) }}</div>
+        </div>
+      </a-col>
+    </a-row>
+    <a-row type="flex" class="row_center">
+      <a-col :span="5" class="bg-gray">
+        <div class="special-middle">
+          <div>合计</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalYearValue1).toFixed(2) }}</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalYearValue2).toFixed(2) }}</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalYearValue3).toFixed(2) }}</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalYearValue4).toFixed(2) }}</div>
+        </div>
+      </a-col>
+      <a-col :span="3" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalYearValue5).toFixed(2) }}</div>
+        </div>
+      </a-col>
+      <a-col :span="4" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalFee).toFixed(2) }}</div>
+        </div>
+      </a-col>
+    </a-row>
+  </div>
+</template>
+
+<script>
+const Budget = { id: null, talentId: null, budgetId: "00000000-0000-0000-0000-000000000000", yearValue1: 0.00, yearValue2: 0.00, yearValue3: 0.00, yearValue4: 0.00, yearValue5: 0.00, amountFee: 0.00, showIndex: null, isRequired: false }
+
+export default {
+  name: "budgetFiveInfo",
+  props: {
+    budgetList: {
+      type: Array,
+      default: () => {
+        return [{ ...Budget }];
+      },
+    }
+  },
+  data() {
+    return {
+      totalYearValue1: 0.00,
+      totalYearValue2: 0.00,
+      totalYearValue3: 0.00,
+      totalYearValue4: 0.00,
+      totalYearValue5: 0.00,
+      totalFee: 0.00,
+      invisibleYearValue1: [ 2, 8 ],
+      invisibleYearValue2: [ 2, 8 ],
+      invisibleYearValue3: [ 2, 8 ],
+      invisibleYearValue4: [ 2, 8 ],
+      invisibleYearValue5: [ 2, 8 ],
+    }
+  },
+  created() {
+    //this.calTotalFee()
+  },
+  methods: {
+    FeeChange (index) {
+      if (index == 0)
+        this.educationFee()
+      else if (index == 1)
+        this.scienceFee()
+      else if (index > 2 && index < 8)
+        this.researchFee(index)
+      else if (this.budgetList.length > 8)
+        this.otherFee(index)
+
+      this.calTotalFee()
+    },
+    YearValue1Change (index) {
+      this.FeeChange(index)
+    },
+    YearValue2Change (index) {
+      this.FeeChange(index)
+    },
+    YearValue3Change (index) {
+      this.FeeChange(index)
+    },
+    YearValue4Change (index) {
+      this.FeeChange(index)
+    },
+    YearValue5Change (index) {
+      this.FeeChange(index)
+    },
+    calTotalFee() {
+      this.totalYearValue1 = this.budgetList[0].yearValue1 + this.budgetList[1].yearValue1 + this.budgetList[2].yearValue1 + this.budgetList[8].yearValue1
+      this.totalYearValue2 = this.budgetList[0].yearValue2 + this.budgetList[1].yearValue2 + this.budgetList[2].yearValue2 + this.budgetList[8].yearValue2
+      this.totalYearValue3 = this.budgetList[0].yearValue3 + this.budgetList[1].yearValue3 + this.budgetList[2].yearValue3 + this.budgetList[8].yearValue3
+      this.totalYearValue4 = this.budgetList[0].yearValue4 + this.budgetList[1].yearValue4 + this.budgetList[2].yearValue4 + this.budgetList[8].yearValue4
+      this.totalYearValue5 = this.budgetList[0].yearValue5 + this.budgetList[1].yearValue5 + this.budgetList[2].yearValue5 + this.budgetList[8].yearValue5
+
+      this.totalFee = this.totalYearValue1 + this.totalYearValue2 + this.totalYearValue3 + + this.totalYearValue4 + this.totalYearValue5
+    },
+    //一、国内外进修费用
+    educationFee () {
+      this.budgetList[0].amountFee = this.budgetList[0].yearValue1 + this.budgetList[0].yearValue2 + this.budgetList[0].yearValue3 + this.budgetList[0].yearValue4 + this.budgetList[0].yearValue5
+    },
+    //二、学术交流费用
+    scienceFee () {
+      this.budgetList[1].amountFee = this.budgetList[1].yearValue1 + this.budgetList[1].yearValue2 + this.budgetList[1].yearValue3 + this.budgetList[1].yearValue4 + this.budgetList[1].yearValue5
+    },
+    //三、研究费用
+    researchFee (index) {
+      this.budgetList[index].amountFee = this.budgetList[index].yearValue1 + this.budgetList[index].yearValue2 + this.budgetList[index].yearValue3 + this.budgetList[index].yearValue4 + this.budgetList[index].yearValue5
+
+      this.budgetList[2].yearValue1 = 0.00
+      this.budgetList[2].yearValue2 = 0.00
+      this.budgetList[2].yearValue3 = 0.00
+      this.budgetList[2].yearValue4 = 0.00
+      this.budgetList[2].yearValue5 = 0.00
+      for (let i = 3; i <= 7; i++) {
+        this.budgetList[2].yearValue1 += this.budgetList[i].yearValue1
+        this.budgetList[2].yearValue2 += this.budgetList[i].yearValue2
+        this.budgetList[2].yearValue3 += this.budgetList[i].yearValue3
+        this.budgetList[2].yearValue4 += this.budgetList[i].yearValue4
+        this.budgetList[2].yearValue5 += this.budgetList[i].yearValue5
+      }
+      this.budgetList[2].amountFee = this.budgetList[2].yearValue1 + this.budgetList[2].yearValue2 + this.budgetList[2].yearValue3 + this.budgetList[2].yearValue4 + this.budgetList[2].yearValue5
+    },
+    //四、其他费用
+    otherFee (index) {
+      this.budgetList[index].amountFee = this.budgetList[index].yearValue1 + this.budgetList[index].yearValue2 + this.budgetList[index].yearValue3 + this.budgetList[index].yearValue4 + this.budgetList[index].yearValue5
+
+      this.budgetList[8].yearValue1 = 0.00
+      this.budgetList[8].yearValue2 = 0.00
+      this.budgetList[8].yearValue3 = 0.00
+      this.budgetList[8].yearValue4 = 0.00
+      this.budgetList[8].yearValue5 = 0.00
+      for (let i = 9; i < this.budgetList.length; i++) {
+        this.budgetList[8].yearValue1 += this.budgetList[i].yearValue1
+        this.budgetList[8].yearValue2 += this.budgetList[i].yearValue2
+        this.budgetList[8].yearValue3 += this.budgetList[i].yearValue3
+        this.budgetList[8].yearValue4 += this.budgetList[i].yearValue4
+        this.budgetList[8].yearValue5 += this.budgetList[i].yearValue5
+      }
+      this.budgetList[8].amountFee = this.budgetList[8].yearValue1 + this.budgetList[8].yearValue2 + this.budgetList[8].yearValue3 + this.budgetList[8].yearValue4 + this.budgetList[8].yearValue5
+    },
+    addBudgetArray () {
+      const newItem = { 
+        ...Budget,
+        showIndex: this.budgetList.length + 1
+      }
+      this.budgetList.push(newItem)
+    },
+    deleteBudgetArray (item) {
+      let index = this.budgetList.indexOf(item)
+      if (index !== -1) {
+        this.budgetList.splice(index, 1)
+      }
+    },
+    getTotalFee() {
+      return parseFloat(this.totalFee);
+    }
+  },
+  watch: {
+    budgetList: {
+      handler(budgetList) {
+        this.calTotalFee()
+      }
+    }
+  }
+}
+</script>
diff --git a/src/views/report/talent/components/budgetInfo.vue b/src/views/report/talent/components/budgetInfo.vue
index ccc2ffb..6722b3b 100644
--- a/src/views/report/talent/components/budgetInfo.vue
+++ b/src/views/report/talent/components/budgetInfo.vue
@@ -1,257 +1,53 @@
 <template>
   <div>
-    <a-row type="flex" class="row_center">
-      <a-col :span="5" class="bg-gray">
-        <div class="special-middle">
-          <div class="required">申请资助的预算支出科目</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div class="required">第一年</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div class="required">第二年</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div class="required">第三年</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div class="required">第四年</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div class="required">第五年</div>
-        </div>
-      </a-col>
-      <a-col :span="2" class="bg-gray">
-        <div class="special-middle">
-          <div class="required">费用</div>
-        </div>
-      </a-col>
-      <a-col :span="2" class="bg-gray">
-        <div class="special-middle">
-          <div>操作</div>
-        </div>
-      </a-col>
-    </a-row>
-    <a-row v-for="(item, index) in budgetList" :key="index" type="flex" class="row_center">
-      <a-col :span="5" style="text-align: left;" >
-        <div class="special-middle">{{ item.budgetName }}</div>
-      </a-col>
-      <a-col :span="3">
-        <div class="special-middle">
-          <div>{{parseFloat(item.yearValue1).toFixed(2)}}</div>
-        </div>
-      </a-col>
-      <a-col :span="3">
-        <div class="special-middle">
-          <div>{{parseFloat(item.yearValue2).toFixed(2)}}</div>
-        </div>
-      </a-col>
-      <a-col :span="3">
-        <div class="special-middle">
-          <div>{{parseFloat(item.yearValue3).toFixed(2)}}</div>
-        </div>
-      </a-col>
-      <a-col :span="3">
-        <div class="special-middle">
-          <div>{{parseFloat(item.yearValue4).toFixed(2)}}</div>
-        </div>
-      </a-col>
-      <a-col :span="3">
-        <div class="special-middle">
-          <div>{{parseFloat(item.yearValue5).toFixed(2)}}</div>
-        </div>
-      </a-col>
-      <a-col :span="4">
-        <div class="special-middle">
-          <div>{{ parseFloat(item.amountFee).toFixed(2) }}</div>
-        </div>
-      </a-col>
-    </a-row>
-    <a-row type="flex" class="row_center">
-      <a-col :span="5" class="bg-gray">
-        <div class="special-middle">
-          <div>合计</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div>{{ parseFloat(totalYearValue1).toFixed(2) }}</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div>{{ parseFloat(totalYearValue2).toFixed(2) }}</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div>{{ parseFloat(totalYearValue3).toFixed(2) }}</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div>{{ parseFloat(totalYearValue4).toFixed(2) }}</div>
-        </div>
-      </a-col>
-      <a-col :span="3" class="bg-gray">
-        <div class="special-middle">
-          <div>{{ parseFloat(totalYearValue5).toFixed(2) }}</div>
-        </div>
-      </a-col>
-      <a-col :span="4" class="bg-gray">
-        <div class="special-middle">
-          <div>{{ parseFloat(totalFee).toFixed(2) }}</div>
-        </div>
-      </a-col>
-    </a-row>
+    <div v-if="budgetCategory">
+      <budget-five-info :budgetList.sync="budgetList"></budget-five-info>
+    </div>
+    <div v-else>
+      <budget-three-info :budgetList.sync="budgetList"></budget-three-info>
+    </div>
   </div>
 </template>
 
 <script>
-const Budget = { id: null, talentId: null, budgetId: "00000000-0000-0000-0000-000000000000", yearValue1: 0.00, yearValue2: 0.00, yearValue3: 0.00, yearValue4: 0.00, yearValue5: 0.00, amountFee: 0.00, showIndex: null, isRequired: false }
+import budgetFiveInfo from '@/views/report/talent/components/budgetFiveInfo'
+import budgetThreeInfo from '@/views/report/talent/components/budgetThreeInfo'
 
 export default {
   name: "budgetInfo",
+  components: {
+    budgetFiveInfo, budgetThreeInfo,
+  },
   props: {
     budgetList: {
       type: Array,
       default: () => {
         return [{ ...Budget }];
       },
+    },
+    budgetType: {
+      type: Object,
+      default: () => {
+        return null
+      }
     }
   },
   data() {
     return {
-      totalYearValue1: 0.00,
-      totalYearValue2: 0.00,
-      totalYearValue3: 0.00,
-      totalYearValue4: 0.00,
-      totalYearValue5: 0.00,
-      totalFee: 0.00,
-      invisibleYearValue1: [ 2, 8 ],
-      invisibleYearValue2: [ 2, 8 ],
-      invisibleYearValue3: [ 2, 8 ],
-      invisibleYearValue4: [ 2, 8 ],
-      invisibleYearValue5: [ 2, 8 ],
+      budgetCategory: null,
     }
   },
   created() {
-    //this.calTotalFee()
+    if (!this.budgetType) {
+      if (this.budgetType.type === 'HTTalent') {
+        this.budgetCategory = true
+      } else {
+        this.budgetCategory = false
+      }
+    }
   },
   methods: {
-    FeeChange (index) {
-      if (index == 0)
-        this.educationFee()
-      else if (index == 1)
-        this.scienceFee()
-      else if (index > 2 && index < 8)
-        this.researchFee(index)
-      else if (this.budgetList.length > 8)
-        this.otherFee(index)
-
-      this.calTotalFee()
-    },
-    YearValue1Change (index) {
-      this.FeeChange(index)
-    },
-    YearValue2Change (index) {
-      this.FeeChange(index)
-    },
-    YearValue3Change (index) {
-      this.FeeChange(index)
-    },
-    YearValue4Change (index) {
-      this.FeeChange(index)
-    },
-    YearValue5Change (index) {
-      this.FeeChange(index)
-    },
-    calTotalFee() {
-      this.totalYearValue1 = this.budgetList[0].yearValue1 + this.budgetList[1].yearValue1 + this.budgetList[2].yearValue1 + this.budgetList[8].yearValue1
-      this.totalYearValue2 = this.budgetList[0].yearValue2 + this.budgetList[1].yearValue2 + this.budgetList[2].yearValue2 + this.budgetList[8].yearValue2
-      this.totalYearValue3 = this.budgetList[0].yearValue3 + this.budgetList[1].yearValue3 + this.budgetList[2].yearValue3 + this.budgetList[8].yearValue3
-      this.totalYearValue4 = this.budgetList[0].yearValue4 + this.budgetList[1].yearValue4 + this.budgetList[2].yearValue4 + this.budgetList[8].yearValue4
-      this.totalYearValue5 = this.budgetList[0].yearValue5 + this.budgetList[1].yearValue5 + this.budgetList[2].yearValue5 + this.budgetList[8].yearValue5
-
-      this.totalFee = this.totalYearValue1 + this.totalYearValue2 + this.totalYearValue3 + + this.totalYearValue4 + this.totalYearValue5
-    },
-    //一、国内外进修费用
-    educationFee () {
-      this.budgetList[0].amountFee = this.budgetList[0].yearValue1 + this.budgetList[0].yearValue2 + this.budgetList[0].yearValue3 + this.budgetList[0].yearValue4 + this.budgetList[0].yearValue5
-    },
-    //二、学术交流费用
-    scienceFee () {
-      this.budgetList[1].amountFee = this.budgetList[1].yearValue1 + this.budgetList[1].yearValue2 + this.budgetList[1].yearValue3 + this.budgetList[1].yearValue4 + this.budgetList[1].yearValue5
-    },
-    //三、研究费用
-    researchFee (index) {
-      this.budgetList[index].amountFee = this.budgetList[index].yearValue1 + this.budgetList[index].yearValue2 + this.budgetList[index].yearValue3 + this.budgetList[index].yearValue4 + this.budgetList[index].yearValue5
-
-      this.budgetList[2].yearValue1 = 0.00
-      this.budgetList[2].yearValue2 = 0.00
-      this.budgetList[2].yearValue3 = 0.00
-      this.budgetList[2].yearValue4 = 0.00
-      this.budgetList[2].yearValue5 = 0.00
-      for (let i = 3; i <= 7; i++) {
-        this.budgetList[2].yearValue1 += this.budgetList[i].yearValue1
-        this.budgetList[2].yearValue2 += this.budgetList[i].yearValue2
-        this.budgetList[2].yearValue3 += this.budgetList[i].yearValue3
-        this.budgetList[2].yearValue4 += this.budgetList[i].yearValue4
-        this.budgetList[2].yearValue5 += this.budgetList[i].yearValue5
-      }
-      this.budgetList[2].amountFee = this.budgetList[2].yearValue1 + this.budgetList[2].yearValue2 + this.budgetList[2].yearValue3 + this.budgetList[2].yearValue4 + this.budgetList[2].yearValue5
-    },
-    //四、其他费用
-    otherFee (index) {
-      this.budgetList[index].amountFee = this.budgetList[index].yearValue1 + this.budgetList[index].yearValue2 + this.budgetList[index].yearValue3 + this.budgetList[index].yearValue4 + this.budgetList[index].yearValue5
 
-      this.budgetList[8].yearValue1 = 0.00
-      this.budgetList[8].yearValue2 = 0.00
-      this.budgetList[8].yearValue3 = 0.00
-      this.budgetList[8].yearValue4 = 0.00
-      this.budgetList[8].yearValue5 = 0.00
-      for (let i = 9; i < this.budgetList.length; i++) {
-        this.budgetList[8].yearValue1 += this.budgetList[i].yearValue1
-        this.budgetList[8].yearValue2 += this.budgetList[i].yearValue2
-        this.budgetList[8].yearValue3 += this.budgetList[i].yearValue3
-        this.budgetList[8].yearValue4 += this.budgetList[i].yearValue4
-        this.budgetList[8].yearValue5 += this.budgetList[i].yearValue5
-      }
-      this.budgetList[8].amountFee = this.budgetList[8].yearValue1 + this.budgetList[8].yearValue2 + this.budgetList[8].yearValue3 + this.budgetList[8].yearValue4 + this.budgetList[8].yearValue5
-    },
-    addBudgetArray () {
-      const newItem = { 
-        ...Budget,
-        showIndex: this.budgetList.length + 1
-      }
-      this.budgetList.push(newItem)
-    },
-    deleteBudgetArray (item) {
-      let index = this.budgetList.indexOf(item)
-      if (index !== -1) {
-        this.budgetList.splice(index, 1)
-      }
-    },
-    getTotalFee() {
-      return parseFloat(this.totalFee);
-    }
   },
-  watch: {
-    budgetList: {
-      handler(budgetList) {
-        this.calTotalFee()
-      }
-    }
-  }
 }
 </script>
diff --git a/src/views/report/talent/components/budgetThreeEdit.vue b/src/views/report/talent/components/budgetThreeEdit.vue
index 83e8936..c3c45e7 100644
--- a/src/views/report/talent/components/budgetThreeEdit.vue
+++ b/src/views/report/talent/components/budgetThreeEdit.vue
@@ -133,12 +133,6 @@ export default {
       default: () => {
         return [{ ...Budget }];
       },
-    },
-    budgetType: {
-      type: Object,
-      default: () => {
-        return null
-      }
     }
   },
   data() {
@@ -192,7 +186,7 @@ export default {
       this.totalYearValue2 = this.budgetList[0].yearValue2 + this.budgetList[1].yearValue2 + this.budgetList[2].yearValue2 + this.budgetList[8].yearValue2
       this.totalYearValue3 = this.budgetList[0].yearValue3 + this.budgetList[1].yearValue3 + this.budgetList[2].yearValue3 + this.budgetList[8].yearValue3
       
-      this.totalFee = this.totalYearValue1 + this.totalYearValue2 + this.totalYearValue3 //+ + this.totalYearValue4 + this.totalYearValue5
+      this.totalFee = this.totalYearValue1 + this.totalYearValue2 + this.totalYearValue3
     },
     //一、国内外进修费用
     educationFee () {
diff --git a/src/views/report/talent/components/budgetThreeInfo.vue b/src/views/report/talent/components/budgetThreeInfo.vue
new file mode 100644
index 0000000..0168587
--- /dev/null
+++ b/src/views/report/talent/components/budgetThreeInfo.vue
@@ -0,0 +1,213 @@
+<template>
+  <div>
+    <a-row type="flex" class="row_center">
+      <a-col :span="8" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">申请资助的预算支出科目</div>
+        </div>
+      </a-col>
+      <a-col :span="4" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">第一年</div>
+        </div>
+      </a-col>
+      <a-col :span="4" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">第二年</div>
+        </div>
+      </a-col>
+      <a-col :span="4" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">第三年</div>
+        </div>
+      </a-col>
+      <a-col :span="4" class="bg-gray">
+        <div class="special-middle">
+          <div class="required">费用</div>
+        </div>
+      </a-col>
+    </a-row>
+    <a-row v-for="(item, index) in budgetList" :key="index" type="flex" class="row_center">
+      <a-col :span="8" style="text-align: left;" >
+        <div class="special-middle">{{ item.budgetName }}</div>
+      </a-col>
+      <a-col :span="4">
+        <div class="special-middle">
+          <div>{{parseFloat(item.yearValue1).toFixed(2)}}</div>
+        </div>
+      </a-col>
+      <a-col :span="4">
+        <div class="special-middle">
+          <div>{{parseFloat(item.yearValue2).toFixed(2)}}</div>
+        </div>
+      </a-col>
+      <a-col :span="4">
+        <div class="special-middle">
+          <div>{{parseFloat(item.yearValue3).toFixed(2)}}</div>
+        </div>
+      </a-col>
+      <a-col :span="4">
+        <div class="special-middle">
+          <div>{{ parseFloat(item.amountFee).toFixed(2) }}</div>
+        </div>
+      </a-col>
+    </a-row>
+    <a-row type="flex" class="row_center">
+      <a-col :span="8" class="bg-gray">
+        <div class="special-middle">
+          <div>合计</div>
+        </div>
+      </a-col>
+      <a-col :span="4" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalYearValue1).toFixed(2) }}</div>
+        </div>
+      </a-col>
+      <a-col :span="4" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalYearValue2).toFixed(2) }}</div>
+        </div>
+      </a-col>
+      <a-col :span="4" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalYearValue3).toFixed(2) }}</div>
+        </div>
+      </a-col>
+      <a-col :span="4" class="bg-gray">
+        <div class="special-middle">
+          <div>{{ parseFloat(totalFee).toFixed(2) }}</div>
+        </div>
+      </a-col>
+    </a-row>
+  </div>
+</template>
+
+<script>
+const Budget = { id: null, talentId: null, budgetId: "00000000-0000-0000-0000-000000000000", yearValue1: 0.00, yearValue2: 0.00, yearValue3: 0.00, yearValue4: 0.00, yearValue5: 0.00, amountFee: 0.00, showIndex: null, isRequired: false }
+
+export default {
+  name: "budgetThreeInfo",
+  props: {
+    budgetList: {
+      type: Array,
+      default: () => {
+        return [{ ...Budget }];
+      },
+    }
+  },
+  data() {
+    return {
+      totalYearValue1: 0.00,
+      totalYearValue2: 0.00,
+      totalYearValue3: 0.00,
+      totalYearValue4: 0.00,
+      totalYearValue5: 0.00,
+      totalFee: 0.00,
+      invisibleYearValue1: [ 2, 8 ],
+      invisibleYearValue2: [ 2, 8 ],
+      invisibleYearValue3: [ 2, 8 ],
+      invisibleYearValue4: [ 2, 8 ],
+      invisibleYearValue5: [ 2, 8 ],
+    }
+  },
+  created() {
+    //this.calTotalFee()
+  },
+  methods: {
+    FeeChange (index) {
+      if (index == 0)
+        this.educationFee()
+      else if (index == 1)
+        this.scienceFee()
+      else if (index > 2 && index < 8)
+        this.researchFee(index)
+      else if (this.budgetList.length > 8)
+        this.otherFee(index)
+
+      this.calTotalFee()
+    },
+    YearValue1Change (index) {
+      this.FeeChange(index)
+    },
+    YearValue2Change (index) {
+      this.FeeChange(index)
+    },
+    YearValue3Change (index) {
+      this.FeeChange(index)
+    },
+    YearValue4Change (index) {
+      this.FeeChange(index)
+    },
+    YearValue5Change (index) {
+      this.FeeChange(index)
+    },
+    calTotalFee() {
+      this.totalYearValue1 = this.budgetList[0].yearValue1 + this.budgetList[1].yearValue1 + this.budgetList[2].yearValue1 + this.budgetList[8].yearValue1
+      this.totalYearValue2 = this.budgetList[0].yearValue2 + this.budgetList[1].yearValue2 + this.budgetList[2].yearValue2 + this.budgetList[8].yearValue2
+      this.totalYearValue3 = this.budgetList[0].yearValue3 + this.budgetList[1].yearValue3 + this.budgetList[2].yearValue3 + this.budgetList[8].yearValue3
+
+      this.totalFee = this.totalYearValue1 + this.totalYearValue2 + this.totalYearValue3
+    },
+    //一、国内外进修费用
+    educationFee () {
+      this.budgetList[0].amountFee = this.budgetList[0].yearValue1 + this.budgetList[0].yearValue2 + this.budgetList[0].yearValue3
+    },
+    //二、学术交流费用
+    scienceFee () {
+      this.budgetList[1].amountFee = this.budgetList[1].yearValue1 + this.budgetList[1].yearValue2 + this.budgetList[1].yearValue3
+    },
+    //三、研究费用
+    researchFee (index) {
+      this.budgetList[index].amountFee = this.budgetList[index].yearValue1 + this.budgetList[index].yearValue2 + this.budgetList[index].yearValue3
+
+      this.budgetList[2].yearValue1 = 0.00
+      this.budgetList[2].yearValue2 = 0.00
+      this.budgetList[2].yearValue3 = 0.00
+      for (let i = 3; i <= 7; i++) {
+        this.budgetList[2].yearValue1 += this.budgetList[i].yearValue1
+        this.budgetList[2].yearValue2 += this.budgetList[i].yearValue2
+        this.budgetList[2].yearValue3 += this.budgetList[i].yearValue3
+      }
+      this.budgetList[2].amountFee = this.budgetList[2].yearValue1 + this.budgetList[2].yearValue2 + this.budgetList[2].yearValue3
+    },
+    //四、其他费用
+    otherFee (index) {
+      this.budgetList[index].amountFee = this.budgetList[index].yearValue1 + this.budgetList[index].yearValue2 + this.budgetList[index].yearValue3
+
+      this.budgetList[8].yearValue1 = 0.00
+      this.budgetList[8].yearValue2 = 0.00
+      this.budgetList[8].yearValue3 = 0.00
+
+      for (let i = 9; i < this.budgetList.length; i++) {
+        this.budgetList[8].yearValue1 += this.budgetList[i].yearValue1
+        this.budgetList[8].yearValue2 += this.budgetList[i].yearValue2
+        this.budgetList[8].yearValue3 += this.budgetList[i].yearValue3
+      }
+      this.budgetList[8].amountFee = this.budgetList[8].yearValue1 + this.budgetList[8].yearValue2 + this.budgetList[8].yearValue3
+    },
+    addBudgetArray () {
+      const newItem = { 
+        ...Budget,
+        showIndex: this.budgetList.length + 1
+      }
+      this.budgetList.push(newItem)
+    },
+    deleteBudgetArray (item) {
+      let index = this.budgetList.indexOf(item)
+      if (index !== -1) {
+        this.budgetList.splice(index, 1)
+      }
+    },
+    getTotalFee() {
+      return parseFloat(this.totalFee);
+    }
+  },
+  watch: {
+    budgetList: {
+      handler(budgetList) {
+        this.calTotalFee()
+      }
+    }
+  }
+}
+</script>
diff --git a/src/views/report/talent/components/talentInfo.vue b/src/views/report/talent/components/talentInfo.vue
index 26a0df3..463f23f 100644
--- a/src/views/report/talent/components/talentInfo.vue
+++ b/src/views/report/talent/components/talentInfo.vue
@@ -407,7 +407,7 @@
           </div>
         </a-col>
       </a-row>
-      <budget-info :budgetList.sync="value.budgetList" />
+      <budget-info :budgetList.sync="value.budgetList" :budgetType.sync="budgetType" />
       <a-row>
         <a-col :span="24" style="border-top: 0px; text-align: center">
           <div class="main-title">
@@ -475,7 +475,20 @@ export default {
     },
   },
   data() {
-    return {};
+    return {
+      talentTraningInfo: {
+        HTTalent: null,
+        ALTalent: null,
+        RTTalent: null,
+        ALTrainingYear: null,
+        ALEveryYearFee: null,
+        HTTrainingYear: null,
+        HTEveryYearFee: null,
+        RTTrainingYear: null,
+        RTEveryYearFee: null,
+      },
+      budgetType: { type: 'HTTalent', trainingYear: 5, EveryYearFee: 10 },
+    };
   },
   created () {
     if (!!!this.tabsData || this.tabsData.length == 0)
@@ -489,9 +502,31 @@ export default {
         { title: '附件', key: '6', isShow: true },
         { title: '项目审核记录', key: '7', isShow: true },
       ]
+    if (!!!this.value) {
+      this.getTalentTraningInfo()
+    }
   },
   methods: {
     moment, toTextarea,
+    getTalentTraningInfo () {
+      this.$api.systemSet.getTalentTraningInfo().then(({ data = {} }) => {
+        if (data) {
+          this.talentTraningInfo = data
+          this.processBudgetType()
+        }
+      })
+    },
+    processBudgetType() {
+      if (this.value.talentCategory === this.talentTraningInfo.HTTalent) {
+        this.budgetType = { type: 'HTTalent', trainingYear: this.talentTraningInfo.HTTrainingYear, EveryYearFee: this.talentTraningInfo.HTEveryYearFee }
+      } else if (this.formData.talentCategory === this.talentTraningInfo.ALTalent) {
+        this.budgetType = { type: 'ALTalent', trainingYear: this.talentTraningInfo.ALTrainingYear, EveryYearFee: this.talentTraningInfo.ALEveryYearFee }
+      } else {
+        this.budgetType = { type: 'RTTalent', trainingYear: this.talentTraningInfo.RTTrainingYear, EveryYearFee: this.talentTraningInfo.RTEveryYearFee }
+      }
+      if (!!!this.formData.applyFund || this.formData.applyFund == 0)
+        this.formData.applyFund = this.budgetType.trainingYear * this.budgetType.EveryYearFee
+    }
   }
 };
 </script>
\ No newline at end of file
-- 
2.18.0