yuanyiming 2 роки тому
батько
коміт
3237137395
3 змінених файлів з 159 додано та 51 видалено
  1. 35 35
      src/components/tool/getExcel.js
  2. 123 15
      src/views/fundManage/makerfundApply.vue
  3. 1 1
      src/views/home.vue

+ 35 - 35
src/components/tool/getExcel.js

@@ -37,12 +37,12 @@ export default async function getExcel(data){
     worksheet.getCell('G3').value="项目名称:                                        ";
     
     //小型仪器设备费
-    //预算 
-    worksheet.getCell("C7").value=0;
-    //已支付
-    worksheet.getCell("D7").value=0;
-    //本次申请
-    worksheet.getCell("E7").value=0;
+    // //预算 
+    // 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")}
     //事由
@@ -50,11 +50,11 @@ export default async function getExcel(data){
 
     //材料费
     //预算
-    worksheet.getCell("C8").value=0;
+    worksheet.getCell("C8").value='';
     //已支付
-    worksheet.getCell("D8").value=0;
+    worksheet.getCell("D8").value='';
     //本次申请
-    worksheet.getCell("E8").value=0;
+    worksheet.getCell("E8").value='';
     //余额
     worksheet.getCell("F8").value = {formula:"C8-D8-E8",result:worksheet.getCell("C8")-worksheet.getCell("D8")-worksheet.getCell("E8")}
     //事由
@@ -62,11 +62,11 @@ export default async function getExcel(data){
 
     //测试化验加工费
     //预算
-    worksheet.getCell("C9").value=0;
+    worksheet.getCell("C9").value='';
     //已支付
-    worksheet.getCell("D9").value=0;
+    worksheet.getCell("D9").value='';
     //本次申请
-    worksheet.getCell("E9").value=0;
+    worksheet.getCell("E9").value='';
     //余额
     worksheet.getCell("F9").value = {formula:"C9-D9-E9",result:worksheet.getCell("C9")-worksheet.getCell("D9")-worksheet.getCell("E9")}
     //事由
@@ -74,11 +74,11 @@ export default async function getExcel(data){
 
     //项目协作费
     //预算
-    worksheet.getCell("C10").value=0;
+    worksheet.getCell("C10").value='';
     //已支付
-    worksheet.getCell("D10").value=0;
+    worksheet.getCell("D10").value='';
     //本次申请
-    worksheet.getCell("E10").value=0;
+    worksheet.getCell("E10").value='';
     //余额
     worksheet.getCell("F10").value = {formula:"C10-D10-E10",result:worksheet.getCell("C10")-worksheet.getCell("D10")-worksheet.getCell("E10")}
     //事由
@@ -86,11 +86,11 @@ export default async function getExcel(data){
 
     //其他支出
     //预算
-    worksheet.getCell("C11").value=0;
+    worksheet.getCell("C11").value='';
     //已支付
-    worksheet.getCell("D11").value=0;
+    worksheet.getCell("D11").value='';
     //本次申请
-    worksheet.getCell("E11").value=0;
+    worksheet.getCell("E11").value='';
     //余额
     worksheet.getCell("F11").value = {formula:"C11-D11-E11",result:worksheet.getCell("C11")-worksheet.getCell("D11")-worksheet.getCell("E11")}
     //事由
@@ -108,11 +108,11 @@ export default async function getExcel(data){
 
     //项目成果鉴定费
     //预算
-    worksheet.getCell("C13").value=0;
+    worksheet.getCell("C13").value='';
     //已支付
-    worksheet.getCell("D13").value=0;
+    worksheet.getCell("D13").value='';
     //本次申请
-    worksheet.getCell("E13").value=0;
+    worksheet.getCell("E13").value='';
     //余额
     worksheet.getCell("F13").value = {formula:"C13-D13-E13",result:worksheet.getCell("C13")-worksheet.getCell("D13")-worksheet.getCell("E13")}
     //事由
@@ -120,23 +120,23 @@ export default async function getExcel(data){
 
     //参展参赛费
     //预算
-    worksheet.getCell("C14").value=0;
+    worksheet.getCell("C14").value='';
     //已支付
-    worksheet.getCell("D14").value=0;
+    worksheet.getCell("D14").value='';
     //本次申请
-    worksheet.getCell("E14").value=0;
+    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 = ''
 
     //创客交流活动费
     //预算
-    worksheet.getCell("C15").value=0;
+    worksheet.getCell("C15").value='';
     //已支付
-    worksheet.getCell("D15").value=0;
+    worksheet.getCell("D15").value='';
     //本次申请
-    worksheet.getCell("E15").value=0;
+    worksheet.getCell("E15").value='';
     //余额
     worksheet.getCell("F15").value = {formula:"C15-D15-E15",result:worksheet.getCell("C15")-worksheet.getCell("D15")-worksheet.getCell("E15")}
     //事由
@@ -144,11 +144,11 @@ export default async function getExcel(data){
 
     //知识产权事务费
     //预算
-    worksheet.getCell("C16").value=0;
+    worksheet.getCell("C16").value='';
     //已支付
-    worksheet.getCell("D16").value=0;
+    worksheet.getCell("D16").value='';
     //本次申请
-    worksheet.getCell("E16").value=0;
+    worksheet.getCell("E16").value='';
     //余额
     worksheet.getCell("F16").value = {formula:"C16-D16-E16",result:worksheet.getCell("C16")-worksheet.getCell("D16")-worksheet.getCell("E16")}
     //事由
@@ -156,11 +156,11 @@ export default async function getExcel(data){
 
     //其他支出
     //预算
-    worksheet.getCell("C17").value=0;
+    worksheet.getCell("C17").value='';
     //已支付
-    worksheet.getCell("D17").value=0;
+    worksheet.getCell("D17").value='';
     //本次申请
-    worksheet.getCell("E17").value=0;
+    worksheet.getCell("E17").value='';
     //余额
     worksheet.getCell("F17").value = {formula:"C17-D17-E17",result:worksheet.getCell("C17")-worksheet.getCell("D17")-worksheet.getCell("E17")}
     //事由
@@ -171,7 +171,7 @@ export default async function getExcel(data){
     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")}

+ 123 - 15
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" placeholder="请选择">
+                <el-select v-model="item.directFundData" @change="directFundDataSelectChange(item.directFundData)" placeholder="请选择">
                     <el-option
                     v-for="item in item.directFundSelects"
                     :key="item.value"
@@ -63,9 +63,13 @@
                 <div class="inpInterval twoStyle">已支付</div>
                 <el-input v-model="item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
             </div>
+            <div class="howMoney">
+                <div class="inpInterval twoStyle">本次申请</div>
+                <el-input v-model="item.apply" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
+            </div>
             <div class="howMoney">
                 <div class="inpInterval twoStyle">余额</div>
-                <el-input disabled :value="item.budget - item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
+                <el-input disabled :value="item.budget - item.usedFund -item.apply" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
             </div>
             <el-button v-show="index!=0" type="primary" style="font-size: 16px;height: 40px;line-height: 0;" @click="delDerData(index)">删除</el-button>
         </div>
@@ -110,11 +114,14 @@
                 <div class="howMoney">
                     <div class="inpInterval twoStyle">已支付</div>
                     <el-input v-model="item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-
+                </div>
+                <div class="howMoney">
+                    <div class="inpInterval twoStyle">本次申请</div>
+                    <el-input v-model="item.apply" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
                 </div>
                 <div class="howMoney">
                     <div class="inpInterval twoStyle">余额</div>
-                    <el-input disabled :value="item.budget - item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
+                    <el-input disabled :value="item.budget - item.usedFund -item.apply" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
                 </div>
                 <el-button v-show="i!=0" type="primary" style="font-size: 16px;height: 40px;line-height: 0;" @click="delInDerData(i)">删除</el-button>
             </div>
@@ -140,9 +147,9 @@
     </div>
 
 
-
-    <div class="moneyBlock">          <!-- 其他经费 -->
-        <div class="howMoneyFlex">
+<!-- 其他经费 -->
+    <div class="moneyBlock">          
+        <!-- <div class="howMoneyFlex">
             <div class="howMoney">
                 <div class="inpInterval" >其他</div>
                 <el-input v-model="residue.elseReason" placeholder="请输入内容"></el-input>
@@ -159,7 +166,7 @@
                 <div class="inpInterval twoStyle">余额</div>
                 <el-input disabled :value="residue.budget - residue.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
             </div>
-        </div>
+        </div> -->
         <div class="howMoney">
             <div class="inpInterval" style="position: relative;top:-20px">备注</div>
             <el-input
@@ -283,10 +290,10 @@
                 <tr>
                     <td>02</td>
                     <td style="text-align: left;">(一)直接费用</td>
-                    <td>0</td>
-                    <td>0</td>
-                    <td>0</td>
-                    <td>0</td>
+                    <td>{{ IndirectFunding.budget }}</td>
+                    <td>{{ IndirectFunding.expended }}</td>
+                    <td>{{IndirectFunding.application}}</td>
+                    <td>{{ IndirectFunding.surplus }}</td>
                     <td style="width: 20%;"></td>
                 </tr>
                 <tr>
@@ -498,6 +505,7 @@ export default {
                     ],
                     budget:'',         //预算
                     usedFund:'',       //已使用
+                    apply:'',          //本次申请
                     reason:''          //理由
                 }
             ], 
@@ -527,6 +535,7 @@ export default {
                 ],
                 budget:'',         //预算
                 usedFund:'',       //已使用
+                apply:'',          //本次申请
                 reason:''          //理由
             },
 
@@ -559,6 +568,7 @@ export default {
                     ],
                     budget:'',         //预算
                     usedFund:'',       //已使用
+                    apply:'',          //本次申请
                     reason:''          //理由
                 }
             ], 
@@ -588,6 +598,7 @@ export default {
                 ],
                 budget:'',         //预算
                 usedFund:'',       //已使用
+                apply:'',          //本次申请
                 reason:''          //理由
             },
             
@@ -642,6 +653,25 @@ export default {
                 qt:0,
                 reason:''
             },
+            DirectFunding:{ //直接经费汇总
+                budget:0,       //预算
+                expended:0,     //已支付
+                application:0,  //本次申请
+                surplus:0,      //余额
+            },
+            IndirectFunding:{//简介经费汇总
+                budget:0,       //预算
+                expended:0,     //已支付
+                application:0,  //本次申请
+                surplus:0,      //余额
+            },
+            Expenditure:{//经费支出汇总
+                budget:0,       //预算
+                expended:0,     //已支付
+                application:0,  //本次申请
+                surplus:0,      //余额
+            }
+
         }
     },
     methods:{
@@ -713,10 +743,25 @@ export default {
                         break;
                 }
            })
-           
+        //    this.DirectFunding.budget = this.
+            //直接费用全部预算
+            for(let i in this.directData)this.IndirectFunding['budget']+=this.directData[i];
+            //直接费用全部已支出
+            for(let a in this.usedDirectData)this.IndirectFunding['expended']+=this.usedDirectData[a];
+            //直接费用本次申请
+            //直接费用余额
+            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];
+            //直接费用本次申请
+            //直接费用余额
+            this.Expenditure['surplus'] = this.Expenditure['budget']-this.Expenditure['expended']-this.Expenditure['application']
         },
         createFrom(){   // 显示表单对话框
-            this.createFromDialog=true;
             this.directData={     //直接经费预算
                 facility:0,
                 cl:0,
@@ -760,9 +805,22 @@ export default {
                 reason4:''
             },
             this.AllEquipment();
+            this.createFromDialog=true;
         },
         submitCreateFrom(){   //生成表单
-            getExcel([this.directData,this.usedDirectData,this.indirectData,this.usedInDirectData,this.directDataReason,this.indirectDataReason])
+            //直接经费预算
+            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)
         },
         ProgressFormat(value){        //进度条
           return value ==100?'100%':`${value}%`
@@ -853,6 +911,7 @@ export default {
                 })
         },
         addDirectFund(){           //添加直接经费
+<<<<<<< HEAD
             let ok=true;
             let oldArr={};
             Object.assign(oldArr,this.newDirectFundBlock) 
@@ -870,6 +929,13 @@ export default {
             if(!ok) return false
               
             
+=======
+            //判断如果已经写满
+            if(this.directFundBlock.length==this.newDirectFundBlock.directFundSelects.length)return this.$message.warning("已无法继续添加")
+            let oldArr={};
+            Object.assign(oldArr,this.newDirectFundBlock)
+            oldArr.directFundSelects = oldArr.directFundSelects.filter(item=>this.directFundBlock.filter(dItem=>dItem.directFundData==item.value).length==0)
+>>>>>>> 492a1929e977afdc7919d2e817ac75807e373b35
             this.directFundBlock.push(oldArr)
             for(let k in this.newDirectFundBlock) return this.newDirectFundBlock[k]=''
         },
@@ -885,6 +951,48 @@ export default {
                 this.submitHint=false;
                 this.createFromDialog=false;
         },
+        directFundDataSelectChange(value){
+            //直接经费全部下拉框
+            let directFundBlockSelect = [
+                    {
+                        value:1,
+                        label:'小型仪器设备费'
+                    },
+                    {
+                        value:2,
+                        label:'材料费'
+                    },
+                    {
+                        value:3,
+                        label:'测试化验加工费'
+                    },
+                    {
+                        value:4,
+                        label:'项目协作费'
+                    },
+                    {
+                        value:5,
+                        label:'其他支出'
+                    },
+                ]
+            let oneself=[];
+            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)
+            })
+            //再遍历一遍
+            this.directFundBlock.forEach((item,index)=>{
+                let oneSelect = [];
+                directFundBlockSelect.forEach(item=>oneSelect.push(item));
+                if(oneself[index]!=undefined)oneSelect.push(oneself[index])
+                item.directFundSelects = oneSelect;
+            })
+            //遍历所有的直接经费
+
+        }
     },
     mounted(){
         this.getData()

+ 1 - 1
src/views/home.vue

@@ -30,7 +30,7 @@
         return {
           navList:[
             {id:1,label:"项目立项申请",goto:"/projectApplication",icon:"iconfont icon-shuben"},
-            {id:2,label:"活动管理",goto:"/makerActvity",icon:"iconfont icon-yinliang"},
+            {id:2,label:"活动管理",goto:"/makerActvity",icon:"el-icon-wind-power"},
             {id:3,label:"资金使用管理",goto:"/makerfund",icon:"iconfont icon-zijinguanli"},
             {id:4,label:"项目管理",goto:"/ProjectManagement",icon:"iconfont icon-project_management"},
             {id:5,label:"项目结项",goto:"/projectSettlement",icon:"iconfont icon-_yuanhuanchong"},