Переглянути джерело

Merge branch 'master' of https://git.cocorobo.cn/CocoRoboLabs/ssti-CollegeManage

Q-ABAB 2 роки тому
батько
коміт
7676ea715d
2 змінених файлів з 428 додано та 7 видалено
  1. 1 1
      package-lock.json
  2. 427 6
      src/views/fundManage/makerfundApply.vue

+ 1 - 1
package-lock.json

@@ -6509,7 +6509,7 @@
     },
     "node_modules/exceljs": {
       "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/exceljs/-/exceljs-4.3.0.tgz",
+      "resolved": "https://registry.npmmirror.com/exceljs/-/exceljs-4.3.0.tgz",
       "integrity": "sha512-hTAeo5b5TPvf8Z02I2sKIT4kSfCnOO2bCxYX8ABqODCdAjppI3gI9VYiGCQQYVcBaBSKlFDMKlAQRqC+kV9O8w==",
       "dependencies": {
         "archiver": "^5.0.0",

+ 427 - 6
src/views/fundManage/makerfundApply.vue

@@ -67,7 +67,7 @@
                 <div class="inpInterval twoStyle">余额</div>
                 <el-input disabled :value="item.budget - item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
             </div>
-            <el-button v-show="index!=0" type="primary" style="font-size: 16px;" @click="delDerData(index)">删除</el-button>
+            <el-button v-show="index!=0" type="primary" style="font-size: 16px;height: 40px;line-height: 0;" @click="delDerData(index)">删除</el-button>
         </div>
         <div class="howMoney" >
             <div class="inpInterval" style="position: relative;top:-20px">事由</div>
@@ -116,7 +116,7 @@
                     <div class="inpInterval twoStyle">余额</div>
                     <el-input disabled :value="item.budget - item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
                 </div>
-                <el-button v-show="i!=0" type="primary" style="font-size: 16px;" @click="delInDerData(i)">删除</el-button>
+                <el-button v-show="i!=0" type="primary" style="font-size: 16px;height: 40px;line-height: 0;" @click="delInDerData(i)">删除</el-button>
             </div>
             <div class="howMoney">
                 <div class="inpInterval" style="position: relative;top:-20px">事由</div>
@@ -217,7 +217,7 @@
 
     <div class="baseBtn">
         <div class="blockWidth">
-            <el-button type="primary">生成表单</el-button>
+            <el-button type="primary" @click="createFrom">生成表单</el-button>
             <el-button type="primary" @click="uploadData">提交</el-button>
         </div>
     </div>
@@ -237,6 +237,178 @@
           </span>
         </el-dialog>
       <!-- 提交对话框结束 -->
+      <!-- 生成表单对话框开始 -->
+      <el-dialog
+          title="表单"
+          :visible.sync="createFromDialog"
+          width="60%"
+          style="top: -150px;"
+          class="createFromDialogSty"
+          :before-close="init">
+          <div class="addDialogLogo">LOGO</div>
+          <div class="deleteContent">
+            <table class="tableStyle" width="100%" border="1">
+                <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>
+                    
+                </caption>
+                <caption style="height: 30px;text-align: left;">项目名称:{{ selects.projectName }}</caption>
+                <tr>
+                    <td>序号</td>
+                    <td>经济支出类别(A)</td>
+                    <td>预算</td>
+                    <td>已支付</td>
+                    <td>本次申请</td>
+                    <td>余额</td>
+                    <td style="width: 20%;">事由</td>
+                </tr>
+                <tr>
+                    <td>01</td>
+                    <td style="text-align: left;">一.经费支出</td>
+                    <td>0</td>
+                    <td>0</td>
+                    <td>0</td>
+                    <td>0</td>
+                    <td style="width: 20%;"></td>
+                </tr>
+                <tr>
+                    <td>02</td>
+                    <td style="text-align: left;">(一)直接费用</td>
+                    <td>0</td>
+                    <td>0</td>
+                    <td>0</td>
+                    <td>0</td>
+                    <td style="width: 20%;"></td>
+                </tr>
+                <tr>
+                    <td>03</td>
+                    <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 style="width: 20%;">{{ directDataReason.reason }}</td>
+                </tr>
+                <tr>
+                    <td>04</td>
+                    <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 style="width: 20%;">{{ directDataReason.reason1 }}</td>
+                </tr>
+                <tr>
+                    <td>05</td>
+                    <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 style="width: 20%;">{{ directDataReason.reason2 }}</td>
+                </tr>
+                <tr>
+                    <td>06</td>
+                    <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 style="width: 20%;">{{ directDataReason.reason3 }}</td>
+                </tr>
+                <tr>
+                    <td>07</td>
+                    <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 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 style="width: 20%;"></td>
+                </tr>
+                <tr>
+                    <td>03</td>
+                    <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 style="width: 20%;">{{ indirectDataReason.reason }}</td>
+                </tr>
+                <tr>
+                    <td>04</td>
+                    <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 style="width: 20%;">{{ indirectDataReason.reason1 }}</td>
+                </tr>
+                <tr>
+                    <td>05</td>
+                    <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 style="width: 20%;">{{ indirectDataReason.reason2 }}</td>
+                </tr>
+                <tr>
+                    <td>06</td>
+                    <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 style="width: 20%;">{{ indirectDataReason.reason3 }}</td>
+                </tr>
+                <tr>
+                    <td>07</td>
+                    <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 style="width: 20%;">{{ indirectDataReason.reason4 }}</td>
+                </tr>
+                <!-- <tr v-for="(item,index) in items" :key="index">
+                    <td>{{ index+1 }}</td>
+                    <td style="text-align: left;">{{ item.fromSort }}</td>
+                    <td>{{ item.fromBudget }}</td>
+                    <td>{{ item.fromUsed }}</td>
+                    <td>{{ item.fromApp }}</td>
+                    <td>{{ item.fromBalance }}</td>
+                    <td style="width: 20%;">{{ item.fromReason }}</td>
+                </tr> -->
+                <tr>
+                    <td style="height: 80px;">备注</td>
+                    <td colspan="6" style="text-align:left;">{{ residue.reason }}</td>
+                </tr>
+            </table>
+          </div>
+          <span slot="footer" class="dialog-footer">
+            <el-button type="primary" @click="submitCreateFrom"  class="AllDialogBtn">确认</el-button>
+            <el-button @click="createFromDialog = false" class="AllDialogBtn" size="small">取消</el-button>
+          </span>
+        </el-dialog>
+      <!-- 生成表单对话框结束 -->
   </div>
 </template>
 
@@ -249,8 +421,25 @@ export default {
       },
     data() {
         return {
+            // items:[
+            //     {num:'01',fromSort:'一.经费支出',fromBudget:'0',fromUsed:'0',fromApp:'0',fromBalance:'0',fromReason:''},
+            //     {num:'02',fromSort:'(一)直接费用',fromBudget:'0',fromUsed:'0',fromApp:'0',fromBalance:'0',fromReason:''},
+            //     {num:'03',fromSort:'小型仪器设备费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            //     {num:'04',fromSort:'材料费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            //     {num:'05',fromSort:'测试化验加工费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            //     {num:'06',fromSort:'项目协作费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            //     {num:'07',fromSort:'其他支出',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            //     {num:'08',fromSort:'(二)间接费用',fromBudget:'0',fromUsed:'0',fromApp:'0',fromBalance:'0',fromReason:''},
+            //     {num:'09',fromSort:'项目成果鉴定费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            //     {num:'10',fromSort:'参展参赛费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            //     {num:'11',fromSort:'创客交流活动费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            //     {num:'12',fromSort:'知识产权事务费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            //     {num:'13',fromSort:'其他支出',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
+            // ], 
+            checkList: [],
             accept:"*",
             submitHint:false,   //提交按钮
+            createFromDialog:false,  //生成表单
             dialogImageUrl:require('../../assets/img/zzpic426.jpg'),
             disabled: false,
             file:[],
@@ -401,9 +590,164 @@ export default {
                     reason:'',
                 }
             ,
+            directData:{     //直接经费预算
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0,
+            },
+            directDataReason:{
+                reason:'',
+                reason1:'',
+                reason2:'',
+                reason3:'',
+                reason4:''
+            },
+            usedDirectData:{     //直接经费已支出
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0,
+            },
+            indirectData:{     //间接经费预算
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0,
+            },
+            indirectDataReason:{
+                reason:'',
+                reason1:'',
+                reason2:'',
+                reason3:'',
+                reason4:''
+            },
+            usedInDirectData:{     //间接经费已支出
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0,
+                reason:''
+            },
         }
     },
     methods:{
+        AllEquipment(){
+           this.directFundBlock.forEach((e,i)=>{
+                switch(e.directFundData)
+                {
+                    case 1:
+                        this.directData.facility+=e.budget*1;
+                        this.usedDirectData.facility+=e.usedFund*1;
+                        this.directDataReason.reason=e.reason;
+                        // 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;
+                        // 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;
+                        break;
+                    case 4:
+                        this.directData.xz=e.budget*1;
+                        this.usedDirectData.xz+=e.usedFund*1;
+                        this.directDataReason.reason3=e.reason;
+                        break;
+                    case 5:
+                        this.directData.qt=e.budget*1;
+                        this.usedDirectData.qt+=e.usedFund*1;
+                        this.directDataReason.reason4=e.reason;
+                        break;
+                }
+           })
+           this.indirectFundBlock.forEach((e,i)=>{
+                switch(e.indirectFundData)
+                {
+                    case 1:
+                        this.indirectData.facility+=e.budget*1;
+                        this.usedInDirectData.facility+=e.usedFund*1;
+                        this.indirectDataReason.reason=e.reason;
+                        // 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;
+
+                        // 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;
+
+                        break;
+                    case 4:
+                        this.indirectData.xz=e.budget*1;
+                        this.usedInDirectData.xz+=e.usedFund*1;
+                        this.indirectDataReason.reason3=e.reason;
+
+                        break;
+                    case 5:
+                        this.indirectData.qt=e.budget*1;
+                        this.usedInDirectData.qt+=e.usedFund*1;
+                        this.indirectDataReason.reason4=e.reason;
+                        break;
+                }
+           })
+           
+        },
+        createFrom(){   // 显示表单对话框
+            this.createFromDialog=true;
+            this.directData={     //直接经费预算
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0
+            },
+            this.usedDirectData={     //直接经费已支出
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0
+            },
+            this.indirectData={     //间接经费预算
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0
+            },
+            this.usedInDirectData={     //间接经费已支出
+                facility:0,
+                cl:0,
+                jg:0,
+                xz:0,
+                qt:0
+            },
+            this.directDataReason={
+                reason:'',
+                reason1:'',
+                reason2:'',
+                reason3:'',
+                reason4:''
+            },
+            this.AllEquipment();
+        },
+        submitCreateFrom(){   //生成表单
+
+        },
         ProgressFormat(value){        //进度条
           return value ==100?'100%':`${value}%`
         },
@@ -486,7 +830,7 @@ export default {
             this.ajax
                 .get(this.$store.state.api+'/SelectMakerFundSelects',param)
                 .then(res=>{
-                    console.log(res.data);
+                    // console.log(res.data);
                     this.projectFilter=res.data[1]
                 },err=>{
                     console.log(err);
@@ -508,7 +852,7 @@ export default {
         init(){
                 //重置
                 this.submitHint=false;
-                
+                this.createFromDialog=false;
         },
     },
     mounted(){
@@ -636,7 +980,77 @@ export default {
     }
     //提交对话框结束
 
+    .createFromDialogSty{        //生成表单
+        .el-dialog__header{
+        display: flex;
+        justify-content: center;
+        }
+        .el-dialog{
+            border-radius: 5px;
+            overflow: hidden;
 
+            top: 10%;
+        }
+        
+        .deleteContent{
+            width: 100%;
+            text-align: center;
+            font-size: 22px;
+            color: #000;
+        }
+        .addDialogLogo{
+            width: 60px;
+            height: 30px;
+            border-radius: 5px;
+            display: flex;
+            justify-content: center;
+            line-height: 30px;
+            background: #f2f2f2;
+            position: absolute;
+            left: 20px; top: 15px; 
+        }
+        .el-dialog__header{
+            background: #32455b;
+        }
+        .el-dialog__title{
+            color:#fff;
+            display: flex;
+            justify-content: center;
+            font-size: 18px;
+            position: relative;
+            top: -2px;
+        }
+        .addDialogMid{
+            box-sizing: border-box;
+            padding:0 60px 0 10px;
+        .addDialogTit{
+            display: flex;
+            span{
+            width: 80px;
+            line-height: 40px;
+            text-align: left;
+            }
+        }
+        .addDialogTit1{
+            display: flex;
+            justify-content: space-between;
+            margin-bottom: 15px;
+        }
+        .addDialogTit2{
+            margin-top: 10px;
+            font-size: 18px;
+            color: #000;
+            text-indent: 2em;
+        }
+        .addDialogCon{
+            margin-top: 20px;
+        }
+        }
+        .dialog-footer{
+            display: flex;
+            justify-content: center;
+        }
+    }
 
   .Apply1{         //顶部两个下拉框
     height: 45px;
@@ -692,5 +1106,12 @@ export default {
     }
 
 }
-
+.tableStyle{
+     border-collapse:collapse;
+     font-size: 16px;
+     td{
+        // align-content: center;
+        height: 35px;
+     }
+}
 </style>