Browse Source

导出excel表格

Q-ABAB 2 years ago
parent
commit
103866ec59
2 changed files with 403 additions and 208 deletions
  1. 205 139
      src/components/tool/getExcel.js
  2. 198 69
      src/views/fundManage/makerfundApply.vue

+ 205 - 139
src/components/tool/getExcel.js

@@ -31,152 +31,218 @@ export default async function getExcel(data){
 
     // 在这里设置表格的内容
     //项目类型
-    worksheet.getCell("G2").value='项目类型:创客空间 □     创客实践室 □     个人创客 □     创客活动 □   '
+    // worksheet.getCell("G2").value='项目类型:创客空间 □     创客实践室 □     个人创客 □     创客活动 □   '
     //项目名称
-    worksheet.getCell('G3').value="项目名称:                                        ";
+    worksheet.getCell('G3').value=`项目名称:                              ${data.PName}`;
+    //备注
+    worksheet.getCell("G18").value=data.remarks;
     
-    //小型仪器设备费
-    // //预算 
-    // worksheet.getCell("C7").value='';
-    // //已支付
-    // worksheet.getCell("D7").value='';
-    // //本次申请
-    // worksheet.getCell("E7").value='';
-    //余额
-    worksheet.getCell("F7").value = {formula:"C7-D7-E7",result:worksheet.getCell("C7")-worksheet.getCell("D7")-worksheet.getCell("E7")}
-    //事由
-    worksheet.getCell("G7").value = ''
-
-    //材料费
-    //预算
-    worksheet.getCell("C8").value='';
-    //已支付
-    worksheet.getCell("D8").value='';
-    //本次申请
-    worksheet.getCell("E8").value='';
-    //余额
-    worksheet.getCell("F8").value = {formula:"C8-D8-E8",result:worksheet.getCell("C8")-worksheet.getCell("D8")-worksheet.getCell("E8")}
-    //事由
-    worksheet.getCell("G8").value = ''
-
-    //测试化验加工费
-    //预算
-    worksheet.getCell("C9").value='';
-    //已支付
-    worksheet.getCell("D9").value='';
-    //本次申请
-    worksheet.getCell("E9").value='';
-    //余额
-    worksheet.getCell("F9").value = {formula:"C9-D9-E9",result:worksheet.getCell("C9")-worksheet.getCell("D9")-worksheet.getCell("E9")}
-    //事由
-    worksheet.getCell("G9").value = ''
-
-    //项目协作费
-    //预算
-    worksheet.getCell("C10").value='';
-    //已支付
-    worksheet.getCell("D10").value='';
-    //本次申请
-    worksheet.getCell("E10").value='';
-    //余额
-    worksheet.getCell("F10").value = {formula:"C10-D10-E10",result:worksheet.getCell("C10")-worksheet.getCell("D10")-worksheet.getCell("E10")}
-    //事由
-    worksheet.getCell("G10").value = ''
-
-    //其他支出
-    //预算
-    worksheet.getCell("C11").value='';
-    //已支付
-    worksheet.getCell("D11").value='';
-    //本次申请
-    worksheet.getCell("E11").value='';
-    //余额
-    worksheet.getCell("F11").value = {formula:"C11-D11-E11",result:worksheet.getCell("C11")-worksheet.getCell("D11")-worksheet.getCell("E11")}
-    //事由
-    worksheet.getCell("G11").value = ''
-
-    //直接费用(这个不用填)
-    //总预算
-    worksheet.getCell("C6").value = {formula:"SUM(C7:C11)",result:worksheet.getCell("C7")+worksheet.getCell("C8")+worksheet.getCell("C9")+worksheet.getCell("C10")+worksheet.getCell("C11")}
-    //已支付
-    worksheet.getCell("D6").value = {formula:"SUM(D7:D11)",result:worksheet.getCell("D7")+worksheet.getCell("D8")+worksheet.getCell("D9")+worksheet.getCell("D10")+worksheet.getCell("D11")}
-    //本次申请
-    worksheet.getCell("E6").value = {formula:"SUM(E7:E11)",result:worksheet.getCell("E7")+worksheet.getCell("E8")+worksheet.getCell("E9")+worksheet.getCell("E10")+worksheet.getCell("E11")}
-    //余额
-    worksheet.getCell("F6").value = {formula:"C6-D6-E6",result:worksheet.getCell("C6")-worksheet.getCell("D6")-worksheet.getCell("E6")}
-
-    //项目成果鉴定费
-    //预算
-    worksheet.getCell("C13").value='';
-    //已支付
-    worksheet.getCell("D13").value='';
-    //本次申请
-    worksheet.getCell("E13").value='';
-    //余额
-    worksheet.getCell("F13").value = {formula:"C13-D13-E13",result:worksheet.getCell("C13")-worksheet.getCell("D13")-worksheet.getCell("E13")}
-    //事由
-    worksheet.getCell("G13").value = ''
-
-    //参展参赛费
-    //预算
-    worksheet.getCell("C14").value='';
-    //已支付
-    worksheet.getCell("D14").value='';
-    //本次申请
-    worksheet.getCell("E14").value='';
-    //余额
-    worksheet.getCell("F14").value = {formula:"C14-D14-E14",result:worksheet.getCell("C14")-worksheet.getCell("D14")-worksheet.getCell("E14")}
-    // 事由
-    worksheet.getCell("G14").value = ''
+    // let direct = 7;
+    
+    //直接经费预算 从C7====>C11
+    for(let i in data.direct.budget){
+        switch(i){
+            case "facility":
+                if(data.direct.budget[i]!=0)worksheet.getCell("C7").value=data.direct.budget[i];
+                break;
+            case "cl":
+                if(data.direct.budget[i]!=0)worksheet.getCell("C8").value=data.direct.budget[i];
+                break;
+            case "jg":
+                if(data.direct.budget[i]!=0)worksheet.getCell("C9").value=data.direct.budget[i];
+                break;
+            case "xz":
+                if(data.direct.budget[i]!=0)worksheet.getCell("C10").value=data.direct.budget[i];
+                break;
+            case "qt":
+                if(data.direct.budget[i]!=0)worksheet.getCell("C11").value=data.direct.budget[i];
+                break;
+        }
+    }
+    //直接经费已支付D7====>D11
+    for(let i in data.direct.expended){
+        switch(i){
+            case "facility":
+                if(data.direct.expended[i]!=0)worksheet.getCell("D7").value=data.direct.expended[i];
+                break;
+            case "cl":
+                if(data.direct.expended[i]!=0)worksheet.getCell("D8").value=data.direct.expended[i];
+                break;
+            case "jg":
+                if(data.direct.expended[i]!=0)worksheet.getCell("D9").value=data.direct.expended[i];
+                break;
+            case "xz":
+                if(data.direct.expended[i]!=0)worksheet.getCell("D10").value=data.direct.expended[i];
+                break;
+            case "qt":
+                if(data.direct.expended[i]!=0)worksheet.getCell("D11").value=data.direct.expended[i];
+                break;
+        }
+    }
+    //直接经费本次申请E7====>E11
+    for(let i in data.direct.apply){
+        switch(i){
+            case "facility":
+                if(data.direct.apply[i]!=0)worksheet.getCell("E7").value=data.direct.apply[i];
+                break;
+            case "cl":
+                if(data.direct.apply[i]!=0)worksheet.getCell("E8").value=data.direct.apply[i];
+                break;
+            case "jg":
+                if(data.direct.apply[i]!=0)worksheet.getCell("E9").value=data.direct.apply[i];
+                break;
+            case "xz":
+                if(data.direct.apply[i]!=0)worksheet.getCell("E10").value=data.direct.apply[i];
+                break;
+            case "qt":
+                if(data.direct.apply[i]!=0)worksheet.getCell("E11").value=data.direct.apply[i];
+                break;
+        }
+    }
+    //直接经费事由G7====>G11
+    for(let i in data.direct.reason){
+        switch(i){
+            case "reason":
+                worksheet.getCell("G7").value=data.direct.reason[i];
+                break;
+            case "reason1":
+                worksheet.getCell("G8").value=data.direct.reason[i];
+                break;
+            case "reason2":
+                worksheet.getCell("G9").value=data.direct.reason[i];
+                break;
+            case "reason3":
+                worksheet.getCell("G10").value=data.direct.reason[i];
+                break;
+            case "reason4":
+                worksheet.getCell("G11").value=data.direct.reason[i];
+                break;
+        }
+    }
 
-    //创客交流活动费
-    //预算
-    worksheet.getCell("C15").value='';
-    //已支付
-    worksheet.getCell("D15").value='';
-    //本次申请
-    worksheet.getCell("E15").value='';
-    //余额
-    worksheet.getCell("F15").value = {formula:"C15-D15-E15",result:worksheet.getCell("C15")-worksheet.getCell("D15")-worksheet.getCell("E15")}
-    //事由
-    worksheet.getCell("G15").value = ''
+    //间接经费预算C13====>C17
+    for(let i in data.indirect.budget){
+        switch(i){
+            case "facility":
+                if(data.indirect.budget[i]!=0)worksheet.getCell("C13").value=data.indirect.budget[i];
+                break;
+            case "cl":
+                if(data.indirect.budget[i]!=0)worksheet.getCell("C14").value=data.indirect.budget[i];
+                break;
+            case "jg":
+                if(data.indirect.budget[i]!=0)worksheet.getCell("C15").value=data.indirect.budget[i];
+                break;
+            case "xz":
+                if(data.indirect.budget[i]!=0)worksheet.getCell("C16").value=data.indirect.budget[i];
+                break;
+            case "qt":
+                if(data.indirect.budget[i]!=0)worksheet.getCell("C17").value=data.indirect.budget[i];
+                break;
+        }
+    }
+    //间接经费已支付D13====>D17
+    for(let i in data.indirect.expended){
+        switch(i){
+            case "facility":
+                if(data.indirect.expended[i]!=0)worksheet.getCell("D13").value=data.indirect.expended[i];
+                break;
+            case "cl":
+                if(data.indirect.expended[i]!=0)worksheet.getCell("D14").value=data.indirect.expended[i];
+                break;
+            case "jg":
+                if(data.indirect.expended[i]!=0)worksheet.getCell("D15").value=data.indirect.expended[i];
+                break;
+            case "xz":
+                if(data.indirect.expended[i]!=0)worksheet.getCell("D16").value=data.indirect.expended[i];
+                break;
+            case "qt":
+                if(data.indirect.expended[i]!=0)worksheet.getCell("D17").value=data.indirect.expended[i];
+                break;
+        }
+    }
+    //间接经费本次申请E13====>E17
+    for(let i in data.indirect.apply){
+        switch(i){
+            case "facility":
+                if(data.indirect.apply[i]!=0)worksheet.getCell("E13").value=data.indirect.apply[i];
+                break;
+            case "cl":
+                if(data.indirect.apply[i]!=0)worksheet.getCell("E14").value=data.indirect.apply[i];
+                break;
+            case "jg":
+                if(data.indirect.apply[i]!=0)worksheet.getCell("E15").value=data.indirect.apply[i];
+                break;
+            case "xz":
+                if(data.indirect.apply[i]!=0)worksheet.getCell("E16").value=data.indirect.apply[i];
+                break;
+            case "qt":
+                if(data.indirect.apply[i]!=0)worksheet.getCell("E17").value=data.indirect.apply[i];
+                break;
+        }
+    }
+    //间接经费本次申请G13====>G17
+    for(let i in data.indirect.reason){
+        switch(i){
+            case "reason":
+                worksheet.getCell("G13").value=data.indirect.reason[i];
+                break;
+            case "reason1":
+                worksheet.getCell("G14").value=data.indirect.reason[i];
+                break;
+            case "reason2":
+                worksheet.getCell("G15").value=data.indirect.reason[i];
+                break;
+            case "reason3":
+                worksheet.getCell("G16").value=data.indirect.reason[i];
+                break;
+            case "reason4":
+                worksheet.getCell("G17").value=data.indirect.reason[i];
+                break;
+        }
+    }
 
-    //知识产权事务费
-    //预算
-    worksheet.getCell("C16").value='';
-    //已支付
-    worksheet.getCell("D16").value='';
-    //本次申请
-    worksheet.getCell("E16").value='';
-    //余额
-    worksheet.getCell("F16").value = {formula:"C16-D16-E16",result:worksheet.getCell("C16")-worksheet.getCell("D16")-worksheet.getCell("E16")}
-    //事由
-    worksheet.getCell("G16").value = ''
+    //自动计算的单元格
+    //直接经费
+        //小型仪器设备费余额
+        worksheet.getCell("F7").value = {formula:"C7-D7-E7",result:worksheet.getCell("C7")-worksheet.getCell("D7")-worksheet.getCell("E7")}
+        //材料费余额
+        worksheet.getCell("F8").value = {formula:"C8-D8-E8",result:worksheet.getCell("C8")-worksheet.getCell("D8")-worksheet.getCell("E8")}
+        //测试化验加工费余额
+        worksheet.getCell("F9").value = {formula:"C9-D9-E9",result:worksheet.getCell("C9")-worksheet.getCell("D9")-worksheet.getCell("E9")}
+        //项目协作费余额
+        worksheet.getCell("F10").value = {formula:"C10-D10-E10",result:worksheet.getCell("C10")-worksheet.getCell("D10")-worksheet.getCell("E10")}
+        //其他支出余额
+        worksheet.getCell("F11").value = {formula:"C11-D11-E11",result:worksheet.getCell("C11")-worksheet.getCell("D11")-worksheet.getCell("E11")}
+        //总预算
+        worksheet.getCell("C6").value = {formula:"SUM(C7:C11)",result:worksheet.getCell("C7")+worksheet.getCell("C8")+worksheet.getCell("C9")+worksheet.getCell("C10")+worksheet.getCell("C11")}
+        //已支付
+        worksheet.getCell("D6").value = {formula:"SUM(D7:D11)",result:worksheet.getCell("D7")+worksheet.getCell("D8")+worksheet.getCell("D9")+worksheet.getCell("D10")+worksheet.getCell("D11")}
+        //本次申请
+        worksheet.getCell("E6").value = {formula:"SUM(E7:E11)",result:worksheet.getCell("E7")+worksheet.getCell("E8")+worksheet.getCell("E9")+worksheet.getCell("E10")+worksheet.getCell("E11")}
+        //余额
+        worksheet.getCell("F6").value = {formula:"C6-D6-E6",result:worksheet.getCell("C6")-worksheet.getCell("D6")-worksheet.getCell("E6")}
+    //间接经费
+        //项目成果鉴定费余额
+        worksheet.getCell("F13").value = {formula:"C13-D13-E13",result:worksheet.getCell("C13")-worksheet.getCell("D13")-worksheet.getCell("E13")}
+        //参展参赛费余额
+        worksheet.getCell("F14").value = {formula:"C14-D14-E14",result:worksheet.getCell("C14")-worksheet.getCell("D14")-worksheet.getCell("E14")}
+        //创客交流活动费余额
+        worksheet.getCell("F15").value = {formula:"C15-D15-E15",result:worksheet.getCell("C15")-worksheet.getCell("D15")-worksheet.getCell("E15")}
+        //知识产权事务费余额
+        worksheet.getCell("F16").value = {formula:"C16-D16-E16",result:worksheet.getCell("C16")-worksheet.getCell("D16")-worksheet.getCell("E16")}
+        //其他支出余额
+        worksheet.getCell("F17").value = {formula:"C17-D17-E17",result:worksheet.getCell("C17")-worksheet.getCell("D17")-worksheet.getCell("E17")}
+        //总预算
+        worksheet.getCell("C12").value = {formula:"SUM(C13:C17)",result:worksheet.getCell("C13")+worksheet.getCell("C14")+worksheet.getCell("C15")+worksheet.getCell("C16")+worksheet.getCell("C17")}
+        //已支付
+        worksheet.getCell("D12").value = {formula:"SUM(D13:D17)",result:worksheet.getCell("D13")+worksheet.getCell("D14")+worksheet.getCell("D15")+worksheet.getCell("D16")+worksheet.getCell("D17")}
+        //本次申请
+        worksheet.getCell("E12").value = {formula:"SUM(E13:E17)",result:worksheet.getCell("E13")+worksheet.getCell("E14")+worksheet.getCell("E15")+worksheet.getCell("E16")+worksheet.getCell("E17")}
+        //余额
+        worksheet.getCell("F12").value = {formula:"C12-D12-E12",result:worksheet.getCell("C12")-worksheet.getCell("D12")-worksheet.getCell("E12")}
 
-    //其他支出
-    //预算
-    worksheet.getCell("C17").value='';
-    //已支付
-    worksheet.getCell("D17").value='';
-    //本次申请
-    worksheet.getCell("E17").value='';
-    //余额
-    worksheet.getCell("F17").value = {formula:"C17-D17-E17",result:worksheet.getCell("C17")-worksheet.getCell("D17")-worksheet.getCell("E17")}
-    //事由
-    worksheet.getCell("G17").value = ''
 
-    //间接费用(这个不用填)
-    //总预算
-    worksheet.getCell("C12").value = {formula:"SUM(C13:C17)",result:worksheet.getCell("C13")+worksheet.getCell("C14")+worksheet.getCell("C15")+worksheet.getCell("C16")+worksheet.getCell("C17")}
-    //已支付
-    worksheet.getCell("D12").value = {formula:"SUM(D13:D17)",result:worksheet.getCell("D13")+worksheet.getCell("D14")+worksheet.getCell("D15")+worksheet.getCell("D16")+worksheet.getCell("D17")}
-    // //本次申请
-    worksheet.getCell("E12").value = {formula:"SUM(E13:E17)",result:worksheet.getCell("E13")+worksheet.getCell("E14")+worksheet.getCell("E15")+worksheet.getCell("E16")+worksheet.getCell("E17")}
-    //余额
-    worksheet.getCell("F12").value = {formula:"C12-D12-E12",result:worksheet.getCell("C12")-worksheet.getCell("D12")-worksheet.getCell("E12")}
 
-    //备注
-    worksheet.getCell("G18").value=""
 
     //下载excel文件
     let blob = new Blob([await workbook.xlsx.writeBuffer()], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"});

+ 198 - 69
src/views/fundManage/makerfundApply.vue

@@ -46,7 +46,7 @@
         <div class="howMoneyFlex">
             <div class="howMoney">
                 <div class="inpInterval">直接经费</div>
-                <el-select v-model="item.directFundData" @change="directFundDataSelectChange(item.directFundData)" placeholder="请选择">
+                <el-select v-model="item.directFundData" @change="directFundDataSelectChange()" placeholder="请选择">
                     <el-option
                     v-for="item in item.directFundSelects"
                     :key="item.value"
@@ -98,7 +98,7 @@
             <div class="howMoneyFlex">
                 <div class="howMoney">
                     <div class="inpInterval">间接经费</div>
-                    <el-select v-model="item.indirectFundData" placeholder="请选择">
+                    <el-select v-model="item.indirectFundData" @change="indirectFundSelectChange" placeholder="请选择">
                         <el-option
                         v-for="item in item.indirectFundSelects"
                         :key="item.value"
@@ -258,17 +258,17 @@
                 <caption style="height: 40px;font-size: 22px;">学校创客专项资金使用申请表(单位:元)</caption>
                 <caption style="height: 30px;text-align: left;">
                     <div style="display: flex;">
-                        <div style="margin-right: 10px;"> 项目类型:</div>
-                        <el-checkbox-group v-model="checkList">
-                            <el-checkbox label="创客空间"></el-checkbox>
-                            <el-checkbox label="创客实践室"></el-checkbox>
-                            <el-checkbox label="个人创客"></el-checkbox>
-                            <el-checkbox label="活动创客"></el-checkbox>
-                        </el-checkbox-group>
+                        <div style="margin-right: 10px;margin-top: -5px;"> 项目类型:</div>
+                        <el-radio-group disabled v-model="selects.projectType">
+                          <el-radio label="创客空间">创客空间</el-radio>
+                          <el-radio label="创客实践室">创客实践室</el-radio>
+                          <el-radio label="个人创客">个人创客</el-radio>
+                          <el-radio label="创客活动">创客活动</el-radio>
+                        </el-radio-group>
                     </div>
                     
                 </caption>
-                <caption style="height: 30px;text-align: left;">项目名称:{{ selects.projectName }}</caption>
+                <caption style="height: 30px;text-align: left;">项目名称:<span style="margin-left:30%;font-weight: bold;font-size: 16px;">{{ residue.PName }}</span></caption>
                 <tr>
                     <td>序号</td>
                     <td>经济支出类别(A)</td>
@@ -281,10 +281,10 @@
                 <tr>
                     <td>01</td>
                     <td style="text-align: left;">一.经费支出</td>
-                    <td>0</td>
-                    <td>0</td>
-                    <td>0</td>
-                    <td>0</td>
+                    <td>{{ AllFund.budget }}</td>
+                    <td>{{ AllFund.expended }}</td>
+                    <td>{{ AllFund.application }}</td>
+                    <td>{{ AllFund.surplus }}</td>
                     <td style="width: 20%;"></td>
                 </tr>
                 <tr>
@@ -301,8 +301,8 @@
                     <td style="text-align: left;">小型仪器设备费</td>
                     <td>{{ directData.facility==0?'':directData.facility }}</td>
                     <td>{{ usedDirectData.facility==0?'':usedDirectData.facility }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationDirectData.facility==0?'':applicationDirectData.facility }}</td>
+                    <td>{{ directData.facility-usedDirectData.facility-applicationDirectData.facility }}</td>
                     <td style="width: 20%;">{{ directDataReason.reason }}</td>
                 </tr>
                 <tr>
@@ -310,8 +310,8 @@
                     <td style="text-align: left;">材料费</td>
                     <td>{{ directData.cl==0?'':directData.cl }}</td>
                     <td>{{ usedDirectData.cl==0?'':usedDirectData.cl }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationDirectData.cl==0?'':applicationDirectData.cl }}</td>
+                    <td>{{ directData.cl-usedDirectData.cl-applicationDirectData.cl }}</td>
                     <td style="width: 20%;">{{ directDataReason.reason1 }}</td>
                 </tr>
                 <tr>
@@ -319,8 +319,8 @@
                     <td style="text-align: left;">测试化验加工费</td>
                     <td>{{ directData.jg==0?'':directData.jg }}</td>
                     <td>{{ usedDirectData.jg==0?'':usedDirectData.jg }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationDirectData.jg==0?'':applicationDirectData.jg }}</td>
+                    <td>{{ directData.jg-usedDirectData.jg-applicationDirectData.jg }}</td>
                     <td style="width: 20%;">{{ directDataReason.reason2 }}</td>
                 </tr>
                 <tr>
@@ -328,8 +328,8 @@
                     <td style="text-align: left;">项目协作费</td>
                     <td>{{ directData.xz==0?'':directData.xz }}</td>
                     <td>{{ usedDirectData.xz==0?'':usedDirectData.xz }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationDirectData.xz==0?'':applicationDirectData.xz }}</td>
+                    <td>{{ directData.xz-usedDirectData.xz-applicationDirectData.xz }}</td>
                     <td style="width: 20%;">{{ directDataReason.reason3 }}</td>
                 </tr>
                 <tr>
@@ -337,17 +337,17 @@
                     <td style="text-align: left;">其他支出</td>
                     <td>{{ directData.qt==0?'':directData.qt }}</td>
                     <td>{{ usedDirectData.qt==0?'':usedDirectData.qt }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationDirectData.qt==0?'':applicationDirectData.qt }}</td>
+                    <td>{{ directData.qt- usedDirectData.qt-applicationDirectData.qt}}</td>
                     <td style="width: 20%;">{{ directDataReason.reason4 }}</td>
                 </tr>
                 <tr>
                     <td>08</td>
                     <td style="text-align: left;">(二)间接费用</td>
-                    <td>0</td>
-                    <td>0</td>
-                    <td>0</td>
-                    <td>0</td>
+                    <td>{{ Expenditure['budget'] }}</td>
+                    <td>{{ Expenditure['expended'] }}</td>
+                    <td>{{ Expenditure['application'] }}</td>
+                    <td>{{ Expenditure['surplus'] }}</td>
                     <td style="width: 20%;"></td>
                 </tr>
                 <tr>
@@ -355,8 +355,8 @@
                     <td style="text-align: left;">项目成果鉴定费</td>
                     <td>{{ indirectData.facility==0?'':indirectData.facility }}</td>
                     <td>{{ usedInDirectData.facility==0?'':usedInDirectData.facility }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationInDirectData.facility==0?'':applicationInDirectData.facility }}</td>
+                    <td>{{ indirectData.facility-usedInDirectData.facility-applicationInDirectData.facility }}</td>
                     <td style="width: 20%;">{{ indirectDataReason.reason }}</td>
                 </tr>
                 <tr>
@@ -364,8 +364,8 @@
                     <td style="text-align: left;">参展参赛费</td>
                     <td>{{ indirectData.cl==0?'':indirectData.cl }}</td>
                     <td>{{ usedInDirectData.cl==0?'':usedInDirectData.cl }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationInDirectData.cl==0?'':applicationInDirectData.cl }}</td>
+                    <td>{{ indirectData.cl-usedInDirectData.cl-applicationInDirectData.cl }}</td>
                     <td style="width: 20%;">{{ indirectDataReason.reason1 }}</td>
                 </tr>
                 <tr>
@@ -373,8 +373,8 @@
                     <td style="text-align: left;">创客交流活动费</td>
                     <td>{{ indirectData.jg==0?'':indirectData.jg }}</td>
                     <td>{{ usedInDirectData.jg==0?'':usedInDirectData.jg }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationInDirectData.jg==0?'':applicationInDirectData.jg }}</td>
+                    <td>{{ indirectData.jg-usedInDirectData.jg-applicationInDirectData.jg }}</td>
                     <td style="width: 20%;">{{ indirectDataReason.reason2 }}</td>
                 </tr>
                 <tr>
@@ -382,8 +382,8 @@
                     <td style="text-align: left;">知识产权事务费</td>
                     <td>{{ indirectData.xz==0?'':indirectData.xz }}</td>
                     <td>{{ usedInDirectData.xz==0?'':usedInDirectData.xz }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationInDirectData.xz==0?'':applicationInDirectData.xz }}</td>
+                    <td>{{ indirectData.xz-usedInDirectData.xz-applicationInDirectData.xz }}</td>
                     <td style="width: 20%;">{{ indirectDataReason.reason3 }}</td>
                 </tr>
                 <tr>
@@ -391,8 +391,8 @@
                     <td style="text-align: left;">其他支出</td>
                     <td>{{ indirectData.qt==0?'':indirectData.qt }}</td>
                     <td>{{ usedInDirectData.qt==0?'':usedInDirectData.qt }}</td>
-                    <td></td>
-                    <td>0</td>
+                    <td>{{ applicationInDirectData.qt==0?'':applicationInDirectData.qt }}</td>
+                    <td>{{ indirectData.qt-usedInDirectData.qt-applicationInDirectData.qt }}</td>
                     <td style="width: 20%;">{{ indirectDataReason.reason4 }}</td>
                 </tr>
                 <!-- <tr v-for="(item,index) in items" :key="index">
@@ -421,8 +421,9 @@
 
 <script>
     import BeUpload from "../../components/tool/beUpload.vue";
-
+    import getExcel from "@/components/tool/getExcel";
 export default {
+
     components: {
         BeUpload,
       },
@@ -462,10 +463,18 @@ export default {
             projectType:[     //项目类型
                 {
                     id:1,
-                    name:'个人创客'
+                    name:'创客空间'
                 },
                 {
                     id:2,
+                    name:'创客实践室'
+                },
+                {
+                    id:3,
+                    name:'个人创客'
+                },
+                {
+                    id:4,
                     name:'创客活动'
                 }
             ],      
@@ -595,6 +604,7 @@ export default {
             
 
             residue:{                 //其他
+                    PName:"",//项目名称
                     elseReason:'',
                     budget:'',
                     usedFund:'',
@@ -622,6 +632,13 @@ export default {
                 xz:0,
                 qt:0,
             },
+            applicationDirectData:{    //直接经费本次申请
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0,
+            },
             indirectData:{     //间接经费预算
                 facility:0,
                 cl:0,
@@ -642,7 +659,13 @@ export default {
                 jg:0,
                 xz:0,
                 qt:0,
-                reason:''
+            },
+            applicationInDirectData:{   //间接经费本次申请
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0,
             },
             DirectFunding:{ //直接经费汇总
                 budget:0,       //预算
@@ -650,7 +673,7 @@ export default {
                 application:0,  //本次申请
                 surplus:0,      //余额
             },
-            IndirectFunding:{//简介经费汇总
+            IndirectFunding:{//间接经费汇总
                 budget:0,       //预算
                 expended:0,     //已支付
                 application:0,  //本次申请
@@ -661,8 +684,13 @@ export default {
                 expended:0,     //已支付
                 application:0,  //本次申请
                 surplus:0,      //余额
+            },
+            AllFund:{ //经费支出
+                budget:0,       //预算
+                expended:0,     //已支付
+                application:0,  //本次申请
+                surplus:0,      //余额
             }
-
         }
     },
     methods:{
@@ -674,28 +702,33 @@ export default {
                         this.directData.facility+=e.budget*1;
                         this.usedDirectData.facility+=e.usedFund*1;
                         this.directDataReason.reason=e.reason;
+                        this.applicationDirectData.facility = e.apply*1
                         // console.log(this.directData.facility);
                         break;
                     case 2:
                         this.directData.cl+=e.budget*1;
                         this.usedDirectData.cl+=e.usedFund*1;
                         this.directDataReason.reason1=e.reason;
+                        this.applicationDirectData.cl = e.apply*1
                         // console.log(this.directData.cl);
                         break;
                     case 3:
                         this.directData.jg=e.budget*1;
                         this.usedDirectData.jg+=e.usedFund*1;
                         this.directDataReason.reason2=e.reason;
+                        this.applicationDirectData.jg = e.apply*1
                         break;
                     case 4:
                         this.directData.xz=e.budget*1;
                         this.usedDirectData.xz+=e.usedFund*1;
                         this.directDataReason.reason3=e.reason;
+                        this.applicationDirectData.xz = e.apply*1
                         break;
                     case 5:
                         this.directData.qt=e.budget*1;
                         this.usedDirectData.qt+=e.usedFund*1;
                         this.directDataReason.reason4=e.reason;
+                        this.applicationDirectData.qt = e.apply*1
                         break;
                 }
            })
@@ -706,31 +739,33 @@ export default {
                         this.indirectData.facility+=e.budget*1;
                         this.usedInDirectData.facility+=e.usedFund*1;
                         this.indirectDataReason.reason=e.reason;
+                        this.applicationInDirectData.facility = e.apply*1;
                         // console.log(this.directData.facility);
                         break;
                     case 2:
                         this.indirectData.cl+=e.budget*1;
                         this.usedInDirectData.cl+=e.usedFund*1;
                         this.indirectDataReason.reason1=e.reason;
-
+                        this.applicationInDirectData.cl = e.apply*1;
                         // console.log(this.directData.cl);
                         break;
                     case 3:
                         this.indirectData.jg=e.budget*1;
                         this.usedInDirectData.jg+=e.usedFund*1;
                         this.indirectDataReason.reason2=e.reason;
-
+                        this.applicationInDirectData.jg = e.apply*1;
                         break;
                     case 4:
                         this.indirectData.xz=e.budget*1;
                         this.usedInDirectData.xz+=e.usedFund*1;
                         this.indirectDataReason.reason3=e.reason;
-
+                        this.applicationInDirectData.xz = e.apply*1;
                         break;
                     case 5:
                         this.indirectData.qt=e.budget*1;
                         this.usedInDirectData.qt+=e.usedFund*1;
                         this.indirectDataReason.reason4=e.reason;
+                        this.applicationInDirectData.qt = e.apply*1;
                         break;
                 }
            })
@@ -740,17 +775,33 @@ export default {
             //直接费用全部已支出
             for(let a in this.usedDirectData)this.IndirectFunding['expended']+=this.usedDirectData[a];
             //直接费用本次申请
+            for(let b in this.applicationDirectData)this.IndirectFunding['application']+=this.applicationDirectData[b]
             //直接费用余额
             this.IndirectFunding['surplus'] = this.IndirectFunding['budget']-this.IndirectFunding['expended']-this.IndirectFunding['application']
 
             //间接费用
-            //直接费用全部预算
-            for(let i in this.indirectData)this.Expenditure['budget']+=this.directData[i];
-            //直接费用全部已支出
-            for(let a in this.usedInDirectData)this.Expenditure['expended']+=this.usedDirectData[a];
-            //直接费用本次申请
-            //直接费用余额
+            //间接费用全部预算
+            for(let c in this.indirectData)this.Expenditure['budget']+=this.indirectData[c];
+            //间接费用全部已支出
+            for(let d in this.usedInDirectData)this.Expenditure['expended']+=this.usedInDirectData[d];
+            //间接费用本次申请
+            for(let e in this.applicationInDirectData)this.Expenditure['application']+=this.applicationInDirectData[e];
+            //间接费用余额
             this.Expenditure['surplus'] = this.Expenditure['budget']-this.Expenditure['expended']-this.Expenditure['application']
+
+            //经费支出
+            //预算
+            this.AllFund.budget =this.Expenditure['budget']+this.IndirectFunding['budget'];
+            //已支出
+            this.AllFund.expended = this.Expenditure['expended']+this.IndirectFunding['expended'];
+            //本次申请
+            this.AllFund.application = this.Expenditure['application']+this.IndirectFunding['application']
+            //育儿
+            this.AllFund.surplus = this.AllFund['budget']-this.AllFund['expended']-this.AllFund['application'];
+
+            //项目名称
+            this.residue.PName = this.projectFilter.filter(item=>item.id==this.selects.projectName).length!=0?this.projectFilter.filter(item=>item.id==this.selects.projectName)[0]['title']:'';
+
         },
         createFrom(){   // 显示表单对话框
             this.directData={     //直接经费预算
@@ -788,23 +839,59 @@ export default {
                 reason3:'',
                 reason4:''
             },
+            this.IndirectFunding = { //直接经费汇总
+                budget:0,       //预算
+                expended:0,     //已支付
+                application:0,  //本次申请
+                surplus:0,      //余额
+            },
+            this.Expenditure={//经费支出汇总
+                budget:0,       //预算
+                expended:0,     //已支付
+                application:0,  //本次申请
+                surplus:0,      //余额
+            }
+            this.AllFund={ //经费支出
+                budget:0,       //预算
+                expended:0,     //已支付
+                application:0,  //本次申请
+                surplus:0,      //余额
+            }
+            this.applicationInDirectData={   //间接经费本次申请
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0,
+            }
+            this.applicationDirectData={    //直接经费本次申请
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0,
+            }
             this.AllEquipment();
             this.createFromDialog=true;
         },
         submitCreateFrom(){   //生成表单
-            //直接经费预算
-            console.log("====直接经费预算==========")
-            console.log(this.directData);
-            console.log("====直接经费已支出==========")
-            console.log(this.usedDirectData);
-            console.log("====直接经费事由==========")
-            console.log(this.directDataReason)
-            console.log("====间接经费预算==========")
-            console.log(this.indirectData);
-            console.log("====间接经费已支出==========")
-            console.log(this.usedInDirectData)
-            console.log("====间接经费事由==========")
-            console.log(this.indirectDataReason)
+            getExcel({
+                PName:this.residue.PName,   //项目名称
+                remarks:this.residue.reason,//备注
+                direct:{
+                    budget:this.directData,
+                    expended:this.usedDirectData,
+                    apply:this.applicationDirectData,
+                    reason:this.directDataReason,
+                },
+                indirect:{
+                    budget:this.indirectData,
+                    expended:this.usedInDirectData,
+                    apply:this.applicationInDirectData,
+                    reason:this.indirectDataReason
+                }
+            })
+            
         },
         ProgressFormat(value){        //进度条
           return value ==100?'100%':`${value}%`
@@ -904,9 +991,11 @@ export default {
             for(let k in this.newDirectFundBlock) return this.newDirectFundBlock[k]=''
         },
         addIndirectFund(){         //添加间接经费
-            // this.indirectFundBlock.push(this.newIndirectFundBlock)
+            //判断如果已经写满
+            if(this.indirectFundBlock.length==this.newIndirectFundBlock.indirectFundSelects.length)return this.$message.warning("已无法继续添加")
             let oldArr={};
             Object.assign(oldArr,this.newIndirectFundBlock)
+            oldArr.indirectFundSelects = oldArr.indirectFundSelects.filter(item=>this.indirectFundBlock.filter(dItem=>dItem.indirectFundData==item.value).length==0)
             this.indirectFundBlock.push(oldArr)
             for(let k in this.newIndirectFundBlock) return this.newIndirectFundBlock[k]=''
         },
@@ -915,7 +1004,7 @@ export default {
                 this.submitHint=false;
                 this.createFromDialog=false;
         },
-        directFundDataSelectChange(value){
+        directFundDataSelectChange(){
             //直接经费全部下拉框
             let directFundBlockSelect = [
                     {
@@ -943,7 +1032,6 @@ export default {
             this.directFundBlock.forEach(item=>{
                 //获取他本身自己的下拉框
                 oneself.push(directFundBlockSelect.filter(sItem=>sItem.value==item.directFundData)[0])
-                console.log(oneself)
                 //获取未选择的
                 directFundBlockSelect = directFundBlockSelect.filter(sItem=>sItem.value!=item.directFundData)
             })
@@ -956,7 +1044,48 @@ export default {
             })
             //遍历所有的直接经费
 
-        }
+        },
+        indirectFundSelectChange(){
+            //间接经费全部下拉框
+            let indirectFundSelect = [
+                    {
+                        value:1,
+                        label:'项目成功鉴定费'
+                    },
+                    {
+                        value:2,
+                        label:'参展参赛费'
+                    },
+                    {
+                        value:3,
+                        label:'创客交流活动费'
+                    },
+                    {
+                        value:4,
+                        label:'知识产权事务费'
+                    },
+                    {
+                        value:5,
+                        label:'其他支出'
+                    },
+            ];
+            let oneself=[];
+            this.indirectFundBlock.forEach(item=>{
+                //获取他本身自己的下拉框
+                oneself.push(indirectFundSelect.filter(sItem=>sItem.value==item.indirectFundData)[0])
+                //获取未选择的
+                indirectFundSelect = indirectFundSelect.filter(sItem=>sItem.value!=item.indirectFundData)
+            })
+            //再遍历一遍
+            this.indirectFundBlock.forEach((item,index)=>{
+                let oneSelect = [];
+                indirectFundSelect.forEach(item=>oneSelect.push(item));
+                if(oneself[index]!=undefined)oneSelect.push(oneself[index])
+                item.directFundSelects = oneSelect;
+            })
+            //遍历所有的直接经费
+
+        },
     },
     mounted(){
         this.getData()