结算申请(单个结算),以及提交
This commit is contained in:
parent
06a8f49852
commit
ebcf19bd0f
|
|
@ -55,6 +55,14 @@ export function settlementReview(query) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 费用结算提交
|
||||||
|
export function submitCosts(params){
|
||||||
|
return request({
|
||||||
|
url: '/material/slt_agreement_info/submitCosts',
|
||||||
|
method: 'post',
|
||||||
|
data: params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,11 +28,26 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
<div class="tabelAllTop">
|
||||||
|
<div class="costTop">结算费用</div>
|
||||||
|
</div>
|
||||||
|
<div class="tabelAllTopUnit">
|
||||||
|
<div class="costTopUnit">结算单位</div>
|
||||||
|
<div class="costRightUnit">
|
||||||
|
{{ unitName }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tabelAllTopUnit">
|
||||||
|
<div class="costTopUnit">结算工程</div>
|
||||||
|
<div class="costRightUnit">
|
||||||
|
{{ projectName }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<el-table :data="leaseList">
|
<el-table :data="leaseList">
|
||||||
<el-table-column label="租赁费用明细" align="center">
|
<el-table-column label="租赁费用明细" align="center">
|
||||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true"/>
|
<!-- <el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true"/>
|
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true"/> -->
|
||||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true"/>
|
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="计量单位" align="center" prop="mtUnitName" :show-overflow-tooltip="true"/>
|
<el-table-column label="计量单位" align="center" prop="mtUnitName" :show-overflow-tooltip="true"/>
|
||||||
|
|
@ -42,78 +57,81 @@
|
||||||
<!-- <el-table-column label="归还数量" align="center" prop="" :show-overflow-tooltip="true" /> -->
|
<!-- <el-table-column label="归还数量" align="center" prop="" :show-overflow-tooltip="true" /> -->
|
||||||
<el-table-column label="归还日期 " align="center" prop="endTime" :show-overflow-tooltip="true"/>
|
<el-table-column label="归还日期 " align="center" prop="endTime" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="租赁天数" align="center" prop="leaseDays" :show-overflow-tooltip="true"/>
|
<el-table-column label="租赁天数" align="center" prop="leaseDays" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="租赁费用" align="center" prop="costs" :show-overflow-tooltip="true"/>
|
<el-table-column label="租赁费用(元)" align="center" prop="costs" :show-overflow-tooltip="true"/>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div style="width: 100%; text-align: right; padding: 20px 20px">租赁费用小计:{{ leaseCost }}</div>
|
|
||||||
|
<div class="tabelAll">
|
||||||
|
<div class="columnAllNum">费用小计:</div>
|
||||||
|
<div class="columnAll">
|
||||||
|
{{ leaseCost }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<el-table :data="repairList">
|
<el-table :data="repairList">
|
||||||
<el-table-column label="维修费用明细" align="center">
|
<el-table-column label="维修费用明细" align="center">
|
||||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true"/>
|
|
||||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true"/>
|
|
||||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true"/>
|
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="计量单位" align="center" prop="mtUnitName" :show-overflow-tooltip="true"/>
|
<el-table-column label="计量单位" align="center" prop="mtUnitName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="维修状态" align="center" prop="repairStatus" :show-overflow-tooltip="true">
|
|
||||||
<!-- <template slot-scope="scope">
|
|
||||||
<span v-if="scope.row.repairStatus == 0"
|
|
||||||
>未审核</span>
|
|
||||||
<span v-if="scope.row.repairStatus == 1"
|
|
||||||
>已审核</span>
|
|
||||||
</template> -->
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="维修数量" align="center" prop="num" :show-overflow-tooltip="true"/>
|
<el-table-column label="维修数量" align="center" prop="num" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="维修费用" align="center" prop="costs" :show-overflow-tooltip="true"/>
|
<el-table-column label="是否收费" align="center" prop="partType" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="类型" align="center" prop="partType" :show-overflow-tooltip="true">
|
<el-table-column label="维修费用(元)" align="center" prop="costs" :show-overflow-tooltip="true"/>
|
||||||
<!-- <template slot-scope="scope">
|
|
||||||
<span v-if="scope.row.partType == 0">不收费</span>
|
|
||||||
<span v-if="scope.row.partType == 1">收费</span>
|
|
||||||
</template> -->
|
|
||||||
</el-table-column>
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div style="width: 100%; text-align: right; padding: 20px 20px">维修费用小计:{{ repairCost }}</div>
|
<div class="tabelAll">
|
||||||
|
<div class="columnAllNum">费用小计:</div>
|
||||||
|
<div class="columnAll">
|
||||||
|
{{ repairCost }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<el-table :data="scrapList">
|
<el-table :data="scrapList">
|
||||||
<el-table-column label="报废费用明细" align="center">
|
<el-table-column label="报废费用明细" align="center">
|
||||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true"/>
|
|
||||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true"/>
|
|
||||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true"/>
|
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="计量单位" align="center" prop="mtUnitName" :show-overflow-tooltip="true"/>
|
<el-table-column label="计量单位" align="center" prop="mtUnitName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="报废数量" align="center" prop="num" :show-overflow-tooltip="true"/>
|
<el-table-column label="报废数量" align="center" prop="num" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="报废原因" align="center" prop="scrapType" :show-overflow-tooltip="true">
|
<el-table-column label="是否收费" align="center" prop="partType" :show-overflow-tooltip="true"/>
|
||||||
<!-- <template slot-scope="scope"> -->
|
<el-table-column label="报废费用(元)" align="center" prop="costs" :show-overflow-tooltip="true"/>
|
||||||
<!-- <span v-if="scope.row.scrapType == 0">自然</span> -->
|
|
||||||
<!-- <span v-if="scope.row.scrapType == 1">人为</span> -->
|
|
||||||
<!-- </template> -->
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="报废费用" align="center" prop="costs" :show-overflow-tooltip="true"/>
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div style="width: 100%; text-align: right; padding: 20px 20px">报废费用小计:{{ scrapCost }}</div>
|
<div class="tabelAll">
|
||||||
|
<div class="columnAllNum">费用小计:</div>
|
||||||
|
<div class="columnAll">
|
||||||
|
{{ scrapCost }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<el-table :data="loseList">
|
<el-table :data="loseList">
|
||||||
<el-table-column label="丢失费用明细" align="center">
|
<el-table-column label="丢失费用明细" align="center">
|
||||||
<el-table-column label="序号" align="center" type="index" width="60"/>
|
<el-table-column label="序号" align="center" type="index" width="60"/>
|
||||||
<el-table-column label="结算单位" align="center" prop="unitName" :show-overflow-tooltip="true"/>
|
|
||||||
<el-table-column label="结算工程" align="center" prop="projectName" :show-overflow-tooltip="true"/>
|
|
||||||
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
<el-table-column label="设备名称" align="center" prop="typeName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true"/>
|
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="计量单位" align="center" prop="mtUnitName" :show-overflow-tooltip="true"/>
|
<el-table-column label="计量单位" align="center" prop="mtUnitName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="丢失数量" align="center" prop="num" :show-overflow-tooltip="true"/>
|
<el-table-column label="丢失数量" align="center" prop="num" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="丢失费用" align="center" prop="costs" :show-overflow-tooltip="true"/>
|
<el-table-column label="丢失费用(元)" align="center" prop="costs" :show-overflow-tooltip="true"/>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div style="width: 100%; text-align: right; padding: 20px 20px">丢失费用小计:{{ loseCost }}</div>
|
<div class="tabelAllBottom">
|
||||||
|
<div class="columnAllNum">费用小计:</div>
|
||||||
|
<div class="columnAll">
|
||||||
|
{{ loseCost }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tabelAllBottom">
|
||||||
|
<div class="columnAllNum">合计:</div>
|
||||||
|
<div class="columnAll">
|
||||||
|
{{ costAll }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 审批弹窗 -->
|
<!-- 审批弹窗 -->
|
||||||
|
|
@ -197,7 +215,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getSltInfo, submitFee } from '@/api/cost/cost'
|
import { getSltInfo, submitFee,submitCosts } from '@/api/cost/cost'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: '',
|
name: '',
|
||||||
|
|
@ -225,6 +243,8 @@ export default {
|
||||||
deptName: undefined,
|
deptName: undefined,
|
||||||
applyVisible: false,
|
applyVisible: false,
|
||||||
applyList: [],
|
applyList: [],
|
||||||
|
projectName: undefined, //结算工程
|
||||||
|
unitName: undefined, //结算单位
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
@ -250,13 +270,17 @@ export default {
|
||||||
getDataAll() {
|
getDataAll() {
|
||||||
getSltInfo(this.rowData).then((response) => {
|
getSltInfo(this.rowData).then((response) => {
|
||||||
this.leaseList = response.data.leaseList //租赁费用列表
|
this.leaseList = response.data.leaseList //租赁费用列表
|
||||||
|
this.projectName = response.data.projectName
|
||||||
|
this.unitName = response.data.unitName
|
||||||
this.leaseCost = this.countCost(this.leaseList)
|
this.leaseCost = this.countCost(this.leaseList)
|
||||||
|
|
||||||
this.repairList = response.data.repairList //维修费用列表
|
this.repairList = response.data.repairList //维修费用列表
|
||||||
this.repairCost = this.countCost(this.repairList)
|
this.repairCost = response.data.repairCost.toFixed(2)
|
||||||
|
// this.repairCost = this.countCost(this.repairList)
|
||||||
|
|
||||||
this.scrapList = response.data.scrapList //报废费用列表
|
this.scrapList = response.data.scrapList //报废费用列表
|
||||||
this.scrapCost = this.countCost(this.scrapList)
|
this.scrapCost = response.data.scrapCost.toFixed(2)
|
||||||
|
// this.scrapCost = this.countCost(this.scrapList)
|
||||||
|
|
||||||
this.loseList = response.data.loseList //丢失费用列表
|
this.loseList = response.data.loseList //丢失费用列表
|
||||||
this.loseCost = this.countCost(this.loseList)
|
this.loseCost = this.countCost(this.loseList)
|
||||||
|
|
@ -301,8 +325,23 @@ export default {
|
||||||
},
|
},
|
||||||
//提交按钮
|
//提交按钮
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.getDataAll()
|
this.$modal
|
||||||
this.applyVisible = true
|
.confirm('是否确认提交?')
|
||||||
|
.then(() => {
|
||||||
|
let params = {
|
||||||
|
'agreementId': this.rowData[0].agreementId, 'agreementCode': this.rowData[0].agreementCode,'totalCostAll': this.costAll,
|
||||||
|
'leaseList': this.leaseList, 'repairList': this.repairList, 'scrapList': this.scrapList,'loseList': this.loseList,
|
||||||
|
}
|
||||||
|
console.log('2222222222222',params)
|
||||||
|
submitCosts(params).then((response) => {
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: '提交成功',
|
||||||
|
})
|
||||||
|
this.$emit('handleBack')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
//el-table-合计总费用
|
//el-table-合计总费用
|
||||||
getSummaries(param) {
|
getSummaries(param) {
|
||||||
|
|
@ -453,41 +492,53 @@ export default {
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
//租赁
|
//租赁
|
||||||
handleExport1() {
|
handleExport1() {
|
||||||
this.downloadJson(
|
const params = this.rowData[0]
|
||||||
|
this.download(
|
||||||
'material/slt_agreement_info/exportLease',
|
'material/slt_agreement_info/exportLease',
|
||||||
JSON.stringify(this.rowData),
|
{...params,},
|
||||||
`租赁费用明细_${new Date().getTime()}.xlsx`,
|
`租赁费用明细_${new Date().getTime()}.xlsx`,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
//丢失
|
//丢失
|
||||||
handleExport2() {
|
handleExport2() {
|
||||||
this.downloadJson(
|
const params = this.rowData[0]
|
||||||
|
this.download(
|
||||||
'material/slt_agreement_info/exportLose',
|
'material/slt_agreement_info/exportLose',
|
||||||
JSON.stringify(this.rowData),
|
{...params,},
|
||||||
`丢失费用明细_${new Date().getTime()}.xlsx`,
|
`丢失费用明细_${new Date().getTime()}.xlsx`,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
// 维修
|
// 维修
|
||||||
handleExport3() {
|
handleExport3() {
|
||||||
this.downloadJson(
|
const params = this.rowData[0]
|
||||||
|
this.download(
|
||||||
'material/slt_agreement_info/exportRepair',
|
'material/slt_agreement_info/exportRepair',
|
||||||
JSON.stringify(this.rowData),
|
{...params,},
|
||||||
`维修费用明细_${new Date().getTime()}.xlsx`,
|
`维修费用明细_${new Date().getTime()}.xlsx`,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
//报废
|
//报废
|
||||||
handleExport4() {
|
handleExport4() {
|
||||||
this.downloadJson(
|
const params = this.rowData[0]
|
||||||
|
this.download(
|
||||||
'material/slt_agreement_info/exportScrap',
|
'material/slt_agreement_info/exportScrap',
|
||||||
JSON.stringify(this.rowData),
|
{...params,},
|
||||||
`报废费用明细_${new Date().getTime()}.xlsx`,
|
`报废费用明细_${new Date().getTime()}.xlsx`,
|
||||||
)
|
)
|
||||||
|
// this.downloadJson(
|
||||||
|
// 'material/slt_agreement_info/exportScrap',
|
||||||
|
// JSON.stringify(this.rowData),
|
||||||
|
// `报废费用明细_${new Date().getTime()}.xlsx`,
|
||||||
|
// )
|
||||||
},
|
},
|
||||||
|
|
||||||
handleExportAll() {
|
handleExportAll() {
|
||||||
this.handleExport1()
|
const params = this.rowData[0]
|
||||||
this.handleExport2()
|
this.download(
|
||||||
this.handleExport3()
|
'material/slt_agreement_info/exportAll',
|
||||||
this.handleExport4()
|
{...params,},
|
||||||
|
`全部费用明细_${new Date().getTime()}.xlsx`,
|
||||||
|
)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
@ -497,4 +548,84 @@ export default {
|
||||||
width: 80px !important;
|
width: 80px !important;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
.tabelAllTop {
|
||||||
|
display: flex;
|
||||||
|
border: 1px solid #dfe6ec;
|
||||||
|
width:100%;
|
||||||
|
height:50px;
|
||||||
|
background-color: #f8f8f9;
|
||||||
|
border-left: none;
|
||||||
|
border-bottom: none;
|
||||||
|
.costTop {
|
||||||
|
display: flex;
|
||||||
|
padding: 5px;
|
||||||
|
border-left: 1px solid #dfe6ec;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center; /* 将内容对齐到中间 */
|
||||||
|
width:100%;
|
||||||
|
font-weight: bold; /* 添加字体加粗样式 */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.tabelAllTopUnit {
|
||||||
|
display: flex;
|
||||||
|
border: 1px solid #dfe6ec;
|
||||||
|
width:100%;
|
||||||
|
height:50px;
|
||||||
|
background-color: #f8f8f9;
|
||||||
|
border-bottom: none;
|
||||||
|
.costTopUnit {
|
||||||
|
display: flex;
|
||||||
|
padding: 5px;
|
||||||
|
width:21.4%;
|
||||||
|
border-left: none;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center; /* 将内容对齐到中间 */
|
||||||
|
}
|
||||||
|
.costRightUnit {
|
||||||
|
display: flex;
|
||||||
|
padding: 5px;
|
||||||
|
border-left: 1px solid #dfe6ec;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
width:100%;
|
||||||
|
justify-content: center; /* 将内容对齐到中间 */
|
||||||
|
// padding-left: 20px; /* 添加左内边距 */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.tabelAll {
|
||||||
|
display: flex;
|
||||||
|
border: 1px solid #dfe6ec;
|
||||||
|
width:100%;
|
||||||
|
border-bottom: 1px solid #dfe6ec;
|
||||||
|
border-top: none;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
.tabelAllBottom {
|
||||||
|
display: flex;
|
||||||
|
border: 1px solid #dfe6ec;
|
||||||
|
width:100%;
|
||||||
|
border-bottom: 1px solid #dfe6ec;
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
.columnAll {
|
||||||
|
flex: 1;
|
||||||
|
padding: 5px;
|
||||||
|
border-left: 1px solid #dfe6ec;
|
||||||
|
text-align: right;
|
||||||
|
width:100%;
|
||||||
|
justify-content: flex-end; /* 将内容对齐到右侧 */
|
||||||
|
margin-right: 60px; /* 添加右边距 */
|
||||||
|
}
|
||||||
|
.columnAllNum {
|
||||||
|
padding: 5px;
|
||||||
|
text-align: center;
|
||||||
|
width:21.4%;
|
||||||
|
border-left: none;
|
||||||
|
}
|
||||||
|
/* 最后一列无右边框 */
|
||||||
|
.tabelAll .column:last-child {
|
||||||
|
border-right: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue