Commit 5ff83e43 authored by 徐俊's avatar 徐俊

xujun

parent 09402094
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<template slot="option" slot-scope="record"> <template slot="option" slot-scope="record">
<a-button type="link" size="small" @click="recordClick(record,'view')">查看</a-button> <a-button type="link" size="small" @click="recordClick(record,'view')">查看</a-button>
<a-button type="link" size="small" @click="recordClick(record,'edit')">修改</a-button> <a-button type="link" size="small" @click="recordClick(record,'edit')">修改</a-button>
<a-button type="link" size="small" @click="recordClick(record,'reset')">重置密码</a-button> <a-button type="link" size="small" @click="recordClick(record,'report')">上报</a-button>
</template> </template>
</a-table> </a-table>
<a-pagination v-if="pagination.total > 0" :total="pagination.total" show-size-changer show-quick-jumper v-model="pagination.pageIndex" :page-size="pagination.pageSize" :page-size-options="pagination.pageSizeOptions" @showSizeChange="showSizeChange" @change="change" :showTotal="() => `共 ${pagination.total} 条`" /> <a-pagination v-if="pagination.total > 0" :total="pagination.total" show-size-changer show-quick-jumper v-model="pagination.pageIndex" :page-size="pagination.pageSize" :page-size-options="pagination.pageSizeOptions" @showSizeChange="showSizeChange" @change="change" :showTotal="() => `共 ${pagination.total} 条`" />
......
<template>
<div>
<a-row type="flex" class="row_center">
<a-col :span="5" class="bg-gray">
<div class="special-middle">
<div class="required">申请资助的预算支出科目</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">第一年</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">第二年</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">第三年</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">第四年</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">第五年</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div class="required">费用</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>操作</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in budgetList" :key="index" type="flex" class="row_center">
<a-col :span="5" style="text-align: left;" >
<div class="special-middle" v-if="item.isRequired">{{ item.budgetName }}</div>
<div class="special-middle" v-else>
<a-form-model-item :prop="'budgetList.' + index + '.budgetName'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.budgetName" :maxLength="50" style="width:85%" />
</a-form-model-item>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<a-form-model-item v-if="!invisibleYearValue1.includes(index)" :prop="'budgetList.' + index + '.yearValue1'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.yearValue1" @change="YearValue1Change(index)" :min="0" :step="0.01" style="width: 80%" />
</a-form-model-item>
<div v-else>{{parseFloat(item.yearValue1).toFixed(2)}}</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<a-form-model-item v-if="!invisibleYearValue2.includes(index)" :prop="'budgetList.' + index + '.yearValue2'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.yearValue2" @change="YearValue2Change(index)" :min="0" :step="0.01" style="width: 80%" />
</a-form-model-item>
<div v-else>{{parseFloat(item.yearValue2).toFixed(2)}}</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<a-form-model-item v-if="!invisibleYearValue3.includes(index)" :prop="'budgetList.' + index + '.yearValue3'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.yearValue3" @change="YearValue3Change(index)" :min="0" :step="0.01" style="width: 80%" />
</a-form-model-item>
<div v-else>{{parseFloat(item.yearValue3).toFixed(2)}}</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<a-form-model-item v-if="!invisibleYearValue4.includes(index)" :prop="'budgetList.' + index + '.yearValue4'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.yearValue4" @change="YearValue4Change(index)" :min="0" :step="0.01" style="width: 80%" />
</a-form-model-item>
<div v-else>{{parseFloat(item.yearValue4).toFixed(2)}}</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<a-form-model-item v-if="!invisibleYearValue5.includes(index)" :prop="'budgetList.' + index + '.yearValue5'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.yearValue5" @change="YearValue5Change(index)" :min="0" :step="0.01" style="width: 80%" />
</a-form-model-item>
<div v-else>{{parseFloat(item.yearValue5).toFixed(2)}}</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>{{ parseFloat(item.amountFee).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle" v-if="!item.isRequired">
<a-popconfirm title="确定要删除吗?" ok-text="确定" cancel-text="取消" @confirm="deleteBudgetArray(item)">
<a-button type="link" size="small">删除</a-button>
</a-popconfirm>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="5" class="bg-gray">
<div class="special-middle">
<div>合计</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>{{ parseFloat(totalYearValue1).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>{{ parseFloat(totalYearValue2).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>{{ parseFloat(totalYearValue3).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>{{ parseFloat(totalYearValue4).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>{{ parseFloat(totalYearValue5).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>{{ parseFloat(totalFee).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div></div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="24" style="text-align: center">
<div class="special-middle">
<a-button type="dashed" style="width: 20%" @click="addBudgetArray()">
<a-icon type="plus" /> 添加 <span style="color:red;margin-left:10px"></span>
</a-button>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
const Budget = { id: null, talentId: null, budgetId: null, yearValue1: 0.00, yearValue2: 0.00, yearValue3: 0.00, yearValue4: 0.00, yearValue5: 0.00, amountFee: 0.00, showIndex: null, isRequired: false }
export default {
name: "budgetEdit",
props: {
budgetList: {
type: Array,
default: () => {
return [{ ...Budget }];
},
}
},
data() {
return {
totalYearValue1: 0.00,
totalYearValue2: 0.00,
totalYearValue3: 0.00,
totalYearValue4: 0.00,
totalYearValue5: 0.00,
totalFee: 0.00,
invisibleYearValue1: [ 2, 8 ],
invisibleYearValue2: [ 2, 8 ],
invisibleYearValue3: [ 2, 8 ],
invisibleYearValue4: [ 2, 8 ],
invisibleYearValue5: [ 2, 8 ],
}
},
created() {
},
methods: {
FeeChange (index) {
if (index == 0)
this.educationFee()
else if (index == 1)
this.scienceFee()
else if (index > 2 && index < 8)
this.researchFee(index)
else if (this.budgetList.length > 8)
this.otherFee(index)
this.calTotalFee()
},
YearValue1Change (index) {
this.FeeChange(index)
},
YearValue2Change (index) {
this.FeeChange(index)
},
YearValue3Change (index) {
this.FeeChange(index)
},
YearValue4Change (index) {
this.FeeChange(index)
},
YearValue5Change (index) {
this.FeeChange(index)
},
calTotalFee() {
this.totalYearValue1 = this.budgetList[0].yearValue1 + this.budgetList[1].yearValue1 + this.budgetList[2].yearValue1 + this.budgetList[8].yearValue1
this.totalYearValue2 = this.budgetList[0].yearValue2 + this.budgetList[1].yearValue2 + this.budgetList[2].yearValue2 + this.budgetList[8].yearValue2
this.totalYearValue3 = this.budgetList[0].yearValue3 + this.budgetList[1].yearValue3 + this.budgetList[2].yearValue3 + this.budgetList[8].yearValue3
this.totalYearValue4 = this.budgetList[0].yearValue4 + this.budgetList[1].yearValue4 + this.budgetList[2].yearValue4 + this.budgetList[8].yearValue4
this.totalYearValue5 = this.budgetList[0].yearValue5 + this.budgetList[1].yearValue5 + this.budgetList[2].yearValue5 + this.budgetList[8].yearValue5
this.totalFee = this.totalYearValue1 + this.totalYearValue2 + this.totalYearValue3 + + this.totalYearValue4 + this.totalYearValue5
},
//一、国内外进修费用
educationFee () {
this.budgetList[0].amountFee = this.budgetList[0].yearValue1 + this.budgetList[0].yearValue2 + this.budgetList[0].yearValue3 + this.budgetList[0].yearValue4 + this.budgetList[0].yearValue5
},
//二、学术交流费用
scienceFee () {
this.budgetList[1].amountFee = this.budgetList[1].yearValue1 + this.budgetList[1].yearValue2 + this.budgetList[1].yearValue3 + this.budgetList[1].yearValue4 + this.budgetList[1].yearValue5
},
//三、研究费用
researchFee (index) {
this.budgetList[index].amountFee = this.budgetList[index].yearValue1 + this.budgetList[index].yearValue2 + this.budgetList[index].yearValue3 + this.budgetList[index].yearValue4 + this.budgetList[index].yearValue5
this.budgetList[2].yearValue1 = 0.00
this.budgetList[2].yearValue2 = 0.00
this.budgetList[2].yearValue3 = 0.00
this.budgetList[2].yearValue4 = 0.00
this.budgetList[2].yearValue5 = 0.00
for (let i = 3; i <= 7; i++) {
this.budgetList[2].yearValue1 += this.budgetList[i].yearValue1
this.budgetList[2].yearValue2 += this.budgetList[i].yearValue2
this.budgetList[2].yearValue3 += this.budgetList[i].yearValue3
this.budgetList[2].yearValue4 += this.budgetList[i].yearValue4
this.budgetList[2].yearValue5 += this.budgetList[i].yearValue5
}
this.budgetList[2].amountFee = this.budgetList[2].yearValue1 + this.budgetList[2].yearValue2 + this.budgetList[2].yearValue3 + this.budgetList[2].yearValue4 + this.budgetList[2].yearValue5
},
//四、其他费用
otherFee (index) {
this.budgetList[index].amountFee = this.budgetList[index].yearValue1 + this.budgetList[index].yearValue2 + this.budgetList[index].yearValue3 + this.budgetList[index].yearValue4 + this.budgetList[index].yearValue5
this.budgetList[8].yearValue1 = 0.00
this.budgetList[8].yearValue2 = 0.00
this.budgetList[8].yearValue3 = 0.00
this.budgetList[8].yearValue4 = 0.00
this.budgetList[8].yearValue5 = 0.00
for (let i = 9; i < this.budgetList.length; i++) {
this.budgetList[8].yearValue1 += this.budgetList[i].yearValue1
this.budgetList[8].yearValue2 += this.budgetList[i].yearValue2
this.budgetList[8].yearValue3 += this.budgetList[i].yearValue3
this.budgetList[8].yearValue4 += this.budgetList[i].yearValue4
this.budgetList[8].yearValue5 += this.budgetList[i].yearValue5
}
this.budgetList[8].amountFee = this.budgetList[8].yearValue1 + this.budgetList[8].yearValue2 + this.budgetList[8].yearValue3 + this.budgetList[8].yearValue4 + this.budgetList[8].yearValue5
},
addBudgetArray () {
const newItem = {
...Budget,
showIndex: this.budgetList.length + 1
}
this.budgetList.push(newItem)
},
deleteBudgetArray (item) {
let index = this.budgetList.indexOf(item)
if (index !== -1) {
this.budgetList.splice(index, 1)
}
}
}
}
</script>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<a-col :span="5"> <a-col :span="5">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="address"> <a-form-model-item prop="certId">
<a-input v-model="formData.certId" @change="onCertIdChange" :maxLength="18" style="width: 200px;" /> <a-input v-model="formData.certId" @change="onCertIdChange" :maxLength="18" style="width: 200px;" />
</a-form-model-item> </a-form-model-item>
</div> </div>
...@@ -419,6 +419,54 @@ ...@@ -419,6 +419,54 @@
<members-edit :membersList.sync="formData.membersList" /> <members-edit :membersList.sync="formData.membersList" />
</div> </div>
<div v-if="stepsArray[4].showStatus"> <div v-if="stepsArray[4].showStatus">
<a-row>
<a-col :span="24" style="border-top: 0px; text-align: center">
<div class="main-title">
<span>经费预算及培养计划和目标</span>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="7" class="bg-gray">
<div class="special-middle">
<div class="required">申请资助金额</div>
</div>
</a-col>
<a-col :span="17" class="bg-gray">
<div class="special-middle">
<a-form-model-item prop="applyFund">
<a-input-number v-model="formData.applyFund" @change="FundChange" :min="0" :step="0.01" style="width:120px" />(万元)
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="7" class="bg-gray">
<div class="special-middle">
<div class="required">其他经费来源</div>
</div>
</a-col>
<a-col :span="17" class="bg-gray">
<div class="special-middle">
<a-form-model-item prop="otherFund">
<a-input-number v-model="formData.otherFund" @change="FundChange" :min="0" :step="0.01" style="width:120px" />(万元)
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="7" class="bg-gray">
<div class="special-middle">
<div class="required">合计</div>
</div>
</a-col>
<a-col :span="17" class="bg-gray">
<div class="special-middle">
{{ parseFloat(formData.totalFund).toFixed(2) }}(万元)
</div>
</a-col>
</a-row>
<budget-edit :budgetList.sync="formData.budgetList" />
</div> </div>
<div v-if="stepsArray[5].showStatus"> <div v-if="stepsArray[5].showStatus">
</div> </div>
...@@ -435,11 +483,12 @@ import cascaderSelect from '@/views/components/common/cascaderSelect' ...@@ -435,11 +483,12 @@ import cascaderSelect from '@/views/components/common/cascaderSelect'
import resumeEdit from '@/views/report/talent/components/resumeEdit' import resumeEdit from '@/views/report/talent/components/resumeEdit'
import scientificGainEdit from '@/views/report/talent/components/scientificGainEdit' import scientificGainEdit from '@/views/report/talent/components/scientificGainEdit'
import membersEdit from '@/views/report/talent/components/membersEdit' import membersEdit from '@/views/report/talent/components/membersEdit'
import budgetEdit from '@/views/report/talent/components/budgetEdit'
export default { export default {
name: "talentEdit", name: "talentEdit",
components: { components: {
paraRadio, paraCheck, cascaderSelect, resumeEdit, scientificGainEdit, membersEdit paraRadio, paraCheck, cascaderSelect, resumeEdit, scientificGainEdit, membersEdit, budgetEdit
}, },
props: { props: {
value: { value: {
...@@ -493,6 +542,9 @@ export default { ...@@ -493,6 +542,9 @@ export default {
researchCondition: null, researchCondition: null,
researchProgress: null, researchProgress: null,
email: null, email: null,
applyFund: null,
otherFund: null,
totalFund: null,
resumeList: [], resumeList: [],
membersList: [], membersList: [],
budgetList: [], budgetList: [],
...@@ -522,6 +574,8 @@ export default { ...@@ -522,6 +574,8 @@ export default {
mobile: [{ required: true, message: '*', trigger: 'blur' }], mobile: [{ required: true, message: '*', trigger: 'blur' }],
fax: [{ required: true, message: '*', trigger: 'blur' }], fax: [{ required: true, message: '*', trigger: 'blur' }],
email: [{ required: true, message: '*', trigger: 'blur' }], email: [{ required: true, message: '*', trigger: 'blur' }],
applyFund: [{ required: true, message: '*', trigger: 'change' }],
otherFund: [{ required: true, message: '*', trigger: 'change' }],
}, },
}; };
}, },
...@@ -559,7 +613,6 @@ export default { ...@@ -559,7 +613,6 @@ export default {
if (typeof data.graduateTeacher === 'string' && data.graduateTeacher) { if (typeof data.graduateTeacher === 'string' && data.graduateTeacher) {
data.graduateTeacher = data.graduateTeacher.split(',') data.graduateTeacher = data.graduateTeacher.split(',')
} }
this.formData = data this.formData = data
this.$emit('onStepChange', { step: 0, state: data.completeStatus }) this.$emit('onStepChange', { step: 0, state: data.completeStatus })
this.loadList() this.loadList()
...@@ -637,7 +690,6 @@ export default { ...@@ -637,7 +690,6 @@ export default {
} }
}, },
submit (step, next) { submit (step, next) {
console.log(step)
if (this.checkInfo(step)) { if (this.checkInfo(step)) {
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
...@@ -788,9 +840,9 @@ export default { ...@@ -788,9 +840,9 @@ export default {
break; break;
} }
}, },
loadList () { FundChange() {
this.formData.totalFund = this.formData.applyFund + this.formData.otherFund
}, }
} }
}; };
</script> </script>
<template> <template>
<div></div> <div>
</div>
</template> </template>
<script> <script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment