Commit 1dfac4eb authored by 徐俊's avatar 徐俊

xujun

parent 57869f0a
...@@ -245,12 +245,7 @@ ...@@ -245,12 +245,7 @@
<div class="special-middle"><div>/</div></div> <div class="special-middle"><div>/</div></div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex" class="item_inner">
<a-col :span="24">
<span style="color: red;">注:1.本表只填写省级财政科技资金购置的设备;涉及自筹经费购买的设备,请在资金预算编制说明中说明。<br />
2.单价50万元以下的设备不填写明细。</span>
</a-col>
</a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="24" style="text-align: center"> <a-col :span="24" style="text-align: center">
<div class="special-middle"> <div class="special-middle">
...@@ -260,6 +255,12 @@ ...@@ -260,6 +255,12 @@
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex" class="item_inner">
<a-col :span="24">
<span style="color: red;">注:1.本表只填写省级财政科技资金购置的设备;涉及自筹经费购买的设备,请在资金预算编制说明中说明。<br />
2.单价50万元以下的设备不填写明细。</span>
</a-col>
</a-row>
</div> </div>
</template> </template>
......
...@@ -638,7 +638,7 @@ const ManagementRule = { policyName: null, releaseDate: null, documentNumber: nu ...@@ -638,7 +638,7 @@ const ManagementRule = { policyName: null, releaseDate: null, documentNumber: nu
const ProjectSub = { projName: null, undertakingUnit: null, address: null, director: null, totalBudget: null, govBudget: null, selfBudget: null, cooperativeUnits: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null } const ProjectSub = { projName: null, undertakingUnit: null, address: null, director: null, totalBudget: null, govBudget: null, selfBudget: null, cooperativeUnits: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
const Cooperative = { id: null, unitName: null, unitCountry: null, unitAddress: null, organizationCode: null, projectWork: null } const Cooperative = { id: null, unitName: null, unitCountry: null, unitAddress: null, organizationCode: null, projectWork: null }
const Members = { name: null, sex: null, birthday: null, certificateType: null, certId: null, nation: null, country: null, workUnit: null, title: null, degree: null, email: null, mobile: null, telephone: null, fax: null, projWork: null, forMonths: null, spec: null } const Members = { name: null, sex: null, birthday: null, certificateType: null, certId: null, nation: null, country: null, workUnit: null, title: null, degree: null, email: null, mobile: null, telephone: null, fax: null, projWork: null, forMonths: null, spec: null }
const Equipments = { name: null, specificationType: null, quantity: null, totalBudget: null, useFrom: null } const Equipment = { id: "", objectId: "", name: "", functionTarget: "", specificationType: "", quantity: 1, totalBudget: 0.00, useFrom: "", buyUnit: "", storageLocation: "", equipmentType: "", manufacturer: "", sharedScope: "", unitPrice: 0.00, }
const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' } const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' }
export default { export default {
...@@ -798,6 +798,8 @@ export default { ...@@ -798,6 +798,8 @@ export default {
this.formData.members = [{ ...Members }] this.formData.members = [{ ...Members }]
if (!!!this.formData.equipments || !this.formData.equipments.length || this.formData.equipments.length == 0) if (!!!this.formData.equipments || !this.formData.equipments.length || this.formData.equipments.length == 0)
this.formData.equipments = [] this.formData.equipments = []
if (!!!this.formData.unitPayment || !this.formData.unitPayment.length || this.formData.unitPayment.length == 0)
this.formData.unitPayment = []
if (!!!!this.formData.fileList || !this.formData.fileList.length || this.formData.fileList.length == 0) { if (!!!!this.formData.fileList || !this.formData.fileList.length || this.formData.fileList.length == 0) {
this.formData.fileList = [] this.formData.fileList = []
} }
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<div>序号</div> <div>序号</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>单位名称</div> <div>单位名称</div>
</div> </div>
...@@ -28,12 +28,12 @@ ...@@ -28,12 +28,12 @@
<div>统一社会信用代码</div> <div>统一社会信用代码</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray"> <a-col :span="2" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>单位类型</div> <div>单位类型</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>任务分工</div> <div>任务分工</div>
</div> </div>
...@@ -43,44 +43,182 @@ ...@@ -43,44 +43,182 @@
<div>研究任务负责人</div> <div>研究任务负责人</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="1" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>合计</div> <div>合计</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div style="height: 30px;">
<div>省级财政资金</div>
</div>
<div style="padding-bottom: 5px;">
<div class="special-middle" style="float:left;width: 50%;height: 20px;">
<div>小计</div> <div>小计</div>
</div> </div>
<div class="special-middle" style="float:right;width: 50%;height: 20px;">
<div>其中:间接费用</div>
</div>
</div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="2" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>间接费用</div> <div>自筹资金</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> </a-row>
<a-row v-for="(item, index) in unitPayment" :key="'unitPayment' + index" type="flex" class="row_center">
<a-col :span="2">
<div class="special-middle"><a-button icon="close" type="primary" shape="circle" size="small" @click="deleteUnitPayment(item)"></a-button>&nbsp;{{ index + 1 }}</div>
</a-col>
<a-col :span="3">
<a-form-model-item :prop="'unitPayment.' + index + '.unitName'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.unitName" :maxLength="100" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'unitPayment.' + index + '.countryName'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.countryName" :maxLength="100" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'unitPayment.' + index + '.socialCode'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.socialCode" :maxLength="50" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'unitPayment.' + index + '.unitRole'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.unitRole" :maxLength="100" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="4">
<a-form-model-item :prop="'unitPayment.' + index + '.taskDivision'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.taskDivision" :maxLength="300" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'unitPayment.' + index + '.taskLeader'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.taskLeader" :maxLength="60" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="1">
<div class="special-middle"> <div class="special-middle">
<div>自筹资金</div> <div>{{ parseFloat(item.totalAmount).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'unitPayment.' + index + '.fundAmount'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.fundAmount" @change="outAmountChange(index)" :min="0" :step="0.01" style="width: 90%" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'unitPayment.' + index + '.indirectFee'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.indirectFee" @change="outFundAmountChange(index)" :min="0" :step="0.01" style="width: 90%" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'unitPayment.' + index + '.selfAmount'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.selfAmount" @change="outAmountChange(index)" :min="0" :step="0.01" style="width: 90%" />
</a-form-model-item>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="17">
<div class="special-middle">累计</div>
</a-col>
<a-col :span="1"><div class="special-middle">{{ parseFloat(TtotalAmount).toFixed(2) }}</div></a-col>
<a-col :span="2"><div class="special-middle">{{ parseFloat(TfundAmount).toFixed(2) }}</div></a-col>
<a-col :span="2"><div class="special-middle">{{ parseFloat(TindirectFee).toFixed(2) }}</div></a-col>
<a-col :span="2"><div class="special-middle">{{ parseFloat(TselfAmount).toFixed(2) }}</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="addArrey()">
<a-icon type="plus" /> 添加 <span style="color:red;margin-left:10px"></span>
</a-button>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex" class="item_inner">
<a-col :span="24">
<span style="color: red;">注:1.单位类型为项目承担单位、项目参加单位。<br />
2.任务分工的描述应简洁,不超过300字。</span>
</a-col>
</a-row>
</div> </div>
</template> </template>
<script> <script>
const Payment = {
id: "",
objectId: "",
unitName: "",
countryName: "",
socialCode: "",
unitRole: null,
taskDivision: "",
taskLeader: "",
totalAmount: 0.00,
indirectFee: 0.00,
fundAmount: 0.00,
selfAmount: 0.00,
}
export default { export default {
name: "UnitPaymentEdit", name: "UnitPaymentEdit",
props: { props: {
unitPayment: { unitPayment: {
type: Array, type: Array,
default: () => { default: () => {
return []; return [{ ...Payment }];
}, },
}, },
}, },
data() { data() {
return {}; return {
TtotalAmount: 0.00,
TindirectFee: 0.00,
TfundAmount: 0.00,
TselfAmount: 0.00,
};
},
methods: {
addArrey() {
this.unitPayment.push(Object.assign({ ...Payment }))
},
deleteUnitPayment(item) {
let index = this.unitPayment.indexOf(item)
if (index !== -1) {
this.unitPayment.splice(index, 1)
}
},
outAmountChange(index) {
this.unitPayment[index].totalAmount = this.unitPayment[index].fundAmount + this.unitPayment[index].selfAmount
this.calTotalAmount()
},
outFundAmountChange(index) {
if (this.unitPayment[index].indirectFee > this.unitPayment[index].fundAmount) {
this.$message.error("间接费用不能超过小计!")
this.unitPayment[index].indirectFee = 0.00
}
this.calTotalAmount()
},
calTotalAmount() {
this.TfundAmount = 0.00
this.TindirectFee = 0.00
this.TselfAmount = 0.00
this.TtotalAmount = 0.00
this.unitPayment.forEach(e => {
this.TfundAmount += e.fundAmount
this.TindirectFee += e.indirectFee
this.TselfAmount += e.selfAmount
this.TtotalAmount += e.totalAmount
})
}
}, },
methods: {},
}; };
</script> </script>
\ No newline at end of file
...@@ -7,10 +7,147 @@ ...@@ -7,10 +7,147 @@
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex" class="row_center">
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>序号</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>单位名称</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>单位国别</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>统一社会信用代码</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>单位类型</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>任务分工</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>研究任务负责人</div>
</div>
</a-col>
<a-col :span="1" class="bg-gray">
<div class="special-middle">
<div>合计</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div style="height: 30px;">
<div>省级财政资金</div>
</div>
<div style="padding-bottom: 5px;">
<div class="special-middle" style="float:left;width: 50%;height: 20px;">
<div>小计</div>
</div>
<div class="special-middle" style="float:right;width: 50%;height: 20px;">
<div>其中:间接费用</div>
</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 unitPayment" :key="'unitPayment' + index" type="flex" class="row_center">
<a-col :span="2">
<div class="special-middle">{{ index + 1 }}</div>
</a-col>
<a-col :span="3">
<div class="special-middle">{{ item.unitName }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.countryName }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.socialCode }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.unitRole }}</div>
</a-col>
<a-col :span="4">
<div class="special-middle">{{ item.taskDivision }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.taskLeader }}</div>
</a-col>
<a-col :span="1">
<div class="special-middle">
<div>{{ parseFloat(item.totalAmount).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>{{ parseFloat(item.fundAmount).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>{{ parseFloat(item.indirectFee).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>{{ parseFloat(item.selfAmount).toFixed(2) }}</div>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="17">
<div class="special-middle">累计</div>
</a-col>
<a-col :span="1"><div class="special-middle">{{ parseFloat(TtotalAmount).toFixed(2) }}</div></a-col>
<a-col :span="2"><div class="special-middle">{{ parseFloat(TfundAmount).toFixed(2) }}</div></a-col>
<a-col :span="2"><div class="special-middle">{{ parseFloat(TindirectFee).toFixed(2) }}</div></a-col>
<a-col :span="2"><div class="special-middle">{{ parseFloat(TselfAmount).toFixed(2) }}</div></a-col>
</a-row>
<a-row type="flex" class="item_inner">
<a-col :span="24">
<span style="color: red;">注:1.单位类型为项目承担单位、项目参加单位。<br />
2.任务分工的描述应简洁,不超过300字。</span>
</a-col>
</a-row>
</div> </div>
</template> </template>
<script> <script>
const Payment = {
id: "",
objectId: "",
unitName: "",
countryName: "",
socialCode: "",
unitRole: null,
taskDivision: "",
taskLeader: "",
totalAmount: 0.00,
indirectFee: 0.00,
fundAmount: 0.00,
selfAmount: 0.00,
}
export default { export default {
name: "UnitPaymentInfo", name: "UnitPaymentInfo",
props: { props: {
...@@ -22,8 +159,39 @@ export default { ...@@ -22,8 +159,39 @@ export default {
}, },
}, },
data() { data() {
return {}; return {
TtotalAmount: 0.00,
TindirectFee: 0.00,
TfundAmount: 0.00,
TselfAmount: 0.00,
};
},
methods: {
outAmountChange(index) {
this.unitPayment[index].totalAmount = this.unitPayment[index].fundAmount + this.unitPayment[index].selfAmount
this.calTotalAmount()
},
outFundAmountChange(index) {
if (this.unitPayment[index].indirectFee > this.unitPayment[index].fundAmount) {
this.$message.error("间接费用不能超过小计!")
this.unitPayment[index].indirectFee = 0.00
}
this.calTotalAmount()
},
calTotalAmount() {
this.TfundAmount = 0.00
this.TindirectFee = 0.00
this.TselfAmount = 0.00
this.TtotalAmount = 0.00
this.unitPayment.forEach(e => {
this.TfundAmount += e.fundAmount
this.TindirectFee += e.indirectFee
this.TselfAmount += e.selfAmount
this.TtotalAmount += e.totalAmount
})
}
}, },
methods: {},
}; };
</script> </script>
\ No newline at end of file
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