|
@@ -3,123 +3,132 @@
|
|
|
<div class="head">第五部分 试验虚拟结算</div>
|
|
|
<table class="main-table">
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">核准 虚拟结算额</td>
|
|
|
+ <td rowspan="6" style="width: 100px">市场部<br/>核准</td>
|
|
|
+ <td class="title" style="width: 100px">核准<br/>虚拟结算额</td>
|
|
|
<td class="content" style="width: 360px">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+ <div>
|
|
|
+ <div v-for="(item, index) in tableData.xnJiesuanE" :key="index">{{ item.name }}:{{ item.amount }};</div>
|
|
|
+ </div>
|
|
|
</td>
|
|
|
- <td class="title white" style="width: 100px">核准 虚拟结算毛利</td>
|
|
|
- <td class="content" style="width: 450px">
|
|
|
- <input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
+ <td class="title white" style="width: 100px">核准<br/>虚拟结算毛利</td>
|
|
|
+ <td class="content">
|
|
|
+ <!-- <input v-model="tableData.xnMaoli" style="text-align: center" /> -->
|
|
|
+ <div>
|
|
|
+ <div v-for="(item, index) in tableData.xnJiesuanE" :key="index">{{ item.name }}:{{ item.amount * 0.8 }};</div>
|
|
|
+ </div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">核准 合同总额</td>
|
|
|
+ <td class="title" style="width: 100px">核准<br/>合同总额</td>
|
|
|
<td class="content" style="width: 360px">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+ <input v-model="tableData.hetongZonge" style="text-align: center" />
|
|
|
</td>
|
|
|
- <td class="title white" style="width: 100px">核准 外协外购</td>
|
|
|
- <td class="content" style="width: 450px">
|
|
|
- <input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
+ <td class="title white" style="width: 100px">核准<br/>外协外购</td>
|
|
|
+ <td class="content" style="width: 350px">
|
|
|
+ <input v-model="tableData.waixieWaigou" style="text-align: center" />
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">销售提成 基数</td>
|
|
|
+ <td class="title" style="width: 100px">销售提成<br/>基数</td>
|
|
|
<td class="content" style="width: 360px">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+
|
|
|
</td>
|
|
|
<td class="title white" style="width: 100px">项目满意度</td>
|
|
|
- <td class="content" style="width: 450px">
|
|
|
+ <td class="content" style="width: 350px">
|
|
|
<input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">项目计算标准</td>
|
|
|
+ <td class="title" style="width: 100px">项目计算<br/>标准</td>
|
|
|
<td class="content" style="width: 360px">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+ <div>
|
|
|
+ <div>虚拟结算量化标准</div>
|
|
|
+ <div>0-5万:5%</div>
|
|
|
+ <div>5-10万:4%</div>
|
|
|
+ <div>10-50万:3%</div>
|
|
|
+ <div>50万以上:2%</div>
|
|
|
+ </div>
|
|
|
</td>
|
|
|
- <td class="title white" style="width: 100px">项目绩效 基数计算</td>
|
|
|
- <td class="content" style="width: 450px">
|
|
|
- <input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
+ <td class="title white" style="width: 100px">项目绩效<br/>基数计算</td>
|
|
|
+ <td class="content" style="width: 350px">
|
|
|
+ <el-table :data="jixiaoData" style="width: 100%">
|
|
|
+ <el-table-column type="index" label="序号"></el-table-column>
|
|
|
+ <!-- <el-table-column prop="type" label="试验类型"></el-table-column> -->
|
|
|
+ <el-table-column prop="name" label="试验类型"></el-table-column>
|
|
|
+ <el-table-column prop="fenduan" label="合同分段"></el-table-column>
|
|
|
+ <el-table-column prop="bili" label="分段比例"></el-table-column>
|
|
|
+ <el-table-column prop="ticheng" label="分段提成"></el-table-column>
|
|
|
+ <el-table-column prop="yue" label="分段余额"></el-table-column>
|
|
|
+ </el-table>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">项目得分(百分制)</td>
|
|
|
+ <td class="title" style="width: 100px">项目得分<br/>(百分制)</td>
|
|
|
<td class="content" style="width: 360px">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+ <!-- <itdm-device-run-list></itdm-device-run-list> -->
|
|
|
</td>
|
|
|
<!-- <td class="content" style="width: 100px" colspan="2"></td> -->
|
|
|
- <td class="title white" style="width: 100px">虚拟结算 绩效总额</td>
|
|
|
- <td class="content" style="width: 450px">
|
|
|
- <input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
+ <td class="title white" style="width: 100px">虚拟结算<br/>绩效总额</td>
|
|
|
+ <td class="content" style="width: 350px">
|
|
|
+ <div v-for="(item, index) in jixiaoZonge" :key="index">{{ item }}</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">
|
|
|
- <div>市场部核准</div>
|
|
|
- <div>核准结论</div>
|
|
|
- </td>
|
|
|
+ <td class="title" style="width: 100px">核准结论</td>
|
|
|
<td class="content" style="width: 360px">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+ <div></div>
|
|
|
</td>
|
|
|
<!-- <td class="content" style="width: 100px" colspan="2"></td> -->
|
|
|
<td class="title white" style="width: 100px">核准人 </td>
|
|
|
- <td class="content" style="width: 450px">
|
|
|
+ <td class="content" style="width: 350px">
|
|
|
<input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">
|
|
|
- <div>工程技术部核准</div>
|
|
|
- <div>核准结论</div>
|
|
|
- </td>
|
|
|
+ <td class="title" style="width: 100px; background-color: #E5E0EC;">工程技术部<br/>核准</td>
|
|
|
+ <td class="title" style="width: 100px">核准结论</td>
|
|
|
<td class="content" style="width: 360px; background-color: #E5E0EC;">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+ <div></div>
|
|
|
</td>
|
|
|
<!-- <td class="content" style="width: 100px" colspan="2"></td> -->
|
|
|
<td class="title white" style="width: 100px">核准人 </td>
|
|
|
- <td class="content" style="width: 450px; background-color: #E5E0EC;">
|
|
|
+ <td class="content" style="width: 350px; background-color: #E5E0EC;">
|
|
|
<input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">
|
|
|
- <div>财务部核准</div>
|
|
|
- <div>核准结论</div>
|
|
|
- </td>
|
|
|
+ <td class="title" style="width: 100px; background-color: #F2DCDB;">财务部<br/>核准</td>
|
|
|
+ <td class="title" style="width: 100px">核准结论</td>
|
|
|
<td class="content" style="width: 360px; background-color: #F2DCDB;">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+ <div></div>
|
|
|
</td>
|
|
|
<!-- <td class="content" style="width: 100px" colspan="2"></td> -->
|
|
|
<td class="title white" style="width: 100px">核准人 </td>
|
|
|
- <td class="content" style="width: 450px; background-color: #F2DCDB;">
|
|
|
+ <td class="content" style="width: 350px; background-color: #F2DCDB;">
|
|
|
<input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">
|
|
|
- <div>总经理审批</div>
|
|
|
- <div>批准结论</div>
|
|
|
- </td>
|
|
|
+ <td class="title" style="width: 100px; background-color: #E5B9B7;">总经理审批</td>
|
|
|
+ <td class="title" style="width: 100px">批准结论</td>
|
|
|
<td class="content" style="width: 360px; background-color: #E5B9B7;">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+ <div></div>
|
|
|
</td>
|
|
|
<!-- <td class="content" style="width: 100px" colspan="2"></td> -->
|
|
|
<td class="title white" style="width: 100px">总经理 </td>
|
|
|
- <td class="content" style="width: 450px; background-color: #E5B9B7;">
|
|
|
+ <td class="content" style="width: 350px; background-color: #E5B9B7;">
|
|
|
<input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="title" style="width: 100px">
|
|
|
- <div>归档</div>
|
|
|
- <div>合同信息</div>
|
|
|
- </td>
|
|
|
+ <td class="title" style="width: 100px; background-color: #DBEEF3;">归档</td>
|
|
|
+ <td class="title" style="width: 100px">合同信息</td>
|
|
|
<td class="content" style="width: 360px">
|
|
|
- <div style="width: 440px"></div>
|
|
|
+ <div></div>
|
|
|
</td>
|
|
|
<!-- <td class="content" style="width: 100px" colspan="2"></td> -->
|
|
|
<td class="title white" style="width: 100px">核准人 </td>
|
|
|
- <td class="content" style="width: 450px">
|
|
|
+ <td class="content" style="width: 350px">
|
|
|
<input v-model="tableData.shuruLeixing" style="text-align: center" />
|
|
|
</td>
|
|
|
</tr>
|
|
@@ -129,18 +138,183 @@
|
|
|
|
|
|
<script>
|
|
|
export default {
|
|
|
- name: 'itdmXnJiesuan',
|
|
|
- data() {
|
|
|
- return {
|
|
|
- tableData: {
|
|
|
- cleanPrice: [
|
|
|
- {
|
|
|
- total: 0,
|
|
|
- },
|
|
|
- ],
|
|
|
+ name: 'itdmXnJiesuan',
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ tableData: {
|
|
|
+ xnJiesuanE: [
|
|
|
+ { type: 0, name: '气候试验', amount: 50000 },
|
|
|
+ { type: 1, name: '力学试验', amount: 510000 },
|
|
|
+ { type: 2, name: '重要/非标试验', amount: 100000 },
|
|
|
+ ],
|
|
|
+ jixiaoData: [],
|
|
|
+ jixiaoZonge: null
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ jixiaoData(){
|
|
|
+ var dataLists = []
|
|
|
+ for (let i = 0; i < this.tableData.xnJiesuanE.length; i++) {
|
|
|
+ const item = this.tableData.xnJiesuanE[i];
|
|
|
+ const money = item.amount * 0.8
|
|
|
+ if(money > 500000){
|
|
|
+ // 50万以上
|
|
|
+ console.log(money+':50万以上')
|
|
|
+ var arr = [
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.05,
|
|
|
+ ticheng: 50000 * 0.05,
|
|
|
+ yue: 50000
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.04,
|
|
|
+ ticheng: 50000 * 0.04,
|
|
|
+ yue: 50000
|
|
|
},
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.03,
|
|
|
+ ticheng: 400000 * 0.03,
|
|
|
+ yue: 400000
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.02,
|
|
|
+ ticheng: (money - 500000) * 0.02,
|
|
|
+ yue: money - 500000
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ dataLists.push(...arr)
|
|
|
+ } else if (money > 100000){
|
|
|
+ // 10万-50万之间
|
|
|
+ console.log(money+':10万-50万之间')
|
|
|
+ var arr = [
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.05,
|
|
|
+ ticheng: 50000 * 0.05,
|
|
|
+ yue: 50000
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.04,
|
|
|
+ ticheng: 50000 * 0.04,
|
|
|
+ yue: 50000
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.03,
|
|
|
+ ticheng: (money - 100000) * 0.03,
|
|
|
+ yue: money - 100000
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ dataLists.push(...arr)
|
|
|
+ } else if (money > 50000){
|
|
|
+ // 5万-10万(包含)之间
|
|
|
+ console.log(money+':5万-10万(包含)之间')
|
|
|
+ var arr = [
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.05,
|
|
|
+ ticheng: 50000 * 0.05,
|
|
|
+ yue: 50000
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.04,
|
|
|
+ ticheng: (money - 50000) * 0.04,
|
|
|
+ yue: money - 50000
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ dataLists.push(...arr)
|
|
|
+ } else if (money >= 0){
|
|
|
+ // 0-5万(包含)之间
|
|
|
+ console.log(money+':0-5万(包含)之间')
|
|
|
+ var arr = [
|
|
|
+ {
|
|
|
+ type: item.type,
|
|
|
+ name: item.name,
|
|
|
+ fenduan: item.fenduan,
|
|
|
+ bili: 0.05,
|
|
|
+ ticheng: money * 0.05,
|
|
|
+ yue: money
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ dataLists.push(...arr)
|
|
|
}
|
|
|
+ }
|
|
|
+ return dataLists
|
|
|
},
|
|
|
+ jixiaoZonge(){
|
|
|
+ console.log(this.jixiaoData)
|
|
|
+
|
|
|
+ let totalArr = []
|
|
|
+ let total = 0
|
|
|
+
|
|
|
+ var arr0 = this.jixiaoData.filter(res => res.type === 0)
|
|
|
+ var arr1 = this.jixiaoData.filter(res => res.type === 1)
|
|
|
+ var arr2 = this.jixiaoData.filter(res => res.type === 2)
|
|
|
+
|
|
|
+ // 默认传如一个参数0,prev的第一项就是0,每次加上下一次的价格即可
|
|
|
+ let total0 = 0
|
|
|
+ let total1 = 0
|
|
|
+ let total2 = 0
|
|
|
+ if(arr0.length > 0){
|
|
|
+ var d = arr0.reduce((prev, next) => {
|
|
|
+ console.log(prev, next)
|
|
|
+ return prev + next.ticheng
|
|
|
+ }, 0)
|
|
|
+ total0 = d * 0.4
|
|
|
+ totalArr.push(`气候试验:${total0};`)
|
|
|
+ total = total + total0
|
|
|
+ }
|
|
|
+ if(arr1.length > 0){
|
|
|
+ var d = arr1.reduce((prev, next) => {
|
|
|
+ console.log(prev, next)
|
|
|
+ return prev + next.ticheng
|
|
|
+ }, 0)
|
|
|
+ total1 = d * 0.7
|
|
|
+ totalArr.push(`力学试验:${total1};`)
|
|
|
+ total = total + total1
|
|
|
+ }
|
|
|
+ if(arr2.length > 0){
|
|
|
+ var d = arr2.reduce((prev, next) => {
|
|
|
+ console.log(prev, next)
|
|
|
+ return prev + next.ticheng
|
|
|
+ }, 0)
|
|
|
+ total2 = d * 1
|
|
|
+ totalArr.push(`重要/非标试验:${total2};`)
|
|
|
+ total = total + total2
|
|
|
+ }
|
|
|
+ totalArr.push(`总计:${total};`)
|
|
|
+ // console.log(total)
|
|
|
+ return totalArr
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+
|
|
|
+ },
|
|
|
}
|
|
|
</script>
|
|
|
|