|
@@ -1,13 +1,17 @@
|
|
|
<template>
|
|
|
<a-spin :spinning="spinning">
|
|
|
<a-card :bordered="false" class="u-dialog-card">
|
|
|
- <!-- <div class="table-operator">
|
|
|
- <a-button type="primary" icon="download" @click="handleExportXls('当月成本额明细')">导出</a-button>
|
|
|
- </div> -->
|
|
|
+ <div style="float: right;margin-top: -25px;">
|
|
|
+ <div>{{chengbenTabs[chooseTabIndex].title}}总金额:{{ (totalAmount?(Number(totalAmount)/10000).toFixed(2):'') + '万元' }}</div>
|
|
|
+ </div>
|
|
|
<a-tabs :default-active-key="0" @change="changeTab">
|
|
|
<a-tab-pane :key="index" :tab="item.title" v-for="(item, index) in chengbenTabs">
|
|
|
- <clf-detail v-if="chooseTabIndex === 0"></clf-detail>
|
|
|
- <other-detail v-if="chooseTabIndex !== 0 && chooseTab === item.value" :listUrl="listUrl"></other-detail>
|
|
|
+ <!-- <div>
|
|
|
+ 日期范围:
|
|
|
+ <a-range-picker v-model="dateRange" @change="onChange"/>
|
|
|
+ </div> -->
|
|
|
+ <clf-detail v-if="chooseTabIndex === 0" :taskno="taskno"></clf-detail>
|
|
|
+ <other-detail v-if="chooseTabIndex !== 0 && chooseTab === item.value" :listUrl="listUrl" :taskno="taskno"></other-detail>
|
|
|
</a-tab-pane>
|
|
|
</a-tabs>
|
|
|
</a-card>
|
|
@@ -17,9 +21,10 @@
|
|
|
<script>
|
|
|
|
|
|
import '@/assets/less/TableExpand.less'
|
|
|
- import { downFile } from '@/api/manage'
|
|
|
+ // import { downFile } from '@/api/manage'
|
|
|
import ClfDetail from '../chengbeneDetali/clfDetail.vue'
|
|
|
import OtherDetail from '../chengbeneDetali/otherDetail.vue'
|
|
|
+ import { getAction } from '@/api/manage'
|
|
|
|
|
|
export default {
|
|
|
name: 'ChengbenDetailList',
|
|
@@ -27,19 +32,25 @@
|
|
|
ClfDetail,
|
|
|
OtherDetail
|
|
|
},
|
|
|
+ props: {
|
|
|
+ taskno: {
|
|
|
+ type: String,
|
|
|
+ default: ''
|
|
|
+ },
|
|
|
+ },
|
|
|
data () {
|
|
|
return {
|
|
|
spinning: false,
|
|
|
chengbenTabs: [
|
|
|
- { title: '材料费', value: 'clf', url: '/index/getClfDetailNew'},
|
|
|
- { title: '专用费', value: 'zyf', url: '/index/getZyfDetailNew'},
|
|
|
- { title: '事务费', value: 'swf', url: '/index/getSwfDetailNew'},
|
|
|
- { title: '外协费', value: 'wxf', url: '/index/getWxfDetailNew'},
|
|
|
- { title: '燃动费', value: 'rdf', url: '/index/getRdfDetailNew'},
|
|
|
- { title: '固资费', value: 'gzf', url: '/index/getZjfDetailNew'},
|
|
|
- { title: '人工费', value: 'rgf', url: '/index/getRgfDetailNew'},
|
|
|
- { title: '管理费', value: 'glf', url: '/index/getGlfDetailNew'},
|
|
|
- { title: '筛选费', value: 'sxf', url: '/index/getSxfDetailNew'},
|
|
|
+ { title: '材料费', value: 'clf', url: '/wzOutboundOrderBNew/wzOutboundOrderBNew/getCLFListByTasknosYs', totalUrl: '/wzOutboundOrderBNew/wzOutboundOrderBNew/getTotalCLFByTasknosYs'},
|
|
|
+ { title: '专用费', value: 'zyf', url: '/projectChbZyf/projectChbZyf/getZYFListByTasknosYs', totalUrl: '/projectChbZyf/projectChbZyf/getTotalZYFByTasknosYs'},
|
|
|
+ { title: '事务费', value: 'swf', url: '/projectChbSwf/projectChbSwf/getSWFListByTasknosYs', totalUrl: '/projectChbSwf/projectChbSwf/getTotalSWFByTasknosYs'},
|
|
|
+ { title: '外协费', value: 'wxf', url: '/projectChbWxf/projectChbWxf/getWXFListByTasknosYs', totalUrl: '/projectChbWxf/projectChbWxf/getTotalWXFByTasknosYs'},
|
|
|
+ { title: '燃动费', value: 'rdf', url: '/projectChbRdf/kzksProjectChbRdf/getRDFListByTasknosYs', totalUrl: '/projectChbRdf/kzksProjectChbRdf/getTotalRDFByTasknosYs'},
|
|
|
+ { title: '固资费', value: 'gzf', url: '/projectChbZjf/kzksProjectChbZjf/getZJFListByTasknosYs', totalUrl: '/projectChbZjf/kzksProjectChbZjf/getTotalZJFByTasknosYs'},
|
|
|
+ { title: '人工费', value: 'rgf', url: '/projectChbRgf/kzksProjectChbRgf/getRGFListByTasknosYs', totalUrl: '/projectChbRgf/kzksProjectChbRgf/getTotalRGFByTasknosYs'},
|
|
|
+ { title: '管理费', value: 'glf', url: '/projectChbGlf/kzksProjectChbGlf/getGLFListByTasknosYs', totalUrl: '/projectChbGlf/kzksProjectChbGlf/getTotalGLFByTasknosYs'},
|
|
|
+ { title: '筛选费', value: 'sxf', url: '/projectChbSxf/projectChbSxf/getSXFListByTasknosYs', totalUrl: '/projectChbSxf/projectChbSxf/getTotalSXFByTasknosYs'},
|
|
|
],
|
|
|
chooseTabIndex: 0,
|
|
|
chooseTab: '', // 为了解决用v-else会出现多个请求的问题
|
|
@@ -47,59 +58,48 @@
|
|
|
url: {
|
|
|
exportXlsUrl: "/index/exportCneXls",
|
|
|
},
|
|
|
+ totalAmount: '',
|
|
|
+ // dateRange: this.$store.getters.pcDateRange,
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ this.getTotalAmount(this.chengbenTabs[this.chooseTabIndex].totalUrl)
|
|
|
},
|
|
|
computed: {
|
|
|
- departNameList() {
|
|
|
- return this.$store.getters.departNameList
|
|
|
+ dateRange() {
|
|
|
+ return this.$store.getters.pcDateRange
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
- // 使用jeecgListMinxin中方法,但不需要loadData
|
|
|
- // loadData(){},
|
|
|
+ getTotalAmount(tabUrl){
|
|
|
+ var params = {
|
|
|
+ beginDate: this.dateRange ? this.dateRange[0] : '',
|
|
|
+ endDate: this.dateRange ? this.dateRange[1] : '',
|
|
|
+ taskno: this.taskno,
|
|
|
+ }
|
|
|
+ getAction(tabUrl, params).then(res => {
|
|
|
+ if (res.success) {
|
|
|
+ this.totalAmount = res.result
|
|
|
+ }else{
|
|
|
+ this.$message.warning(res.message)
|
|
|
+ }
|
|
|
+ }).finally(() => {
|
|
|
+ })
|
|
|
+ },
|
|
|
changeTab(e){
|
|
|
console.log(e)
|
|
|
+ this.getTotalAmount(this.chengbenTabs[e].totalUrl)
|
|
|
this.chooseTabIndex = e
|
|
|
this.chooseTab = this.chengbenTabs[e].value
|
|
|
if(e !== 0){
|
|
|
this.listUrl = this.chengbenTabs[e].url
|
|
|
}
|
|
|
},
|
|
|
- handleExportXls(fileName){
|
|
|
- if(!fileName || typeof fileName != "string"){
|
|
|
- fileName = "导出文件"
|
|
|
- }
|
|
|
- // let param = this.getQueryParams();
|
|
|
- // let param = {};
|
|
|
- // if(this.selectedRowKeys && this.selectedRowKeys.length>0){
|
|
|
- // param['selections'] = this.selectedRowKeys.join(",")
|
|
|
- // }
|
|
|
- // console.log("导出参数",param)
|
|
|
- this.spinning = true
|
|
|
- downFile(this.url.exportXlsUrl, {departNameList: this.departNameList}).then((data)=>{
|
|
|
- if (!data) {
|
|
|
- this.$message.warning("文件下载失败")
|
|
|
- this.spinning = false
|
|
|
- return
|
|
|
- }
|
|
|
- this.spinning = false
|
|
|
- if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
|
|
- window.navigator.msSaveBlob(new Blob([data],{type: 'application/vnd.ms-excel'}), fileName+'.xls')
|
|
|
- }else{
|
|
|
- let url = window.URL.createObjectURL(new Blob([data],{type: 'application/vnd.ms-excel'}))
|
|
|
- let link = document.createElement('a')
|
|
|
- link.style.display = 'none'
|
|
|
- link.href = url
|
|
|
- link.setAttribute('download', fileName+'.xls')
|
|
|
- document.body.appendChild(link)
|
|
|
- link.click()
|
|
|
- document.body.removeChild(link); //下载完成移除元素
|
|
|
- window.URL.revokeObjectURL(url); //释放掉blob对象
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
+ // 日期范围选择
|
|
|
+ // onChange(date, dateString) {
|
|
|
+ // // this.dateRange = dateString
|
|
|
+ // this.$store.commit('SET_PCDATERANGE', dateString);
|
|
|
+ // },
|
|
|
}
|
|
|
}
|
|
|
</script>
|