ソースを参照

项目立项申请模块ui

yuanyiming 2 年 前
コミット
38192e7002

+ 2 - 1
src/components/markeractivityWord.vue

@@ -6,7 +6,7 @@
             <div class="date">申请日期:{{wordData.applicationDate}}</div>
         </div>
         <table border="1" cellspacing="0" class="table">
-            <tr>
+            <tr v-if="this.$route.path=='/newMarkerActivity'?1:0">
               <td colspan="4">关联项目</td>
               <td colspan="12">
                 <el-select v-model="wordData['associatedProjects']" @change="checkProjectMoney()" style="width: 100%;" placeholder="请选择关联项目(无关联项目可为空)">
@@ -772,6 +772,7 @@
         mounted(){
           this.getProjectDepartmentData();
           this.getProjectData();
+          console.log(this.$route.path);
         }
       };
     </script>

+ 16 - 7
src/components/studentProjectWord.vue

@@ -159,8 +159,8 @@
             </el-input>
         </td>
         <div class="operate">
-                <el-button @click="addStudent" v-if="wordData.studentS.length==index+1" type="primary" size="mini">+</el-button>
-                <el-button v-if="wordData.studentS.length>6" @click="DelStudent(index)" type="primary" size="mini">-</el-button>
+                <el-button @click="addStudent" v-if="wordData.studentS.length==index+1" type="primary" size="mini">添加</el-button>
+                <el-button v-if="wordData.studentS.length>6" @click="DelStudent(index)" type="primary" size="mini">删除</el-button>
         </div>
       </tr>
       <tr id="teacherS">
@@ -198,8 +198,8 @@
             </el-input>
         </td>
         <div class="operate">
-                <el-button @click="addTeacher" v-if="wordData.teacherS.length==index+1" type="primary" size="mini">+</el-button>
-                <el-button v-if="wordData.teacherS.length!=2" @click="DelTeacher(index)" type="primary" size="mini">-</el-button>
+                <el-button @click="addTeacher" v-if="wordData.teacherS.length==index+1" type="primary" size="mini">添加</el-button>
+                <el-button v-if="wordData.teacherS.length!=2" @click="DelTeacher(index)" type="primary" size="mini">删除</el-button>
         </div>
         <!-- <div style="position: absolute;">
           <div>+</div>
@@ -533,8 +533,8 @@
         <span>2.优先支持项目需提供与研发项目相关的实证材料并查看原件。</span>
         <span>3.初创组已结题项目申请需提供结题验收证明、初创企业申请需提供入驻学校孵化基地协议书及公司营业执照。</span>
         <div style="width: 300px;margin: 20px auto;display: flex;justify-content: space-between;">
-            <el-button style="width: 120px;margin: 20px auto;" @click="submitWord" type="primary">下载表单</el-button>
-            <!-- <el-button style="width: 120px;margin: 20px auto;" type="primary">下载表单</el-button> -->
+            <el-button style="width: 120px;margin: 20px auto;" @click="submitWord" type="primary">下载文档</el-button>
+            <el-button style="width: 120px;margin: 20px auto;" @click="submitProject" type="primary">完成</el-button>
         </div>
       </div>
 </div>
@@ -787,7 +787,9 @@ import { getWord } from './tool/getWord';
       //     .post(this.$store.state.api+'/SelectAllType',param)
       //     .then(err,res)
       },
-      
+      submitProject(){
+        console.log('完成填写');
+      }
     },
     computed:{   //经费总合
       reversedMessage: function () {
@@ -875,6 +877,13 @@ import { getWord } from './tool/getWord';
             text-align: center;
             font-size: 16px;
           }
+          :deep(input)::-webkit-outer-spin-button,
+          :deep(input)::-webkit-inner-spin-button {
+            -webkit-appearance: none;
+          }
+          :deep(input)[type="number"]{
+              -moz-appearance: textfield;
+          }
         }
         
     }

+ 1 - 1
src/components/tool/getWord.js

@@ -450,7 +450,7 @@ function MakerStudentWord(data,fund){
     x.send()
 }
 
-// 学生创业项目申请表下载模板word版
+// 学生创业项目申请表下载模板word版
 function getWord(val){
     JSZipUtils.getBinaryContent('./file/2023年学生创客项目申报书模板.docx',(err,content)=>{
         if (err) {

+ 27 - 2
src/router/index.js

@@ -84,7 +84,27 @@ const routes = [{
                 meta: { isAuth: true }
 
             },
+            { //新学生项目立项申请
+                name: 'newStudentProjectApply',
+                path: '/newStudentProjectApply',
+                component: () =>import ('@/views/projectApply/newStudentProjectApply.vue'),
+                meta: { isAuth: true }
+
+            },
+            { //新创客活动
+                name: 'newMarkerActivity',
+                path: '/newMarkerActivity',
+                component: () =>import ('@/views/projectApply/newMarkerActivity.vue'),
+                meta: { isAuth: true }
 
+            },
+            { //新个人创客
+                name: 'newNomMarker',
+                path: '/newNomMarker',
+                component: () =>import ('@/views/projectApply/newNomMarker.vue'),
+                meta: { isAuth: true }
+
+            },
             {
                 name: 'projectApplicationDetailMain',
                 path: '/projectApplicationDetailMain',
@@ -112,13 +132,18 @@ const routes = [{
                 path: '/makerfundApply',
                 component: () =>import ('@/views/fundManage/makerfundApply.vue'),
                 meta: { isAuth: true }
-
             },
-            { //新创客资金申请
+            { //新创客活动资金申请
                 name: 'newMarkerfundApply',
                 path: '/newMarkerfundApply',
                 component: () =>import ('@/views/fundManage/newMarkerfundApply.vue'),
                 meta: { isAuth: true }
+            },
+            { //新个人创客资金申请
+                name: 'newNomMarkerFundApply',
+                path: '/newNomMarkerFundApply',
+                component: () =>import ('@/views/fundManage/newNomMarkerFundApply.vue'),
+                meta: { isAuth: true }
 
             },
             { //创客资金详情

+ 196 - 179
src/views/fundManage/newMarkerfundApply.vue

@@ -2,8 +2,8 @@
     <!-- 创客资金申请表单 -->
   <div>
     <div class="vfpHeader">
-        <div class="titleOne">创客资金申请</div>
-        <el-button type="primary" @click="$router.back()">返回</el-button>
+        <div class="titleOne">创客活动资金申请</div>
+        <!-- <el-button type="primary" @click="$router.back()">返回</el-button> -->
     </div>
     <hr>
     <!-- 项目名称、类型开始 -->
@@ -18,7 +18,7 @@
             </el-option>
         </el-select>
     </div>
-    <div class="Apply1">
+    <!-- <div class="Apply1">
         <div class="inpInterval">项目类型</div>
         <el-select v-model="selects.projectType" placeholder="请选择">
             <el-option
@@ -28,8 +28,7 @@
             :value="item.name">
             </el-option>
         </el-select>
-    </div>
-    <!-- 项目名称、类型结束 -->
+    </div> -->
 
     <div class="tabTit">
             <div>
@@ -124,7 +123,7 @@
 
 
     <!-- 附件上传开始 -->
-    <div>                            <!-- 附件上传 -->
+    <!-- <div>                           
         <div class="tabTit">
             <div><p>附件上传</p></div>
         </div>
@@ -159,7 +158,7 @@
                 </el-upload>
                
         </div>
-    </div>
+    </div> -->
     <!-- 附件上传结束 -->
 
 
@@ -167,7 +166,7 @@
     <div class="baseBtn">
         <div class="blockWidth">
             <el-button type="primary" @click="submitCreateFrom">生成表单</el-button>
-            <el-button type="primary" @click="uploadData">提交</el-button>
+            <el-button type="primary" @click="submitAll">提交</el-button>
         </div>
     </div>
 
@@ -176,7 +175,7 @@
 
 <script>
     import BeUpload from "../../components/tool/beUpload.vue";
-    import getExcel from "@/components/tool/getExcel";
+    // import getExcel from "@/components/tool/getExcel";
     import downloadExcel from '@/components/tool/downloadExcel'
 export default {
     components: {
@@ -195,173 +194,36 @@ export default {
                 {fundName:'知识产权事务费',budget:100,havePaid:10,thisApply:'',remark:'论文版面费、专利及其他知识产权事务等费用。'},
             ],
             intro:'诶嘿嘿',   //事由
-
-            accept:"*",
             submitHint:false,   //提交按钮
-            createFromDialog:false,  //生成表单
-            dialogImageUrl:require('../../assets/img/zzpic426.jpg'),
-            disabled: false,
-            file:[],
+
             textarea:'',
             selects:{             //所选名称,类型id
                 projectName:'',
                 projectType:''
             },
-            progress:{   //进度条
-                value:0,
-                show:false
-            },  
+            // progress:{   //进度条
+            //     value:0,
+            //     show:false
+            // },  
             projectFilter:[],    //项目名称
-            projectType:[     //项目类型
-                {
-                    id:1,
-                    name:'创客活动'
-                },
-                {
-                    id:2,
-                    name:'个人创客'
-                },
-            ],      
+            // projectType:[     //项目类型
+            //     {
+            //         id:1,
+            //         name:'创客活动'
+            //     },
+            //     {
+            //         id:2,
+            //         name:'个人创客'
+            //     },
+            // ],  
+            // file:[],
+            // accept:"*",
+            // disabled: false,
+            // createFromDialog:false,  //生成表单
+            // dialogImageUrl:require('../../assets/img/zzpic426.jpg'),
         }
     },
     methods:{
-        delABC(event){
-            return (/[\d]/.test(String.fromCharCode(event.keyCode)))
-        },
-        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;
-                        this.applicationDirectData.facility = e.apply*1
-                        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
-                        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;
-                }
-           })
-           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;
-                        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;
-                }
-           })
-        //    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];
-            //直接费用本次申请
-            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 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']:'';
-
-        },
-
-        submitCreateFrom(){   //生成表单
-            downloadExcel(this.fundList,this.intro)
-        },
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-       
-        delUploadBtn(index){           //删除上传文件
-            console.log(index);
-            this.file.splice(index,1)
-            this.$message.success('删除成功')
-        },
-        handleRemove(index) {
-            console.log(index);
-        },
-        uploadData(){
-            this.submitHint=true;
-        },
-        submitAll(){           //提交创客资金申请
-           
-        },
-        getFile(val) {       //上传文件
-            this.file.push(val)
-            this.progress.show = false;
-            // this.imageUrl=require("../../assets/img/jj.jpg")
-        },
         getData(){         //获取活动经费的项目名称
             let param={
                 uid:this.$store.state.userInfo.userid,
@@ -370,13 +232,177 @@ export default {
             this.ajax
                 .get(this.$store.state.api+'/SelectMakerFundSelects',param)
                 .then(res=>{
-                    this.projectFilter=res.data[1]
-                    console.log(this.projectFilter);
+                    let data=res.data[1]
+                    console.log(data);
+                    this.projectFilter=data
+                    // let arr=[];
+                    // let newOption={
+                    //     value:'',
+                    //     label:'',
+                    //     children: [{
+                    //         value: '1',
+                    //         label: '个人创客',
+                    //     }, {
+                    //         value: '2',
+                    //         label: '活动创客',
+                    //     }]
+                    // }
+       
+                    // data.forEach(i => {
+                    //     newOption.value=i.id;
+                    //     newOption.label=i.title;
+                    //     this.options.push(newOption)
+                    // });
+                    // console.log(arr);
+             
                 },err=>{
                     console.log(err);
                 })
         },
-      
+        submitCreateFrom(){   //生成表单
+            downloadExcel(this.fundList,this.intro)
+        },
+        handleChange(value) {
+            console.log(value);
+        },
+        submitAll(){           //提交创客资金申请
+           
+        },
+        // delABC(event){
+        //     return (/[\d]/.test(String.fromCharCode(event.keyCode)))
+        // },
+        // 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;
+        //                 this.applicationDirectData.facility = e.apply*1
+        //                 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
+        //                 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;
+        //         }
+        //    })
+        //    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;
+        //                 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;
+        //         }
+        //    })
+        // //    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];
+        //     //直接费用本次申请
+        //     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 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']:'';
+
+        // },
+
+
+        // ProgressFormat(value){        //进度条
+        //   return value ==100?'100%':`${value}%`
+        // },
+       
+        // delUploadBtn(index){           //删除上传文件
+        //     console.log(index);
+        //     this.file.splice(index,1)
+        //     this.$message.success('删除成功')
+        // },
+        // handleRemove(index) {
+        //     console.log(index);
+        // },
+        // uploadData(){
+        //     this.submitHint=true;
+        // },
+
+        // getFile(val) {       //上传文件
+        //     this.file.push(val)
+        //     this.progress.show = false;
+        //     // this.imageUrl=require("../../assets/img/jj.jpg")
+        // },
+        
+
         init(){
             //重置
             this.submitHint=false;
@@ -404,19 +430,10 @@ export default {
     }
     .Apply1{         //顶部两个下拉框
         height: 45px;
-        width: 100%;
+        width: 50%;
         display: flex;
         justify-content: flex-start;
         margin-top: 20px;
-        .inpName{
-            height: 40px;
-            outline:none ;
-            width: 600px;
-            border: #ccc 1px solid;
-            border-radius: 5px;
-            box-sizing: border-box;
-            padding: 1px 15px;
-        }
     }
 
     .fundType{

+ 565 - 0
src/views/fundManage/newNomMarkerFundApply.vue

@@ -0,0 +1,565 @@
+<template>
+    <!-- 创客资金申请表单 -->
+  <div>
+    <div class="vfpHeader">
+        <div class="titleOne">个人创客资金申请</div>
+        <!-- <el-button type="primary" @click="$router.back()">返回</el-button> -->
+    </div>
+    <hr>
+    <!-- 项目名称、类型开始 -->
+    <div class="Apply1">
+        <div class="inpInterval">项目名称</div>
+        <el-select v-model="selects.projectName"  style="width: 30%;" placeholder="请选择">
+            <el-option
+            v-for="item in projectFilter"
+            :key="item.id"
+            :label="item.title"
+            :value="item.id">
+            </el-option>
+        </el-select>
+    </div>
+    <!-- <div class="Apply1">
+        <div class="inpInterval">项目类型</div>
+        <el-select v-model="selects.projectType" placeholder="请选择">
+            <el-option
+            v-for="item in projectType"
+            :key="item.id"
+            :label="item.name"
+            :value="item.name">
+            </el-option>
+        </el-select>
+    </div> -->
+
+    <div class="tabTit">
+            <div>
+                <p>经费支出类别(单位:元)</p>
+            </div>
+    </div>
+    <hr>
+
+    <table border="1" cellspacing="0" class="table">
+       
+        <tr>
+            <td colspan="2">经济支出类别</td><td>预算</td><td>已支付</td><td>本次申请</td><td>余额</td><td colspan="3">备注</td>
+        </tr>
+        <tr v-for="(item,index) in fundList" :key="index">
+            <td colspan="2">{{ item.fundName }}</td>
+            <td>
+                {{item.budget}}
+            </td>
+            <td>
+                {{item.havePaid}}
+            </td>
+            <td>
+                <el-input
+                type="number"
+                autosize
+                style="width: 100%;"
+                resize="none"
+                onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
+                placeholder="本次申请"
+                v-model="item.thisApply">
+                </el-input>
+            </td>
+            <td>
+                {{ item.budget-item.havePaid-item.thisApply }}
+            </td>
+            <td colspan="3" style="box-sizing: border-box;padding: 0 10px;">
+                {{ item.remark }}
+            </td>
+        </tr>
+        <tr>
+            <td>事由</td>
+            <td colspan="10" class="textLeft">
+                <el-input
+                type="textarea"
+                :autosize="{ minRows: 6, maxRows: 20}"
+                style="width: 100%;"
+                resize="none"
+                placeholder=""
+                v-model="intro">
+                </el-input>
+            </td>
+        </tr>
+        <tr>
+            <td v-for="(i,k) in 9" :key="k" style="border: none;"></td>
+        </tr>
+        
+    </table>
+
+
+
+    <!-- 经费支出类别开始 -->
+    <!-- <div v-for="(item,index) in fundList" :key="index" class="fundType">
+        <div style="font-size: 18px;font-weight: bold;margin-bottom: 10px;">{{ item.fundName }}:</div>
+        <div style="width: 100%; display: flex;flex-wrap: wrap;justify-content: space-between;">
+            <div class="fundInp">
+                <div class="inpInterval">预算</div> <el-input type="number" disabled v-model="item.budget" placeholder="金额"></el-input>
+            </div>
+            <div class="fundInp">
+                <div class="inpInterval">已支付</div> <el-input type="number" disabled v-model="item.havePaid" placeholder="金额"></el-input>
+            </div>
+            <div class="fundInp">
+                <div class="inpInterval">本次申请</div> <el-input type="number" v-model="item.thisApply" placeholder="金额"></el-input>
+            </div>
+            <div class="fundInp">
+                <div class="inpInterval">余额</div> <el-input type="number" disabled v-model="textarea" placeholder="金额"></el-input>
+            </div>
+        </div>
+        <div class="fundInp">
+            <div class="inpInterval" style="position: relative;top: -10px;">备注</div>
+            <el-input
+                type="textarea"
+                :rows="3"
+                resize="none"
+                placeholder="请输入内容"
+                v-model="item.remark">
+            </el-input>
+        </div>
+    </div> -->
+    <!-- 经费支出类别结束-->
+
+
+
+
+    <!-- 附件上传开始 -->
+    <!-- <div>                           
+        <div class="tabTit">
+            <div><p>附件上传</p></div>
+        </div>
+        <hr>
+        <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
+
+        <div style="display: flex;flex-wrap: wrap;width: 100%;margin-bottom: 45px;">
+                <el-upload
+                action="#"
+                list-type="picture-card"
+                style="position: relative;margin-left: 10px;"
+                disabled
+                :on-remove="handleRemove">
+                <BeUpload @getFile="getFile" :progress="progress" style="position: absolute;left: 0;width: 147px;height: 100%;opacity: 0;" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
+                <i class="el-icon-plus"></i>
+                </el-upload>
+
+                <el-upload
+                action="#"
+                list-type="picture-card"
+                class="delUpload"
+                style="position: relative;"
+                v-show="file[0]"
+                disabled
+                v-for="(item,index) in this.file" :key="index"
+                >   
+                    <img style="position: absolute;left: -1px;top:-1px;width: 149px;height: 101%;border-radius: 5px;" :src="dialogImageUrl" alt="">
+                    <div class="maskLayer">
+                        <i @click="delUploadBtn(index)" class="maskLayerI el-icon-close"></i>
+                    </div>             
+                    <div style="position: absolute;left: -20%;bottom: -30px;width: 200px;height: 30px;color: #000;line-height: 30px;display: flex;justify-content: center;">{{ item.fileName }}</div>
+                </el-upload>
+               
+        </div>
+    </div> -->
+    <!-- 附件上传结束 -->
+
+
+
+    <div class="baseBtn">
+        <div class="blockWidth">
+            <el-button type="primary" @click="submitCreateFrom">生成表单</el-button>
+            <el-button type="primary" @click="submitAll">提交</el-button>
+        </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+    import BeUpload from "../../components/tool/beUpload.vue";
+    // import getExcel from "@/components/tool/getExcel";
+    import downloadExcel from '@/components/tool/downloadExcel'
+export default {
+    components: {
+        BeUpload,
+      },
+    data() {
+        return {
+            fundList:[
+                {fundName:'小型仪器设备费',budget:30,havePaid:10,thisApply:10,remark:'项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。'},
+                {fundName:'材料费',budget:100,havePaid:10,thisApply:'',remark:'项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。'},
+                {fundName:'测试化验加工费',budget:100,havePaid:10,thisApply:'',remark:'项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。'},
+                {fundName:'项目协作费',budget:100,havePaid:10,thisApply:'',remark:'按合同规定支付给协作单位的费用'},
+                {fundName:'项目成功鉴定费',budget:100,havePaid:10,thisApply:'',remark:'学术会务费、评审费、鉴定费、成果集制作费等费用。'},
+                {fundName:'参展参赛费',budget:100,havePaid:10,thisApply:'',remark:'参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。'},
+                {fundName:'创客交流活动费',budget:100,havePaid:10,thisApply:'',remark:'创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。'},
+                {fundName:'知识产权事务费',budget:100,havePaid:10,thisApply:'',remark:'论文版面费、专利及其他知识产权事务等费用。'},
+            ],
+            intro:'诶嘿嘿',   //事由
+            submitHint:false,   //提交按钮
+
+            textarea:'',
+            selects:{             //所选名称,类型id
+                projectName:'',
+                projectType:''
+            },
+            // progress:{   //进度条
+            //     value:0,
+            //     show:false
+            // },  
+            projectFilter:[],    //项目名称
+            // projectType:[     //项目类型
+            //     {
+            //         id:1,
+            //         name:'创客活动'
+            //     },
+            //     {
+            //         id:2,
+            //         name:'个人创客'
+            //     },
+            // ],  
+            // file:[],
+            // accept:"*",
+            // disabled: false,
+            // createFromDialog:false,  //生成表单
+            // dialogImageUrl:require('../../assets/img/zzpic426.jpg'),
+        }
+    },
+    methods:{
+        getData(){         //获取活动经费的项目名称
+            let param={
+                uid:this.$store.state.userInfo.userid,
+                fid:''
+            }
+            this.ajax
+                .get(this.$store.state.api+'/SelectMakerFundSelects',param)
+                .then(res=>{
+                    let data=res.data[1]
+                    console.log(data);
+                    this.projectFilter=data
+                    // let arr=[];
+                    // let newOption={
+                    //     value:'',
+                    //     label:'',
+                    //     children: [{
+                    //         value: '1',
+                    //         label: '个人创客',
+                    //     }, {
+                    //         value: '2',
+                    //         label: '活动创客',
+                    //     }]
+                    // }
+       
+                    // data.forEach(i => {
+                    //     newOption.value=i.id;
+                    //     newOption.label=i.title;
+                    //     this.options.push(newOption)
+                    // });
+                    // console.log(arr);
+             
+                },err=>{
+                    console.log(err);
+                })
+        },
+        submitCreateFrom(){   //生成表单
+            downloadExcel(this.fundList,this.intro)
+        },
+        handleChange(value) {
+            console.log(value);
+        },
+        submitAll(){           //提交创客资金申请
+           
+        },
+        // delABC(event){
+        //     return (/[\d]/.test(String.fromCharCode(event.keyCode)))
+        // },
+        // 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;
+        //                 this.applicationDirectData.facility = e.apply*1
+        //                 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
+        //                 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;
+        //         }
+        //    })
+        //    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;
+        //                 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;
+        //         }
+        //    })
+        // //    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];
+        //     //直接费用本次申请
+        //     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 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']:'';
+
+        // },
+
+
+        // ProgressFormat(value){        //进度条
+        //   return value ==100?'100%':`${value}%`
+        // },
+       
+        // delUploadBtn(index){           //删除上传文件
+        //     console.log(index);
+        //     this.file.splice(index,1)
+        //     this.$message.success('删除成功')
+        // },
+        // handleRemove(index) {
+        //     console.log(index);
+        // },
+        // uploadData(){
+        //     this.submitHint=true;
+        // },
+
+        // getFile(val) {       //上传文件
+        //     this.file.push(val)
+        //     this.progress.show = false;
+        //     // this.imageUrl=require("../../assets/img/jj.jpg")
+        // },
+        
+
+        init(){
+            //重置
+            this.submitHint=false;
+            this.createFromDialog=false;
+        },
+        
+      
+    },
+    mounted(){
+        this.getData()
+    }
+}
+</script>
+
+<style lang="less" scoped>
+    .inpInterval{    //label
+        min-width: 80px;
+        display: inline-block;
+        text-align: justify;
+        text-justify:distribute-all-lines;
+        text-align-last: justify;
+        transform: translate(0,22%);
+        padding-right: 15px;
+        font-size: 16px;
+    }
+    .Apply1{         //顶部两个下拉框
+        height: 45px;
+        width: 50%;
+        display: flex;
+        justify-content: flex-start;
+        margin-top: 20px;
+    }
+
+    .fundType{
+        width: 80%;
+        margin-top: 30px;
+        :deep(.el-input__inner){
+            width: 200px;
+            &::-webkit-outer-spin-button,
+            &::-webkit-inner-spin-button {
+                -webkit-appearance: none;
+            }
+            &[type="number"]{
+                -moz-appearance: textfield;
+            }
+        }
+        :deep(.el-textarea__inner){
+            width: 80%;
+        }
+        .fundInp{
+            display: flex;
+            margin-bottom: 10px;
+        }
+        
+    }
+
+    .table{ 
+        border: none;
+        border-top: solid 1px black;
+        // border-right:  solid 1px black;
+        width: 80%;
+        margin: auto;
+        margin-top: 30px;
+        .textLeft{
+          :deep(.el-textarea__inner){
+            border: none ;
+            border-radius: 0px;
+            text-align: left !important;
+            font-size: 16px;
+          }
+        }
+        tr td{
+            border: none;
+            border-bottom: solid 1px black;
+            border-right: solid 1px black;
+          height: 50px;
+          text-align: center;
+          line-height: 30px;
+          width: 9%;
+           
+          &:nth-child(1){
+                border-left:  solid 1px black;
+              }
+          p{
+            font-weight: 600;
+          }
+          :deep(.el-select .el-input .el-select__caret){
+            display: none;
+          }
+          :deep(.el-textarea__inner){
+            // padding: 0;
+            border: none ;
+            border-radius: 0px;
+            text-align: center;
+            font-size: 16px;
+          }
+          :deep(.el-input__inner){
+            border: none ;
+            border-radius: 0px;
+            text-align: center;
+            font-size: 16px;
+             //去除input number样式
+            &::-webkit-outer-spin-button,
+            &::-webkit-inner-spin-button {
+                -webkit-appearance: none;
+            }
+            &[type="number"]{
+                -moz-appearance: textfield;
+            }
+          }
+        }
+        
+    }
+    .textLeft{
+          :deep(.el-textarea__inner){
+            border: none ;
+            border-radius: 0px;
+            text-align: left !important;
+            font-size: 16px;
+          }
+        }
+
+    .delUpload{    //文件上传
+        width: 147px;
+        margin-left: 60px;
+        margin-bottom: 62px;
+        &:hover .maskLayer{
+            display: block;
+        }
+        .maskLayer{
+            background: #000;position: absolute;left: 0;top: 0;opacity: .4; width: 100%;height: 100%;border-radius: 5px;
+            display: none;
+        }
+        .maskLayerI:hover{
+            color: #fff;
+        }
+        :deep(.avatar-uploader .el-upload) {         //文件上传
+            border: 1px dashed #d9d9d9;
+            border-radius: 6px;
+            cursor: pointer;
+            position: relative;
+            overflow: hidden;
+        }
+
+        :deep(.avatar-uploader-icon) {
+            font-size: 28px;
+            color: #8c939d;
+            width: 178px;
+            height: 178px;
+            line-height: 178px;
+            text-align: center;
+        }
+        :deep(.avatar) {
+            width: 178px;
+            height: 178px;
+            display: block;
+        }
+    }
+
+</style>

+ 8 - 8
src/views/home.vue

@@ -81,14 +81,14 @@
           navList:[
             {id:1,label:"项目立项申请",goto:"/projectApplication",icon:"iconfont icon-shuben",group:[
               {label:"创客空间",goto:"/projectApplication"},
-              {label:"创客项目",goto:"/makerActvity"},
-              {label:"活动申请",icon:"el-icon-wind-power",goto:"/makerActvity",group:[
-                {label:"创客活动",icon:"iconfont icon-shuben",goto:"/makerActvity"},
-                {label:"个人创客",icon:"iconfont icon-shuben",goto:"/makerActvity"},
+              {label:"创客项目",goto:"/newStudentProjectApply"},
+              {label:"活动申请",icon:"el-icon-wind-power",goto:"/newMarkerActivity",group:[
+                {label:"创客活动",icon:"iconfont icon-shuben",goto:"/newMarkerActivity"},
+                {label:"个人创客",icon:"iconfont icon-shuben",goto:"/newNomMarker"},
               ]}]},
-            {id:2,label:"事后汇总",goto:"/makerfund",icon:"iconfont icon-zijinguanli",group:[
-              {label:"创客活动资金申请",goto:"/makerfund"},
-              {label:"个人创客资金申请",goto:"/makerfund"}
+            {id:2,label:"事后汇总",goto:"/newMarkerfundApply",icon:"iconfont icon-zijinguanli",group:[
+              {label:"创客活动资金申请",goto:"/newMarkerfundApply"},
+              {label:"个人创客资金申请",goto:"/newNomMarkerFundApply"}
             ]},
             // {id:3,label:"资金使用管理",goto:"/makerfund",icon:"iconfont icon-zijinguanli",group:[]},
             {id:4,label:"项目管理",goto:"/ProjectManagement",icon:"el-icon-receiving",group:[]},
@@ -143,7 +143,7 @@
               display: flex;
               align-items: center;
               flex-direction: column;
-              min-width: 170px;
+              min-width: 220px;
               .btns{
                 display: flex;
                 width: 100%;

+ 67 - 0
src/views/projectApply/newMarkerActivity.vue

@@ -0,0 +1,67 @@
+<template>
+    <!-- 测试上传组件 -->
+    <div v-loading="loading" id="test">
+      <div id="word">
+         <!-- 学生项目立项 -->
+        <!-- <studentProjectWord />    -->
+
+  
+
+         <!-- 创客专项资金及项目申请表(创客活动) -->
+        <markeractivityWord/>
+      </div>
+     
+    </div>
+  </template>
+  
+  <script>
+  // import MakerSpaceWord from '../components/MakerSpaceWord.vue'
+  import BeUpload from "@/components/tool/beUpload.vue";
+  import getExcel from "@/components/tool/getExcel";
+  import studentProjectWord from '@/components/studentProjectWord.vue'
+  import markerFundWord from '@/components/markerFundWord.vue';
+  import markeractivityWord from '@/components/markeractivityWord.vue';
+  export default {
+    components: {
+      BeUpload,
+      studentProjectWord,
+      markerFundWord,
+      markeractivityWord
+    },
+    data() {
+      return {
+        accept: "*",
+        loading:false,
+
+      };
+    },
+    methods: {
+      getFile(val) {
+        console.log(val);
+      },
+      Excel(){
+        getExcel("数据")
+      }
+    },
+  };
+  </script>
+  
+  <style lang="less" scoped>
+  #test{
+    // width: 100vw;
+    display: flex;
+    justify-content: center;
+  }
+  #word{
+    width: 1550px;
+    height: auto;
+  }
+    //去除input number样式
+  input::-webkit-outer-spin-button,
+    input::-webkit-inner-spin-button {
+    -webkit-appearance: none;
+  }
+  input[type="number"]{
+      -moz-appearance: textfield;
+  }
+  </style>

+ 67 - 0
src/views/projectApply/newNomMarker.vue

@@ -0,0 +1,67 @@
+<template>
+    <!-- 测试上传组件 -->
+    <div v-loading="loading" id="test">
+      <div id="word">
+         <!-- 学生项目立项 -->
+        <!-- <studentProjectWord />    -->
+
+  
+
+         <!-- 创客专项资金及项目申请表(创客活动) -->
+        <markeractivityWord/>
+      </div>
+     
+    </div>
+  </template>
+  
+  <script>
+  // import MakerSpaceWord from '../components/MakerSpaceWord.vue'
+  import BeUpload from "@/components/tool/beUpload.vue";
+  import getExcel from "@/components/tool/getExcel";
+  import studentProjectWord from '@/components/studentProjectWord.vue'
+  import markerFundWord from '@/components/markerFundWord.vue';
+  import markeractivityWord from '@/components/markeractivityWord.vue';
+  export default {
+    components: {
+      BeUpload,
+      studentProjectWord,
+      markerFundWord,
+      markeractivityWord
+    },
+    data() {
+      return {
+        accept: "*",
+        loading:false,
+
+      };
+    },
+    methods: {
+      getFile(val) {
+        console.log(val);
+      },
+      Excel(){
+        getExcel("数据")
+      }
+    },
+  };
+  </script>
+  
+  <style lang="less" scoped>
+  #test{
+    // width: 100vw;
+    display: flex;
+    justify-content: center;
+  }
+  #word{
+    width: 1550px;
+    height: auto;
+  }
+    //去除input number样式
+  input::-webkit-outer-spin-button,
+    input::-webkit-inner-spin-button {
+    -webkit-appearance: none;
+  }
+  input[type="number"]{
+      -moz-appearance: textfield;
+  }
+  </style>

+ 67 - 0
src/views/projectApply/newStudentProjectApply.vue

@@ -0,0 +1,67 @@
+<template>
+    <!-- 测试上传组件 -->
+    <div v-loading="loading" id="test">
+      <div id="word">
+         <!-- 学生项目立项 -->
+        <studentProjectWord />   
+
+  
+
+         <!-- 创客专项资金及项目申请表(创客活动) -->
+        <!-- <markeractivityWord/> -->
+      </div>
+     
+    </div>
+  </template>
+  
+  <script>
+  // import MakerSpaceWord from '../components/MakerSpaceWord.vue'
+  import BeUpload from "@/components/tool/beUpload.vue";
+  import getExcel from "@/components/tool/getExcel";
+  import studentProjectWord from '@/components/studentProjectWord.vue'
+  import markerFundWord from '@/components/markerFundWord.vue';
+  import markeractivityWord from '@/components/markeractivityWord.vue';
+  export default {
+    components: {
+      BeUpload,
+      studentProjectWord,
+      markerFundWord,
+      markeractivityWord
+    },
+    data() {
+      return {
+        accept: "*",
+        loading:false,
+
+      };
+    },
+    methods: {
+      getFile(val) {
+        console.log(val);
+      },
+      Excel(){
+        getExcel("数据")
+      }
+    },
+  };
+  </script>
+  
+  <style lang="less" scoped>
+  #test{
+    // width: 100vw;
+    display: flex;
+    justify-content: center;
+  }
+  #word{
+    width: 1550px;
+    height: auto;
+  }
+    //去除input number样式
+  input::-webkit-outer-spin-button,
+    input::-webkit-inner-spin-button {
+    -webkit-appearance: none;
+  }
+  input[type="number"]{
+      -moz-appearance: textfield;
+  }
+  </style>