Commit b3c8156b authored by 徐俊's avatar 徐俊

xujun

parent 69ade2cb
...@@ -7,14 +7,285 @@ ...@@ -7,14 +7,285 @@
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex" class="item_inner">
<a-col :span="1" 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="1" 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="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>主要生产<br />厂家及国别</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>购置必要性及<br />对项目研究的<br />作用和用途</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in equipments" :key="'equipments' + index" type="flex" class="item_inner">
<a-col :span="1">
<div class="special-middle"><a-button icon="close" type="primary" shape="circle" size="small" @click="deleteEquipment(item)"></a-button>&nbsp;{{ index + 1 }}</div>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.name'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.name" :maxLength="100" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.functionTarget'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.functionTarget" :maxLength="200" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.unitPrice'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.unitPrice" @change="outUnitPriceChange(index)" :min="0" :step="0.01" style="width: 80%" />
</a-form-model-item>
</a-col>
<a-col :span="1">
<a-form-model-item :prop="'equipments.' + index + '.quantity'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.quantity" @change="outNumberChange(index)" :min="1" :step="1" style="width: 80%" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>{{ parseFloat(item.totalBudget).toFixed(2) }}</div>
</div>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.buyUnit'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.buyUnit" :maxLength="100" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.storageLocation'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.storageLocation" :maxLength="200" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.equipmentType'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.equipmentType" :maxLength="100" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.manufacturer'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.manufacturer" :maxLength="100" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.specificationType'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.specificationType" :maxLength="100" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.sharedScope'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.sharedScope" :maxLength="100" style="width: 90%;" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'equipments.' + index + '.useFrom'" :rules="{required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.useFrom" :maxLength="200" style="width: 90%;" />
</a-form-model-item>
</a-col>
</a-row>
<a-row type="flex" class="item_inner">
<a-col :span="5">
<div class="special-middle"><div>单价50万元及以上购置设备合计</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="1">
<div class="special-middle"><div>{{ fiftyUpNumber }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>{{ parseFloat(fiftyUpAmount).toFixed(2) }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
</a-row>
<a-row type="flex" class="item_inner">
<a-col :span="5">
<div class="special-middle"><div>单价50万元以下购置设备合计</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="1">
<div class="special-middle"><div>{{ fiftyDownNumber }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>{{ parseFloat(fiftyDownAmount).toFixed(2) }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
</a-row>
<a-row type="flex" class="item_inner">
<a-col :span="5">
<div class="special-middle"><div>累计</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="1">
<div class="special-middle"><div>{{ totalNumber }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>{{ parseFloat(totalAmount).toFixed(2) }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<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="addArrey()">
<a-icon type="plus" /> 添加 <span style="color:red;margin-left:10px"></span>
</a-button>
</div>
</a-col>
</a-row>
</div> </div>
</template> </template>
<script> <script>
const Equipment = {
id: "",
objectId: "",
name: "",
functionTarget: "",
specificationType: "",
quantity: 1,
totalBudget: 0.00,
useFrom: "",
buyUnit: "",
storageLocation: "",
equipmentType: "",
manufacturer: "",
sharedScope: "",
unitPrice: 0.00,
};
export default { export default {
name: "EquipmentEdit", name: "EquipmentEdit",
data() { data() {
return {}; return {
fiftyUpNumber: 0,
fiftyUpAmount: 0.00,
fiftyDownNumber: 0,
fiftyDownAmount: 0.00,
totalNumber: 0,
totalAmount: 0.00,
};
}, },
props: { props: {
equipments: { equipments: {
...@@ -24,6 +295,45 @@ export default { ...@@ -24,6 +295,45 @@ export default {
}, },
}, },
}, },
methods: {}, created () {
},
methods: {
calNumberAmount() {
this.fiftyUpAmount = 0.00
this.fiftyDownAmount = 0.00
this.fiftyUpNumber = 0
this.fiftyDownNumber = 0
this.equipments.forEach(e => {
if (e.unitPrice >= 50) {
this.fiftyUpAmount += e.unitPrice * e.quantity
this.fiftyUpNumber += e.quantity
} else {
this.fiftyDownAmount += e.unitPrice * e.quantity
this.fiftyDownNumber += e.quantity
}
})
this.totalNumber = this.fiftyUpNumber + this.fiftyDownNumber
this.totalAmount = this.fiftyUpAmount + this.fiftyDownAmount
},
outUnitPriceChange(index) {
this.equipments[index].totalBudget = this.equipments[index].unitPrice * this.equipments[index].quantity
this.calNumberAmount()
},
outNumberChange(index) {
this.equipments[index].totalBudget = this.equipments[index].unitPrice * this.equipments[index].quantity
this.calNumberAmount()
},
addArrey() {
this.equipments.push(Object.assign({ ...Equipment }))
this.calNumberAmount()
},
deleteEquipment(item) {
let index = this.equipments.indexOf(item)
if (index !== -1) {
this.equipments.splice(index, 1)
}
this.calNumberAmount()
},
},
}; };
</script> </script>
\ No newline at end of file
<template>
<div>
<a-row type="flex" class="item_inner">
<a-col :span="24" class="bg-gray">
<div class="special-middle">
<div>设备费-购置设备预算明细表</div>
</div>
</a-col>
</a-row>
<a-row type="flex" class="item_inner">
<a-col :span="1" 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="1" 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="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>主要生产<br />厂家及国别</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>购置必要性及<br />对项目研究的<br />作用和用途</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in equipments" :key="'equipments' + index" type="flex" class="item_inner">
<a-col :span="1">
<div class="special-middle">{{ index + 1 }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.name }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.functionTarget }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{parseFloat(item.unitPrice).toFixed(2)}}</div>
</a-col>
<a-col :span="1">
<div class="special-middle">{{ item.quantity }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ parseFloat(item.totalBudget).toFixed(2) }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.buyUnit }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.storageLocation }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.equipmentType }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.manufacturer }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.specificationType }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.sharedScope }}</div>
</a-col>
<a-col :span="2">
<div class="special-middle">{{ item.useFrom }}</div>
</a-col>
</a-row>
<a-row type="flex" class="item_inner">
<a-col :span="5">
<div class="special-middle"><div>单价50万元及以上购置设备合计</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="1">
<div class="special-middle"><div>{{ fiftyUpNumber }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>{{ parseFloat(fiftyUpAmount).toFixed(2) }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
</a-row>
<a-row type="flex" class="item_inner">
<a-col :span="5">
<div class="special-middle"><div>单价50万元以下购置设备合计</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="1">
<div class="special-middle"><div>{{ fiftyDownNumber }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>{{ parseFloat(fiftyDownAmount).toFixed(2) }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
</a-row>
<a-row type="flex" class="item_inner">
<a-col :span="5">
<div class="special-middle"><div>累计</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="1">
<div class="special-middle"><div>{{ totalNumber }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>{{ parseFloat(totalAmount).toFixed(2) }}</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
<a-col :span="2">
<div class="special-middle"><div>/</div></div>
</a-col>
</a-row>
</div>
</template>
<script>
const Equipment = {
id: "",
objectId: "",
name: "",
functionTarget: "",
specificationType: "",
quantity: 1,
totalBudget: 0.00,
useFrom: "",
buyUnit: "",
storageLocation: "",
equipmentType: "",
manufacturer: "",
sharedScope: "",
unitPrice: 0.00,
};
export default {
name: "EquipmentEdit",
data() {
return {
fiftyUpNumber: 0,
fiftyUpAmount: 0.00,
fiftyDownNumber: 0,
fiftyDownAmount: 0.00,
totalNumber: 0,
totalAmount: 0.00,
};
},
props: {
equipments: {
type: Array,
default: () => {
return [];
},
},
},
created () {
},
methods: {
calNumberAmount() {
this.fiftyUpAmount = 0.00
this.fiftyDownAmount = 0.00
this.fiftyUpNumber = 0
this.fiftyDownNumber = 0
this.equipments.forEach(e => {
if (e.unitPrice >= 50) {
this.fiftyUpAmount += e.unitPrice * e.quantity
this.fiftyUpNumber += e.quantity
} else {
this.fiftyDownAmount += e.unitPrice * e.quantity
this.fiftyDownNumber += e.quantity
}
})
this.totalNumber = this.fiftyUpNumber + this.fiftyDownNumber
this.totalAmount = this.fiftyUpAmount + this.fiftyDownAmount
},
outUnitPriceChange(index) {
this.equipments[index].totalBudget = this.equipments[index].unitPrice * this.equipments[index].quantity
this.calNumberAmount()
},
outNumberChange(index) {
this.equipments[index].totalBudget = this.equipments[index].unitPrice * this.equipments[index].quantity
this.calNumberAmount()
},
},
};
</script>
\ No newline at end of file
...@@ -793,8 +793,8 @@ export default { ...@@ -793,8 +793,8 @@ export default {
this.formData.cooperativeUnits = [{ ...Cooperative }] this.formData.cooperativeUnits = [{ ...Cooperative }]
if (!!!this.formData.members || this.formData.members.length == 0) if (!!!this.formData.members || this.formData.members.length == 0)
this.formData.members = [{ ...Members }] this.formData.members = [{ ...Members }]
if (!!!this.formData.equipments || this.formData.equipments.length == 0) if (!!!this.formData.equipments || !this.formData.equipments.length || this.formData.equipments.length == 0)
this.formData.equipments = [{ ...Equipments }] this.formData.equipments = []
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 = []
} }
......
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