|
@@ -1,874 +0,0 @@
|
|
|
-<template>
|
|
|
- <!-- 项目立项申请预算经费表单 -->
|
|
|
- <div class="proBudgetFund">
|
|
|
- <!-- 左边栏 -->
|
|
|
- <div class="left">
|
|
|
- <div class="sx"> <!--圆球和竖线 -->
|
|
|
- <div class="qiu"></div>
|
|
|
- </div>
|
|
|
- <!-- 左边栏内容开始 -->
|
|
|
- <div class="leftTits">
|
|
|
- <div>月支出计划</div>
|
|
|
- <div>支出明细</div>
|
|
|
- <div>完成</div>
|
|
|
- </div>
|
|
|
- <!-- 左边栏内容结束 -->
|
|
|
- </div>
|
|
|
-
|
|
|
- <!-- 右边栏 -->
|
|
|
- <div class="right">
|
|
|
-
|
|
|
- <!-- 预算经费金额开始 -->
|
|
|
- <div class="vfpHeader">
|
|
|
- <div class="titleOne">预算经费</div>
|
|
|
- <el-button @click="back()" type="primary" size="mini">返回</el-button>
|
|
|
- </div>
|
|
|
- <hr>
|
|
|
- <div class="totalFund">
|
|
|
- <div class="totalFundLabel">预算总经费</div>
|
|
|
- <el-input type="number" class="inputNumber" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))" v-model.number="data2.select.fund" style="width: 180px;" placeholder="请输入内容"></el-input>
|
|
|
- <div style="line-height: 38px;margin-left: 5px;">(万)</div>
|
|
|
- </div>
|
|
|
- <!-- 预算经费金额结束 -->
|
|
|
-
|
|
|
- <!-- 设置经费和表格开始 -->
|
|
|
- <div class="tabTit">
|
|
|
- <div><p>经费月支出计划(元)</p></div>
|
|
|
- <el-button @click="setFundBtn" type="primary">设置经费</el-button>
|
|
|
- </div>
|
|
|
- <div class="monthFund">
|
|
|
- <el-table
|
|
|
- :data="data.tableData"
|
|
|
- tooltip-effect="dark"
|
|
|
- stripe
|
|
|
- show-overflow-tooltip="true"
|
|
|
- :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- v-for="(item,index) in mouthItems"
|
|
|
- :key="index"
|
|
|
- :prop="item.prop"
|
|
|
- :label="item.label"
|
|
|
- align="center"
|
|
|
- min-width="8%"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
-
|
|
|
- <!-- 设置经费和表格结束 -->
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <!-- 经费明细和表格开始 -->
|
|
|
- <div class="tabTit">
|
|
|
- <div><p>经费明细</p></div>
|
|
|
- <el-button type="primary" @click="addBtn">添加</el-button>
|
|
|
- </div>
|
|
|
- <el-table
|
|
|
- :data="data.tableData2"
|
|
|
- tooltip-effect="dark"
|
|
|
- stripe
|
|
|
- class="fontSize"
|
|
|
- :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- prop="type"
|
|
|
- label="支出类别"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- <template #default="scope">
|
|
|
- <div v-if=" scope.row.type==1">直接经费</div>
|
|
|
- <div v-if=" scope.row.type==2">间接经费</div>
|
|
|
-
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="disburseProject"
|
|
|
- label="支出项目"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- <template #default="scope">
|
|
|
- <div v-if="scope.row.disburseProject==1 && scope.row.type==1">小型仪器设备费</div>
|
|
|
- <div v-if="scope.row.disburseProject==2 && scope.row.type==1">材料费</div>
|
|
|
- <div v-if="scope.row.disburseProject==3 && scope.row.type==1">测试化验加工费</div>
|
|
|
- <div v-if="scope.row.disburseProject==4 && scope.row.type==1">项目协作费</div>
|
|
|
-
|
|
|
- <div v-if="scope.row.disburseProject==1 && scope.row.type==2">小型仪器设备费</div>
|
|
|
- <div v-if="scope.row.disburseProject==2 && scope.row.type==2">材料费</div>
|
|
|
- <div v-if="scope.row.disburseProject==3 && scope.row.type==2">测试化验加工费</div>
|
|
|
- <div v-if="scope.row.disburseProject==4 && scope.row.type==2">项目协作费</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="fund"
|
|
|
- label="金额(元)"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="textarea"
|
|
|
- label="备注"
|
|
|
- align="center"
|
|
|
- width="150">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="operation"
|
|
|
- width="200"
|
|
|
- label="操作"
|
|
|
- >
|
|
|
- <template #default="scope">
|
|
|
- <div class="operations">
|
|
|
- <el-button type="primary" @click="amendDialogData(scope.$index)" size="mini">修改</el-button>
|
|
|
- <el-button type="primary" @click="del(scope.$index)" size="mini">删除</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <!-- 经费明细和表格结束 -->
|
|
|
-
|
|
|
-
|
|
|
- <div class="baseBtn">
|
|
|
- <div class="blockWidth">
|
|
|
- <el-button type="primary" class="backBtn" @click="back()">上一步</el-button>
|
|
|
- <el-button type="primary" class="backBtn" @click="submit" >提交</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
- <!-- 经费明细添加按钮开始 -->
|
|
|
- <el-dialog
|
|
|
- title="经费明细"
|
|
|
- :visible.sync="addFundDialog"
|
|
|
- width="950px"
|
|
|
- class="fundDetail"
|
|
|
- :before-close="init">
|
|
|
-
|
|
|
- <div class="dialogTop">
|
|
|
- <div class="dagSpan">项目名称</div>
|
|
|
- <el-select v-model="data2.select.projectName" disabled style="width: 100%;" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in data2.options"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="dialogTop">
|
|
|
- <div class="dagSpan">项目类型</div>
|
|
|
- <el-select v-model="data2.select.sort" disabled style="width: 30%;" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in data2.sortOptions"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
- <div class="tabTit">
|
|
|
- <div><p>添加经费明细</p></div>
|
|
|
- </div>
|
|
|
- <div class="dagInpS">
|
|
|
- <div class="dagInpS1">
|
|
|
- <div class="dagSpan">支出类别</div>
|
|
|
- <!-- <el-input v-model="data.dialog.type" placeholder="请输入内容"></el-input> -->
|
|
|
- <el-select v-model="data.dialog.type" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in expendType"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="dagInpS1">
|
|
|
- <div class="dagSpan">支出项目</div>
|
|
|
- <!-- <el-input v-model="data.dialog.disburseProject" placeholder="请输入内容"></el-input> -->
|
|
|
- <el-select v-model="data.dialog.disburseProject" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in data.dialog.type==1?expendProject:expendProject2"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="dagInpS1">
|
|
|
- <div class="dagSpan">金额(元)</div>
|
|
|
- <el-input type="number" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))" class="inputNumber" v-model.number="data.dialog.fund" placeholder="请输入内容"></el-input>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="dagInpS1">
|
|
|
- <div class="dagSpan" style="position:relative;top: -90px;">备注</div>
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- :rows="5"
|
|
|
- resize="none"
|
|
|
- style="width: 80%;"
|
|
|
- placeholder="请输入内容"
|
|
|
- v-model="data.dialog.textarea">
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="finish" class="AllDialogBtn">完成</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
- <!-- 经费明细添加按钮结束 -->
|
|
|
-
|
|
|
- <!--设置经费dialog对话框开始 -->
|
|
|
- <el-dialog
|
|
|
- title="设置经费"
|
|
|
- :visible.sync="setFund"
|
|
|
- :modal="true"
|
|
|
- :close-on-click-modal="true"
|
|
|
- class="AddFund"
|
|
|
- :before-close="init">
|
|
|
- <div style="position: absolute;top:10px;font-size: 18px;left: 95px;">经费月支出计划(元)</div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">一月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" class="inputNumber" v-model.number="data.items.one"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">二月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.two"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">三月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.three"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">四月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.four"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">五月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.five"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">六月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.six"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">七月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.seven"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">八月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.eight"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">九月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.nine"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">十月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.ten"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">十一月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.eleven"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock">
|
|
|
- <div class="dialogLabel">十二月</div>
|
|
|
- <div class="littleBlockInp">
|
|
|
- <el-input type="number" v-model="data.items.twelve"></el-input>
|
|
|
- <span class="yuan">(元)</span>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="littleBlock" style="width: 100%;position: relative;left: -5px;">
|
|
|
- <div class="dialogLabel" style="position: relative;top: -20px;">备注</div>
|
|
|
- <div style="width: 86%;">
|
|
|
- <!-- <el-input type="textarea" :row="6" resize="none" v-model="data.items.remark" style="width: 100%;"></el-input> -->
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- :rows="3"
|
|
|
- resize="none"
|
|
|
- v-model="data.items.remark">
|
|
|
- </el-input>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div slot="footer" class="footer">
|
|
|
- <el-button type="primary" @click="commit" class="AllDialogBtn" >确认提交</el-button>
|
|
|
- <el-button @click="init" class="AllDialogBtn">取消</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
- <!--设置经费dialog对话框结束 -->
|
|
|
-
|
|
|
- <!-- 删除成员对话框开始 -->
|
|
|
- <el-dialog
|
|
|
- title="删除"
|
|
|
- :visible.sync="delFundDetail"
|
|
|
- width="600px"
|
|
|
- class="delMemberDialog">
|
|
|
- <span class="deleteContent">确定删除此经费明细?</span>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="commitDel" class="AllDialogBtn">确认删除</el-button>
|
|
|
- <el-button @click="init" class="AllDialogBtn" >取消</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
- <!-- 删除成员对话框结束 -->
|
|
|
- </div>
|
|
|
-
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-import { VueEditor } from "vue2-editor";
|
|
|
- export default {
|
|
|
- // 接收父组件传递回来的方法
|
|
|
- props:["data","next",'back','submitBtn','data2','confirmSetFund'],
|
|
|
- components:{
|
|
|
- VueEditor
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- iid:'',
|
|
|
- delFundDetail:false, //删除经费明细对话框
|
|
|
- addFundDialog:false, //经费明细对话框
|
|
|
- setFund:false, //设置月支出计划
|
|
|
- recompose:0, //判断是否是修改 0 修改 1 添加
|
|
|
- projectFundDetailInput:{
|
|
|
- fund:'',
|
|
|
- type:'',
|
|
|
- disburseProject:'',
|
|
|
- textarea:''
|
|
|
- },
|
|
|
- mouthItems:[ //表格基础
|
|
|
- {prop:'one',label:'一月'},
|
|
|
- {prop:'two',label:'二月'},
|
|
|
- {prop:'three',label:'三月'},
|
|
|
- {prop:'four',label:'四月'},
|
|
|
- {prop:'five',label:'五月'},
|
|
|
- {prop:'six',label:'六月'},
|
|
|
- {prop:'seven',label:'七月'},
|
|
|
- {prop:'eight',label:'八月'},
|
|
|
- {prop:'nine',label:'九月'},
|
|
|
- {prop:'ten',label:'十月'},
|
|
|
- {prop:'eleven',label:'十一月'},
|
|
|
- {prop:'twelve',label:'十二月'},
|
|
|
- {prop:'remark',label:'备注'},
|
|
|
- ],
|
|
|
-
|
|
|
- // 经费明细添加按钮对话框下拉框
|
|
|
- expendType:[
|
|
|
- {
|
|
|
- value:1,
|
|
|
- label:'直接费用'
|
|
|
- },
|
|
|
- {
|
|
|
- value:2,
|
|
|
- label:'间接费用'
|
|
|
- },
|
|
|
- ],
|
|
|
- expendProject:[
|
|
|
- {
|
|
|
- value:1,
|
|
|
- label:'小型仪器设备费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:2,
|
|
|
- label:'材料费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:3,
|
|
|
- label:'测试化验加工费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:4,
|
|
|
- label:'项目协作费'
|
|
|
- },
|
|
|
- // {
|
|
|
- // value:5,
|
|
|
- // label:'其他支出'
|
|
|
- // },
|
|
|
- ],
|
|
|
- expendProject2:[
|
|
|
- {
|
|
|
- value:1,
|
|
|
- label:'项目成果鉴定费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:2,
|
|
|
- label:'参展参赛费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:3,
|
|
|
- label:'创客交流活动费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:4,
|
|
|
- label:'知识产权事务费'
|
|
|
- },
|
|
|
- // {
|
|
|
- // value:5,
|
|
|
- // label:'其他支出'
|
|
|
- // },
|
|
|
- ],
|
|
|
- }
|
|
|
- },
|
|
|
- methods:{
|
|
|
- directFundDataSelectChange(){//直接经费全部下拉框
|
|
|
-
|
|
|
-
|
|
|
- let directFundBlockSelect = [
|
|
|
- {
|
|
|
- value:1,
|
|
|
- label:'小型仪器设备费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:2,
|
|
|
- label:'材料费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:3,
|
|
|
- label:'测试化验加工费'
|
|
|
- },
|
|
|
- {
|
|
|
- value:4,
|
|
|
- label:'项目协作费'
|
|
|
- },
|
|
|
- // {
|
|
|
- // value:5,
|
|
|
- // label:'其他支出'
|
|
|
- // },
|
|
|
- ]
|
|
|
- let oneself=[];
|
|
|
- this.data.tableData2.forEach(item=>{
|
|
|
- //获取他本身自己的下拉框
|
|
|
- oneself.push(directFundBlockSelect.filter(sItem=>sItem.value==item.disburseProject)[0]) //filter返的是数组所以用[0]
|
|
|
- //获取未选择的
|
|
|
- directFundBlockSelect = directFundBlockSelect.filter(sItem=>sItem.value!=item.disburseProject)
|
|
|
- console.log(directFundBlockSelect);
|
|
|
- this.expendProject=directFundBlockSelect
|
|
|
- // Object.assign(this.expendProject,directFundBlockSelect)
|
|
|
-
|
|
|
- })
|
|
|
-
|
|
|
- // console.log(this.expendProject);
|
|
|
- //再遍历一遍
|
|
|
- // this.data.tableData2.forEach((item,index)=>{
|
|
|
- // let oneSelect = [];
|
|
|
- // directFundBlockSelect.forEach(item=>oneSelect.push(item));
|
|
|
- // if(oneself[index]!=undefined)oneSelect.push(oneself[index])
|
|
|
- // 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;
|
|
|
- })
|
|
|
- //遍历所有的直接经费
|
|
|
-
|
|
|
- },
|
|
|
- judge(event){
|
|
|
- console.log(event);
|
|
|
- // console.log(111);
|
|
|
- // return (/[\d]/.test(String.fromCharCode(event.keyCode)));
|
|
|
- },
|
|
|
- init(){
|
|
|
- this.addFundDialog=false
|
|
|
- this.setFund=false;
|
|
|
- this.delFundDetail=false;
|
|
|
- },
|
|
|
-
|
|
|
- backBtn1(){ //上一步
|
|
|
- this.back();
|
|
|
- },
|
|
|
- submit(){ //提交按钮
|
|
|
- this.submitBtn();
|
|
|
- },
|
|
|
- addBtn(){ //经费明细添加对话框显示
|
|
|
- this.addFundDialog=true;
|
|
|
- },
|
|
|
- amendDialogData(val){ //修改经费明细数据对话框显示
|
|
|
- this.recompose=1
|
|
|
- Object.assign(this.data.dialog,this.data.tableData2[val])
|
|
|
- this.data.dialog['index']=val
|
|
|
- this.addFundDialog=true;
|
|
|
- // this.data.dialog=val
|
|
|
- // this.iid=val
|
|
|
- },
|
|
|
- finish(){ //添加经费明细对话框完成按钮
|
|
|
- if(this.recompose){ //修改
|
|
|
- if (this.data.dialog.type=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入支类别')
|
|
|
- if (this.data.dialog.disburseProject=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入支出项目')
|
|
|
- if (this.data.dialog.fund=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入金额')
|
|
|
- let oldMoney = this.data.tableData2.reduce((prev,cur)=>{ //默认第一次为0,
|
|
|
- console.log(prev,cur["fund"]);
|
|
|
- return prev+cur["fund"]
|
|
|
- },0); //默认值第一次运算为0
|
|
|
- // console.log(oldMoney); 第一次0
|
|
|
- oldMoney+=this.data.dialog.fund; //因为本次的数据还未添加到列表中,所以直接在这里进行相加判断
|
|
|
- if(oldMoney>(this.data2.select.fund)*10000) return this.$message.error('经费明细超出预算总金额');
|
|
|
- Object.assign(this.data.tableData2[this.data.dialog['index']],this.data.dialog)
|
|
|
- for(let k in this.data.dialog) this.data.dialog[k]=''
|
|
|
- return this.addFundDialog=false;
|
|
|
- }
|
|
|
- let oldDia={} //添加数据防止污染
|
|
|
- // 添加
|
|
|
- if(this.data2.select.fund == '' || this.data2.select.fund==undefined )return this.$message.error('请输入项目预算总经费')
|
|
|
- if (this.data.dialog.type=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入支类别')
|
|
|
- if (this.data.dialog.disburseProject=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入支出项目')
|
|
|
- if (this.data.dialog.fund=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入金额')
|
|
|
-
|
|
|
-
|
|
|
- let oldMoney = this.data.tableData2.reduce((prev,cur)=>{ //默认第一次为0,
|
|
|
- // console.log(prev,cur["fund"]);
|
|
|
- return prev+cur["fund"]
|
|
|
- },0); //默认值第一次运算为0
|
|
|
- // console.log(oldMoney);
|
|
|
-
|
|
|
- oldMoney+=this.data.dialog.fund; //因为本次的数据还未添加到列表中,所以直接在这里进行相加判断
|
|
|
-
|
|
|
- if(oldMoney>(this.data2.select.fund)*10000)return this.$message.error('经费明细超出预算总金额');
|
|
|
-
|
|
|
- Object.assign(oldDia,this.data.dialog)
|
|
|
- this.data.tableData2.push(oldDia);
|
|
|
- for(let k in this.data.dialog) this.data.dialog[k]='';
|
|
|
- this.addFundDialog=false;
|
|
|
- if (!this.data.tableData2.length){
|
|
|
- return console.log(1);
|
|
|
- }else{
|
|
|
- console.log(2);
|
|
|
- }
|
|
|
- // this.data.dialog.type==1?this.directFundDataSelectChange():this.indirectFundSelectChange()
|
|
|
-
|
|
|
- },
|
|
|
- setFundBtn(){ //经费月支出计划设置经费对话框显示
|
|
|
- // console.log(this.data2.value);
|
|
|
- this.setFund=true
|
|
|
- },
|
|
|
- commit(){ //经费月支出计划设置经费对话框确定按钮
|
|
|
- let p=0
|
|
|
- for(let key in this.data.items){
|
|
|
- if ( this.data.items[key] !== '' && this.data.items[key]!='-') {
|
|
|
- if (key != 'remark') {
|
|
|
- // console.log(this.data.items[key])
|
|
|
- p+=Number(this.data.items[key])
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- // console.log(p)
|
|
|
- // console.log(this.data2.select.fund);
|
|
|
- if(p > this.data2.select.fund*10000) return this.$message.error('金额大于总预算')
|
|
|
- this.confirmSetFund()
|
|
|
- this.init()
|
|
|
- },
|
|
|
-
|
|
|
- del(val){ //删除经费明细对话框显示
|
|
|
- this.delFundDetail=true;
|
|
|
- this.iid=val
|
|
|
- },
|
|
|
- commitDel(){ //确定删除
|
|
|
- this.data.tableData2.splice(this.iid,1)
|
|
|
- this.delFundDetail=false;
|
|
|
-
|
|
|
- // this.data.tableData2.forEach((e,i,arr)=>{
|
|
|
- // if (e.id == this.iid.id) {
|
|
|
- // arr.splice(i,1)
|
|
|
- // this.delFundDetail=false;
|
|
|
- // }
|
|
|
- // })
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="less">
|
|
|
-//对话框样式
|
|
|
-
|
|
|
- // .el-input__inner{
|
|
|
- // color: #000;
|
|
|
- // font-size: 16px;
|
|
|
- // }
|
|
|
- // .el-textarea__inner{
|
|
|
- // color: #000;
|
|
|
- // font-size: 16px;
|
|
|
- // }
|
|
|
- // .el-input.is-disabled .el-input__inner{
|
|
|
- // color: #3a3838;
|
|
|
- // }
|
|
|
- .totalFundLabel{
|
|
|
- width:90px;
|
|
|
- line-height: 38px;
|
|
|
- margin-right: 10px;
|
|
|
- text-justify:distribute-all-lines;
|
|
|
- text-align-last: justify;
|
|
|
- }
|
|
|
- .proBudgetFund{
|
|
|
- margin-top: 30px;
|
|
|
- width: 100%;
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- box-sizing: border-box;
|
|
|
- .totalFund{ //预算总经费金额填写
|
|
|
- display: flex;
|
|
|
- width: 400px;
|
|
|
- line-height: 25px;
|
|
|
- margin: 15px 5px 30px;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- .fundDetail{ //经费明细添加对话框,防止冲突
|
|
|
- .el-dialog__title{
|
|
|
- font-size: 18px;
|
|
|
- font-weight: 600;
|
|
|
- }
|
|
|
- .el-dialog__body{
|
|
|
- padding-top: 0px;
|
|
|
- }
|
|
|
- .dialogTop{ //对话框,名称、类型
|
|
|
- margin: 15px 0;
|
|
|
- display: flex;
|
|
|
- width: 80%;
|
|
|
- }
|
|
|
- .dagSpan{ // 对话框label
|
|
|
- min-width: 84px;
|
|
|
- font-size: 16px;
|
|
|
- margin-right: 10px;
|
|
|
- display: inline-block;
|
|
|
- text-align: justify;
|
|
|
- text-justify:distribute-all-lines;
|
|
|
- text-align-last: justify;
|
|
|
- transform: translate(0,22%);
|
|
|
- margin-bottom: 10px;
|
|
|
- }
|
|
|
- //经费明细dialog的样式
|
|
|
- .dagInpS{
|
|
|
- display: flex;
|
|
|
- width: 90%;
|
|
|
- margin-top: 20px;
|
|
|
- .dagInpS1{
|
|
|
- font-size: 16px;
|
|
|
- display: flex;
|
|
|
- margin-right: 25px;
|
|
|
- margin-bottom: 20px;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // .btn5{
|
|
|
- // width: 130px;
|
|
|
- // margin-right: 50px;
|
|
|
- // }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- .AddFund{ //月支出计划添加对话框
|
|
|
- .el-input__inner{
|
|
|
- width: 100%;
|
|
|
- }
|
|
|
- .el-dialog{
|
|
|
- width: 700px;
|
|
|
- border-radius: 5px;
|
|
|
- overflow: hidden;
|
|
|
- }
|
|
|
-
|
|
|
- .el-dialog__body{
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- position: relative;
|
|
|
- justify-content: space-between;
|
|
|
- flex-wrap: wrap;
|
|
|
- align-items: center;
|
|
|
- margin-top: 30px;
|
|
|
- box-sizing: border-box;
|
|
|
- padding-right: 10%;
|
|
|
- padding-left: 10%;
|
|
|
- }
|
|
|
-
|
|
|
- .el-dialog__header{
|
|
|
- background: #32455b;
|
|
|
- text-align: center;
|
|
|
- }
|
|
|
- .el-dialog__title{
|
|
|
- color: #fff;
|
|
|
- position: relative;
|
|
|
- top: -2px;
|
|
|
- font-size: 18px;
|
|
|
- }
|
|
|
- .littleBlock{ //添加对话框 label和input框
|
|
|
- display: flex;
|
|
|
- margin-top: 20px;
|
|
|
- box-sizing: border-box;
|
|
|
- padding: 0 5%;
|
|
|
- flex-shrink: 0;
|
|
|
- width: 45%;
|
|
|
- display: flex;
|
|
|
- justify-content: flex-end;
|
|
|
- .littleBlockInp{
|
|
|
- position: relative;
|
|
|
- box-sizing: border-box;
|
|
|
- padding-right: 30px;
|
|
|
- .yuan{
|
|
|
- position: absolute;
|
|
|
- top: 7px;
|
|
|
- right: 0px;
|
|
|
- font-size: 16px;
|
|
|
- }
|
|
|
- }
|
|
|
- .dialogLabel{ //label
|
|
|
- min-width: 55px;
|
|
|
- font-size: 16px;
|
|
|
- margin-right: 10px;
|
|
|
- display: inline-block;
|
|
|
- text-align: justify;
|
|
|
- text-justify:distribute-all-lines;
|
|
|
- text-align-last: justify;
|
|
|
- transform: translate(0,22%);
|
|
|
- }
|
|
|
- input::-webkit-outer-spin-button,
|
|
|
- input::-webkit-inner-spin-button {
|
|
|
- -webkit-appearance: none !important;
|
|
|
- }
|
|
|
- input[type='number'] {
|
|
|
- -moz-appearance: textfield;
|
|
|
- }
|
|
|
- .el-input__inner{
|
|
|
- line-height: 1px!important;
|
|
|
- }
|
|
|
- }
|
|
|
- .footer{
|
|
|
- width: 100%;
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- [type="button"]{
|
|
|
- font-size: 16px;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- .delMemberDialog{ //删除经费明细对话框样式
|
|
|
- font-size: 18px;
|
|
|
- .el-dialog{
|
|
|
- border-radius: 5px;
|
|
|
- overflow: hidden;
|
|
|
- }
|
|
|
- .deleteContent{
|
|
|
- margin: 30px 0;
|
|
|
- font-size: 22px;
|
|
|
- color: #000;
|
|
|
- }
|
|
|
- .el-dialog__header{
|
|
|
- background: #32455b;
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- }
|
|
|
- .el-dialog__title{
|
|
|
- color:#fff;
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- font-size: 18px;
|
|
|
- position: relative;
|
|
|
- top: -2px;
|
|
|
- }
|
|
|
- .el-dialog__body{
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- }
|
|
|
- .el-dialog__body{
|
|
|
- padding: 0;
|
|
|
- }
|
|
|
- .dialog-footer{
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- box-sizing: border-box;
|
|
|
- }
|
|
|
- }
|
|
|
-.monthFund{
|
|
|
- .el-table .cell{
|
|
|
- // 不换行
|
|
|
- white-space:nowrap !important;
|
|
|
- }
|
|
|
- }
|
|
|
-</style>
|