|
@@ -1,1356 +0,0 @@
|
|
|
-<template>
|
|
|
- <!-- 创客资金申请表单 -->
|
|
|
- <div class="makerfundApply">
|
|
|
- <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>
|
|
|
- <div class="moneyBlock" v-for="(item,index) in directFundBlock" :key="index"> <!-- 直接经费 -->
|
|
|
- <div class="howMoneyFlex">
|
|
|
- <div style="width: 100%;display: flex;">
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval">直接经费</div>
|
|
|
- <el-select v-model="item.directFundData" @change="directFundDataSelectChange()" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in item.directFundSelects"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval twoStyle">预算</div>
|
|
|
- <el-input v-model="item.budget" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
|
|
|
- </div>
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval">已支付</div>
|
|
|
- <el-input v-model="item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div style="width: 100%;display: flex;flex-wrap: wrap;">
|
|
|
-
|
|
|
- <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 v-model="item.reality" 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 -item.apply" 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
|
|
|
- type="textarea"
|
|
|
- :rows="3"
|
|
|
- class="textArea"
|
|
|
- resize="none"
|
|
|
- style="width:800px"
|
|
|
- placeholder="请输入内容"
|
|
|
- v-model="item.reason">
|
|
|
- </el-input>
|
|
|
- <span class="delText" v-show="index!=0" @click="delDerData(index)">删除</span>
|
|
|
-
|
|
|
- <!-- <el-button v-show="index!=0" type="primary" style="font-size: 16px;height: 40px;margin-left: 10px; line-height: 0;" @click="delDerData(index)">删除</el-button> -->
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <div class="addMoneyBtn" @click="addDirectFund">
|
|
|
- <div class="jia">+</div>添加
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
- <div> <!-- 间接经费 -->
|
|
|
- <div class="moneyBlock" v-for="(item,i) in indirectFundBlock" :key="i">
|
|
|
- <div class="howMoneyFlex">
|
|
|
- <div style="width: 100%;display: flex;">
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval">间接经费</div>
|
|
|
- <el-select v-model="item.indirectFundData" @change="indirectFundSelectChange" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in item.indirectFundSelects"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval twoStyle">预算</div>
|
|
|
- <el-input v-model="item.budget" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
|
|
|
- </div>
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval">已支付</div>
|
|
|
- <el-input v-model="item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div style="width: 100%;display: flex;flex-wrap: wrap;">
|
|
|
- <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 v-model="item.reality" 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 -item.apply" 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
|
|
|
- type="textarea"
|
|
|
- :rows="3"
|
|
|
- class="textArea"
|
|
|
- resize="none"
|
|
|
- style="width:800px"
|
|
|
- placeholder="请输入内容"
|
|
|
- v-model="item.reason">
|
|
|
- </el-input>
|
|
|
- <span class="delText" v-show="i!=0" @click="delInDerData(i)">删除</span>
|
|
|
-
|
|
|
- <!-- <el-button v-show="i!=0" type="primary" style="font-size: 16px;height: 40px;line-height: 0;margin-left: 10px;" @click="delInDerData(i)">删除</el-button> -->
|
|
|
- </div>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <div class="addMoneyBtn" @click="addIndirectFund">
|
|
|
- <div class="jia">+</div>添加
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
-<!-- 其他经费 -->
|
|
|
- <div class="moneyBlock">
|
|
|
- <!-- <div class="howMoneyFlex">
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval" >其他</div>
|
|
|
- <el-input v-model="residue.elseReason" placeholder="请输入内容"></el-input>
|
|
|
- </div>
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval twoStyle">预算</div>
|
|
|
- <el-input v-model="residue.budget" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
|
|
|
- </div>
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval twoStyle">已支付</div>
|
|
|
- <el-input v-model="residue.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
|
|
|
- </div>
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval twoStyle">余额</div>
|
|
|
- <el-input disabled :value="residue.budget - residue.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
|
|
|
- </div>
|
|
|
- </div> -->
|
|
|
- <div class="howMoney">
|
|
|
- <div class="inpInterval" style="position: relative;top:-20px">备注</div>
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- :rows="3"
|
|
|
- resize="none"
|
|
|
- class="textArea"
|
|
|
- style="width:800px"
|
|
|
- placeholder="请输入内容"
|
|
|
- v-model="residue.reason">
|
|
|
- </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"
|
|
|
- >
|
|
|
- <!-- <span class="delUploadBtnSty" ">×</span> -->
|
|
|
- <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>
|
|
|
- <!-- <img v-if="imageUrl" :src="imageUrl" class="avatar"> -->
|
|
|
- </el-upload>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <div class="baseBtn">
|
|
|
- <div class="blockWidth">
|
|
|
- <el-button type="primary" @click="createFrom">生成表单</el-button>
|
|
|
- <el-button type="primary" @click="uploadData">提交</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <!-- 提交对话框开始 -->
|
|
|
- <el-dialog
|
|
|
- title="提示"
|
|
|
- :visible.sync="submitHint"
|
|
|
- width="600px"
|
|
|
- class="pageSubmitData"
|
|
|
- :before-close="init">
|
|
|
- <div class="addDialogLogo">LOGO</div>
|
|
|
- <div class="deleteContent">确定提交?</div>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
|
|
|
- <el-button @click="init" class="AllDialogBtn" size="small">取消</el-button>
|
|
|
- </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;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;">项目名称:<span style="margin-left:30%;font-weight: bold;font-size: 16px;">{{ residue.PName }}</span></caption>
|
|
|
- <tr>
|
|
|
- <td>序号</td>
|
|
|
- <td>经济支出类别(A)</td>
|
|
|
- <td>预算</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>{{ AllFund.budget }}</td>
|
|
|
- <td>{{ AllFund.expended }}</td>
|
|
|
- <td>{{ AllFund.application }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ AllFund.surplus }}</td>
|
|
|
- <td style="width: 20%;"></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>02</td>
|
|
|
- <td style="text-align: left;">(一)直接费用</td>
|
|
|
- <td>{{ IndirectFunding.budget }}</td>
|
|
|
- <td>{{ IndirectFunding.expended }}</td>
|
|
|
- <td>{{IndirectFunding.application}}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ IndirectFunding.surplus }}</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>{{ applicationDirectData.facility==0?'':applicationDirectData.facility }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ directData.facility-usedDirectData.facility-applicationDirectData.facility }}</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>{{ applicationDirectData.cl==0?'':applicationDirectData.cl }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ directData.cl-usedDirectData.cl-applicationDirectData.cl }}</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>{{ applicationDirectData.jg==0?'':applicationDirectData.jg }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ directData.jg-usedDirectData.jg-applicationDirectData.jg }}</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>{{ applicationDirectData.xz==0?'':applicationDirectData.xz }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ directData.xz-usedDirectData.xz-applicationDirectData.xz }}</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>{{ applicationDirectData.qt==0?'':applicationDirectData.qt }}</td>
|
|
|
- <td>实际使用</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>{{ Expenditure['budget'] }}</td>
|
|
|
- <td>{{ Expenditure['expended'] }}</td>
|
|
|
- <td>{{ Expenditure['application'] }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ Expenditure['surplus'] }}</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>{{ applicationInDirectData.facility==0?'':applicationInDirectData.facility }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ indirectData.facility-usedInDirectData.facility-applicationInDirectData.facility }}</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>{{ applicationInDirectData.cl==0?'':applicationInDirectData.cl }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ indirectData.cl-usedInDirectData.cl-applicationInDirectData.cl }}</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>{{ applicationInDirectData.jg==0?'':applicationInDirectData.jg }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ indirectData.jg-usedInDirectData.jg-applicationInDirectData.jg }}</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>{{ applicationInDirectData.xz==0?'':applicationInDirectData.xz }}</td>
|
|
|
- <td>实际使用</td>
|
|
|
- <td>{{ indirectData.xz-usedInDirectData.xz-applicationInDirectData.xz }}</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>{{ applicationInDirectData.qt==0?'':applicationInDirectData.qt }}</td>
|
|
|
- <td>实际使用</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">
|
|
|
- <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>
|
|
|
-
|
|
|
-<script>
|
|
|
- import BeUpload from "../../components/tool/beUpload.vue";
|
|
|
- import getExcel from "@/components/tool/getExcel";
|
|
|
-export default {
|
|
|
-
|
|
|
- components: {
|
|
|
- BeUpload,
|
|
|
- },
|
|
|
- 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:[],
|
|
|
- selects:{ //所选名称,类型id
|
|
|
- projectName:'',
|
|
|
- projectType:''
|
|
|
- },
|
|
|
- progress:{ //进度条
|
|
|
- value:0,
|
|
|
- show:false
|
|
|
- },
|
|
|
- projectFilter:[], //项目名称
|
|
|
- projectType:[ //项目类型
|
|
|
- {
|
|
|
- id:1,
|
|
|
- name:'创客空间'
|
|
|
- },
|
|
|
- {
|
|
|
- id:2,
|
|
|
- name:'创客实践室'
|
|
|
- },
|
|
|
- {
|
|
|
- id:3,
|
|
|
- name:'个人创客'
|
|
|
- },
|
|
|
- {
|
|
|
- id:4,
|
|
|
- name:'创客活动'
|
|
|
- },
|
|
|
- ],
|
|
|
- directFundBlock:[ //直接经费
|
|
|
- {
|
|
|
- directFundData:'',
|
|
|
- directFundSelects:[
|
|
|
- {
|
|
|
- value:1,
|
|
|
- label:'小型仪器设备费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:2,
|
|
|
- label:'材料费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:3,
|
|
|
- label:'测试化验加工费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:4,
|
|
|
- label:'项目协作费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:5,
|
|
|
- label:'其他支出'
|
|
|
- },
|
|
|
- ],
|
|
|
- budget:'', //预算
|
|
|
- usedFund:'', //已使用
|
|
|
- apply:'', //本次申请
|
|
|
- reality:"", //实际使用
|
|
|
- reason:'' //理由
|
|
|
- }
|
|
|
- ],
|
|
|
- newDirectFundBlock:{ //添加直接经费
|
|
|
- directFundData:'',
|
|
|
- directFundSelects:[
|
|
|
- {
|
|
|
- value:1,
|
|
|
- label:'小型仪器设备费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:2,
|
|
|
- label:'材料费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:3,
|
|
|
- label:'测试化验加工费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:4,
|
|
|
- label:'项目协作费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:5,
|
|
|
- label:'其他支出'
|
|
|
- },
|
|
|
- ],
|
|
|
- budget:'', //预算
|
|
|
- usedFund:'', //已使用
|
|
|
- apply:'', //本次申请
|
|
|
- reality:"", //实际使用
|
|
|
- reason:'' //理由
|
|
|
- },
|
|
|
-
|
|
|
- indirectFundBlock:[ //间接经费
|
|
|
- {
|
|
|
- indirectFundData:'',
|
|
|
- indirectFundSelects:[
|
|
|
- {
|
|
|
- value:1,
|
|
|
- label:'项目成功鉴定费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:2,
|
|
|
- label:'参展参赛费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:3,
|
|
|
- label:'创客交流活动费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:4,
|
|
|
- label:'知识产权事务费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:5,
|
|
|
- label:'其他支出'
|
|
|
- },
|
|
|
- ],
|
|
|
- budget:'', //预算
|
|
|
- usedFund:'', //已使用
|
|
|
- apply:'', //本次申请
|
|
|
- reality:"", //实际使用
|
|
|
- reason:'' //理由
|
|
|
- }
|
|
|
- ],
|
|
|
- newIndirectFundBlock:{ //添加间接经费
|
|
|
- indirectFundData:'',
|
|
|
- indirectFundSelects:[
|
|
|
- {
|
|
|
- value:1,
|
|
|
- label:'项目成功鉴定费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:2,
|
|
|
- label:'参展参赛费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:3,
|
|
|
- label:'创客交流活动费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:4,
|
|
|
- label:'知识产权事务费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:5,
|
|
|
- label:'其他支出'
|
|
|
- },
|
|
|
- ],
|
|
|
- budget:'', //预算
|
|
|
- usedFund:'', //已使用
|
|
|
- apply:'', //本次申请
|
|
|
- reality:"", //实际使用
|
|
|
- reason:'' //理由
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
- residue:{ //其他
|
|
|
- PName:"",//项目名称
|
|
|
- elseReason:'',
|
|
|
- budget:'',
|
|
|
- usedFund:'',
|
|
|
- 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,
|
|
|
- },
|
|
|
- applicationDirectData:{ //直接经费本次申请
|
|
|
- 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,
|
|
|
- },
|
|
|
- applicationInDirectData:{ //间接经费本次申请
|
|
|
- facility:0,
|
|
|
- cl:0,
|
|
|
- jg:0,
|
|
|
- xz:0,
|
|
|
- qt:0,
|
|
|
- },
|
|
|
- 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, //余额
|
|
|
- },
|
|
|
- AllFund:{ //经费支出
|
|
|
- budget:0, //预算
|
|
|
- expended:0, //已支付
|
|
|
- application:0, //本次申请
|
|
|
- surplus:0, //余额
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- 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;
|
|
|
- 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']:'';
|
|
|
-
|
|
|
- },
|
|
|
- createFrom(){ // 显示表单对话框
|
|
|
- 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.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(){ //生成表单
|
|
|
- getExcel({
|
|
|
- PName:this.residue.PName, //项目名称
|
|
|
- remarks:this.residue.reason,//备注
|
|
|
- type:this.selects.projectType,//项目类型
|
|
|
- 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}%`
|
|
|
- },
|
|
|
- delInDerData(index){ //删除间接经费
|
|
|
- this.indirectFundBlock.splice(index,1)
|
|
|
- },
|
|
|
- delDerData(index){ //删除直接经费
|
|
|
- console.log(index);
|
|
|
- this.directFundBlock.splice(index,1)
|
|
|
- },
|
|
|
- delUploadBtn(index){ //删除上传文件
|
|
|
- console.log(index);
|
|
|
- this.file.splice(index,1)
|
|
|
- this.$message.success('删除成功')
|
|
|
- },
|
|
|
- handleRemove(index) {
|
|
|
- console.log(index);
|
|
|
- },
|
|
|
- uploadData(){
|
|
|
- this.submitHint=true;
|
|
|
- },
|
|
|
- submitAll(){ //提交创客资金申请
|
|
|
- if(this.selects.projectName=='') return this.$message.error('请选择项目名称')
|
|
|
- if(this.selects.projectType=='') return this.$message.error('请选择项目类型')
|
|
|
-
|
|
|
- let dirSum = this.directFundBlock.reduce((per,cur)=>{
|
|
|
- return per*1+cur.budget*1
|
|
|
- },0)
|
|
|
- let indirSum =this.indirectFundBlock.reduce((per,cur)=>{
|
|
|
- return per*1+cur.budget*1
|
|
|
- },0)
|
|
|
- let allSum=dirSum+indirSum+this.residue.budget*1
|
|
|
-
|
|
|
- let usedDirSum = this.directFundBlock.reduce((per,cur)=>{
|
|
|
- return per*1+cur.usedFund*1
|
|
|
- },0)
|
|
|
- let usedIndirSum =this.indirectFundBlock.reduce((per,cur)=>{
|
|
|
- return per*1+cur.usedFund*1
|
|
|
- },0)
|
|
|
-
|
|
|
- let usedApplyDirSum = this.directFundBlock.reduce((per,cur)=>{
|
|
|
- return per*1+cur.apply*1
|
|
|
- },0)
|
|
|
- let usedApplyIndirSum =this.indirectFundBlock.reduce((per,cur)=>{
|
|
|
- return per*1+cur.apply*1
|
|
|
- },0)
|
|
|
- // return console.log(usedApplyDirSum,usedApplyIndirSum);
|
|
|
- let usedAllSum=usedDirSum+usedIndirSum+usedApplyDirSum+usedApplyIndirSum;
|
|
|
- // return console.log(usedAllSum);
|
|
|
-
|
|
|
- if (usedAllSum>allSum) return this.$message.error('使用金额大于预算')
|
|
|
- let param={
|
|
|
- uid:this.$store.state.userInfo.userid, //用户id
|
|
|
- cid:this.selects.projectName, //项目id
|
|
|
- type:this.selects.projectType, //项目类型
|
|
|
- dir:JSON.stringify(this.directFundBlock), //所有直接经费
|
|
|
- indir:JSON.stringify(this.indirectFundBlock), //所有间接经费
|
|
|
- elseFund:JSON.stringify(this.residue), //
|
|
|
- file:JSON.stringify(this.file), //文件
|
|
|
- AllSum:allSum, //所有钱总和
|
|
|
- usedSum:usedAllSum //已花费金额
|
|
|
- }
|
|
|
- // return console.log(param);
|
|
|
- this.ajax
|
|
|
- .post(this.$store.state.api+'/insertMakerFund',param)
|
|
|
- .then(res=>{
|
|
|
- console.log(res);
|
|
|
- if (res.data==1) {
|
|
|
- this.$router.push('/makerfund')
|
|
|
- return this.$message.success('创建成功')
|
|
|
- }else{
|
|
|
- this.$message.error('创建失败')
|
|
|
- }
|
|
|
- },err=>{
|
|
|
- console.log(err);
|
|
|
- })
|
|
|
- },
|
|
|
- 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,
|
|
|
- fid:''
|
|
|
- }
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api+'/SelectMakerFundSelects',param)
|
|
|
- .then(res=>{
|
|
|
- this.projectFilter=res.data[1]
|
|
|
- console.log(this.projectFilter);
|
|
|
- },err=>{
|
|
|
- console.log(err);
|
|
|
- })
|
|
|
- },
|
|
|
- addDirectFund(){ //添加直接经费
|
|
|
- //判断如果已经写满
|
|
|
- if(this.directFundBlock.length==this.newDirectFundBlock.directFundSelects.length)return this.$message.warning("已无法继续添加")
|
|
|
- let oldArr={};
|
|
|
- Object.assign(oldArr,this.newDirectFundBlock)
|
|
|
- // console.log(oldArr);
|
|
|
- oldArr.directFundSelects = oldArr.directFundSelects.filter(item=>this.directFundBlock.filter(dItem=>dItem.directFundData==item.value).length==0)
|
|
|
- // console.log(oldArr.directFundSelects);
|
|
|
- this.directFundBlock.push(oldArr)
|
|
|
- for(let k in this.newDirectFundBlock) return this.newDirectFundBlock[k]=''
|
|
|
- },
|
|
|
- addIndirectFund(){ //添加间接经费
|
|
|
- //判断如果已经写满
|
|
|
- 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]=''
|
|
|
- },
|
|
|
- init(){
|
|
|
- //重置
|
|
|
- this.submitHint=false;
|
|
|
- this.createFromDialog=false;
|
|
|
- },
|
|
|
- directFundDataSelectChange(){//直接经费全部下拉框
|
|
|
-
|
|
|
- let directFundBlockSelect = [
|
|
|
- {
|
|
|
- value:1,
|
|
|
- label:'小型仪器设备费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:2,
|
|
|
- label:'材料费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:3,
|
|
|
- label:'测试化验加工费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:4,
|
|
|
- label:'项目协作费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:5,
|
|
|
- label:'其他支出'
|
|
|
- },
|
|
|
- ]
|
|
|
- let oneself=[];
|
|
|
- this.directFundBlock.forEach(item=>{
|
|
|
- // return console.log(item.directFundData);
|
|
|
- // console.log(directFundBlockSelect.filter(sItem=>sItem.value==item.directFundData));
|
|
|
- //获取他本身自己的下拉框
|
|
|
- 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)=>{
|
|
|
- // console.log(index);
|
|
|
- let oneSelect = [];
|
|
|
- directFundBlockSelect.forEach(item=>oneSelect.push(item));
|
|
|
- // console.log(oneself[index]);
|
|
|
- if(oneself[index]!=undefined)oneSelect.push(oneself[index])
|
|
|
- // console.log(oneSelect);
|
|
|
- item.directFundSelects = oneSelect;
|
|
|
- // console.log(item.directFundSelects);
|
|
|
- })
|
|
|
- //遍历所有的直接经费
|
|
|
-
|
|
|
- },
|
|
|
- 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()
|
|
|
- }
|
|
|
-}
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="less">
|
|
|
-.makerfundApply{
|
|
|
-
|
|
|
- .maskLayer{
|
|
|
- background: #000;position: absolute;left: 0;top: 0;opacity: .4; width: 100%;height: 100%;border-radius: 5px;
|
|
|
- display: none;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- .delUpload{
|
|
|
- width: 147px;
|
|
|
- margin-left: 60px;
|
|
|
- margin-bottom: 62px;
|
|
|
- }
|
|
|
- .maskLayerI:hover{
|
|
|
- color: #fff;
|
|
|
- }
|
|
|
- .delUpload:hover .maskLayer{
|
|
|
- display: block;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- .delUploadBtnSty{
|
|
|
- position: absolute;
|
|
|
- right: 0;top: 0px;
|
|
|
- line-height: 20px;
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- width: 20px;
|
|
|
- height: 20px;
|
|
|
- font-size: 35px;
|
|
|
- z-index: 10;
|
|
|
- color: #fff;
|
|
|
- // background: #fff;
|
|
|
- }
|
|
|
-
|
|
|
- .avatar-uploader .el-upload { //文件上传
|
|
|
- border: 1px dashed #d9d9d9;
|
|
|
- border-radius: 6px;
|
|
|
- cursor: pointer;
|
|
|
- position: relative;
|
|
|
- overflow: hidden;
|
|
|
- }
|
|
|
-
|
|
|
- .avatar-uploader-icon {
|
|
|
- font-size: 28px;
|
|
|
- color: #8c939d;
|
|
|
- width: 178px;
|
|
|
- height: 178px;
|
|
|
- line-height: 178px;
|
|
|
- text-align: center;
|
|
|
- }
|
|
|
- .avatar {
|
|
|
- width: 178px;
|
|
|
- height: 178px;
|
|
|
- display: block;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- .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;
|
|
|
- width: 100%;
|
|
|
- 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;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- .moneyBlock{
|
|
|
- max-width: 100%;
|
|
|
- margin-bottom: 20px;
|
|
|
- .howMoneyFlex{
|
|
|
- display: flex;
|
|
|
- flex-wrap: wrap;
|
|
|
- }
|
|
|
- .howMoney{
|
|
|
- display: flex;
|
|
|
- margin-right: 40px;
|
|
|
- margin-bottom: 10px;
|
|
|
- justify-content: flex-start;
|
|
|
- .howMoneyInp{
|
|
|
- .el-input__inner{
|
|
|
- width: 170px;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- .inpInterval{ //label
|
|
|
- min-width: 70px;
|
|
|
- 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;
|
|
|
- }
|
|
|
-
|
|
|
- .addMoneyBtn{ //添加样式
|
|
|
- margin: 15px 85px 30px;
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-.tableStyle{
|
|
|
- border-collapse:collapse;
|
|
|
- font-size: 16px;
|
|
|
- td{
|
|
|
- // align-content: center;
|
|
|
- height: 35px;
|
|
|
- }
|
|
|
-}
|
|
|
-.delText{
|
|
|
- margin-left: 20px;cursor: pointer;
|
|
|
- width: 40px;
|
|
|
-}
|
|
|
-.delText:hover{
|
|
|
- color: blue;
|
|
|
-}
|
|
|
-</style>
|