履约保证查询及收回功能
This commit is contained in:
57
src/api/MarketingCenter/PerformanceBond.js
Normal file
57
src/api/MarketingCenter/PerformanceBond.js
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function initProject() {
|
||||||
|
return request({
|
||||||
|
url: '',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
type: '1',
|
||||||
|
name: '合同信息管理_项目名称_总_查询'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function searchTableData1(pageCurrent, pageSize, num1, num2, num3, num4, num5, num6) {
|
||||||
|
return request({
|
||||||
|
url: '',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
type: '1',
|
||||||
|
name: '合同信息管理_履约保证金_合同信息统计_查询',
|
||||||
|
param: '项目流水号=' + num1 + '=int&项目流水号_check=' + num2 + '=int&开始日期_check=' + num3 + '=int&结束日期_check=' + num4 + '=int&开始日期=' + num5 + '=date&结束日期=' + num6 + '=date',
|
||||||
|
Pagination: pageCurrent + '&' + pageSize
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function typeOfPerformanceBond(num1) {
|
||||||
|
return request({
|
||||||
|
url: '',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
type: '1',
|
||||||
|
name: '合同信息管理_履约保证金类型_查询',
|
||||||
|
param: '项目流水号=' + num1 + '=int'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function searchTableData2(num1) {
|
||||||
|
return request({
|
||||||
|
url: '',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
type: '1',
|
||||||
|
name: '合同信息管理_履约保证金_查询',
|
||||||
|
param: '项目流水号=' + num1 + '=int'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function takeBack(num1, num2) {
|
||||||
|
return request({
|
||||||
|
url: '',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
type: '2',
|
||||||
|
name: '合同信息管理_履约保证金_收回',
|
||||||
|
param: '履约保证金流水号=' + num1 + '=int&实际收回日期=' + num2 + '=string'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
7
src/icons/svg/PerformanceBond.svg
Normal file
7
src/icons/svg/PerformanceBond.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Svg Vector Icons : http://www.sfont.cn -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||||
|
<metadata> Svg Vector Icons : http://www.sfont.cn </metadata>
|
||||||
|
<g><path d="M500,10C229.8,10,10,229.8,10,500c0,270.2,219.8,490,490,490c270.2,0,490-219.8,490-490C990,229.8,770.2,10,500,10z M500,846.3C309,846.3,153.6,691,153.6,500c0-191,155.4-346.3,346.4-346.3c191,0,346.3,155.4,346.3,346.3C846.4,691,691,846.3,500,846.3z"/><path d="M645.1,359.8l-40.7-41L500,422.5L395.6,318.8l-40.7,41l75,74.5h-76v57.8h117.2v46.8H353.9v57.8h117.2V697h57.8V596.7h117.2v-57.8H528.9v-46.8h117.2v-57.8h-76L645.1,359.8z"/></g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 891 B |
@@ -230,7 +230,7 @@ export default {
|
|||||||
if (response.data[0].result === '1') {
|
if (response.data[0].result === '1') {
|
||||||
this.$message.success('删除成功')
|
this.$message.success('删除成功')
|
||||||
callback.call(this) // 回调函数修正this指向组件本身
|
callback.call(this) // 回调函数修正this指向组件本身
|
||||||
} else { this.$message.error('删除失败') }
|
} else { this.$message.error('数据占用') }
|
||||||
})
|
})
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$message({
|
this.$message({
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
size="small"
|
size="small"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="请选择结束日期"/>
|
placeholder="请选择结束日期"/>
|
||||||
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize = 10;PageCurrent = 1;fetchTableData1()">查询</el-button>
|
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="PageSize = 10;PageCurrent = 1;fetchTableData1()">查询</el-button>
|
||||||
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px;margin-right: 15px" @click="addBidBond();flag1 = 2">增加</el-button>
|
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px;margin-right: 15px" @click="addBidBond();flag1 = 2">增加</el-button>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card>
|
<el-card>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
<span style="margin-left: 10px">销售经理:</span>
|
<span style="margin-left: 10px">销售经理:</span>
|
||||||
<el-input v-model="MarketingManagerValue" readonly clearable size="small" style="width:200px" placeholder="请双击选择营销经理" @dblclick.native="dialogFormVisiblePeople = true" @clear="clear()"/>
|
<el-input v-model="MarketingManagerValue" readonly clearable size="small" style="width:200px" placeholder="请双击选择营销经理" @dblclick.native="dialogFormVisiblePeople = true" @clear="clear()"/>
|
||||||
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize = 10;PageCurrent = 1;tableData2=[];getTableData()">查询</el-button>
|
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="PageSize = 10;PageCurrent = 1;tableData2=[];getTableData()">查询</el-button>
|
||||||
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px" @click="ADD('form2')">新增</el-button>
|
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px" @click="ADD('form2')">新增</el-button>
|
||||||
<el-badge :value="value" :max="99" class="item">
|
<el-badge :value="value" :max="99" class="item">
|
||||||
<el-button size="small" type="text" @click="AccountsReceivable">查看收款信息</el-button>
|
<el-button size="small" type="text" @click="AccountsReceivable">查看收款信息</el-button>
|
||||||
@@ -61,6 +61,11 @@
|
|||||||
{{ scope.row.项目名称 }}
|
{{ scope.row.项目名称 }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="已完成进度" width="200">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.执行进度名 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column align="center" label="付款方式" width="200">
|
<el-table-column align="center" label="付款方式" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.付款方式 }}
|
{{ scope.row.付款方式 }}
|
||||||
@@ -138,7 +143,7 @@
|
|||||||
<el-pagination
|
<el-pagination
|
||||||
:current-page="PageCurrent"
|
:current-page="PageCurrent"
|
||||||
:page-sizes="[10, 20, 30, 40]"
|
:page-sizes="[10, 20, 30, 40]"
|
||||||
:page-size="10"
|
:page-size="PageSize"
|
||||||
:total="total"
|
:total="total"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@@ -243,12 +248,15 @@
|
|||||||
title="收款计划"
|
title="收款计划"
|
||||||
width="200"
|
width="200"
|
||||||
trigger="hover">
|
trigger="hover">
|
||||||
<div v-show="!scope.row.计划付款时间" style="text-align: center">
|
<div v-show="(scope.row.计划付款时间 === '' || scope.row.计划付款时间 === null) && parseInt(scope.row.未收金额)!==0 " style="text-align: center">
|
||||||
<h4>{{ scope.row.执行进度名 }} 未完成</h4>
|
<h4>{{ scope.row.执行进度名 }} 未完成</h4>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="scope.row.计划付款时间">
|
<div v-show="scope.row.计划付款时间 !== '' && scope.row.计划付款时间 !== null && parseInt(scope.row.未收金额)!==0">
|
||||||
<h4>{{ scope.row.执行进度名 }}于{{ scope.row.节点日期 }}完成,计划于{{ scope.row.计划付款时间 }}进行收款,距离计划截止还剩{{ parseInt(scope.row.剩余天数) > 0 ? scope.row.剩余天数 : 0 }}天</h4>
|
<h4>{{ scope.row.执行进度名 }}于{{ scope.row.节点日期 }}完成,计划于{{ scope.row.计划付款时间 }}进行收款,距离计划截止还剩{{ parseInt(scope.row.剩余天数) > 0 ? scope.row.剩余天数 : 0 }}天</h4>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-show="parseInt(scope.row.未收金额)=== 0 " style="text-align: center">
|
||||||
|
<h4>{{ scope.row.执行进度名 }}阶段收款已完成</h4>
|
||||||
|
</div>
|
||||||
<el-tag v-if="scope.row.计划付款时间===''||scope.row.计划付款时间===null" slot="reference" size="small" style="width: 66px">进度未完</el-tag>
|
<el-tag v-if="scope.row.计划付款时间===''||scope.row.计划付款时间===null" slot="reference" size="small" style="width: 66px">进度未完</el-tag>
|
||||||
<el-tag v-else-if="scope.row.计划付款时间!==''&&scope.row.计划付款时间!==null&&parseInt(scope.row.未收金额)===0" slot="reference" type="success" size="small" style="width: 66px">已完成</el-tag>
|
<el-tag v-else-if="scope.row.计划付款时间!==''&&scope.row.计划付款时间!==null&&parseInt(scope.row.未收金额)===0" slot="reference" type="success" size="small" style="width: 66px">已完成</el-tag>
|
||||||
<el-tag v-else-if="scope.row.计划付款时间!==''&&scope.row.计划付款时间!==null&&scope.row.状态==='未开始'" slot="reference" type="primary" size="small" style="width: 66px">未开始</el-tag>
|
<el-tag v-else-if="scope.row.计划付款时间!==''&&scope.row.计划付款时间!==null&&scope.row.状态==='未开始'" slot="reference" type="primary" size="small" style="width: 66px">未开始</el-tag>
|
||||||
@@ -279,7 +287,7 @@
|
|||||||
:current-page="PageCurrent2"
|
:current-page="PageCurrent2"
|
||||||
:page-sizes="[10, 20, 30, 40]"
|
:page-sizes="[10, 20, 30, 40]"
|
||||||
:page-size="10"
|
:page-size="10"
|
||||||
:total="total2"
|
:total="PageSize2"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
@size-change="handleSizeChange2"
|
@size-change="handleSizeChange2"
|
||||||
@current-change="handleCurrentChange2"/>
|
@current-change="handleCurrentChange2"/>
|
||||||
@@ -1091,7 +1099,7 @@ export default {
|
|||||||
})
|
})
|
||||||
this.$message.success('删除成功')
|
this.$message.success('删除成功')
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('删除失败')
|
this.$message.error('数据占用')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -1146,7 +1154,7 @@ export default {
|
|||||||
this.$message.success('删除成功')
|
this.$message.success('删除成功')
|
||||||
this.tableData2 = []
|
this.tableData2 = []
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('删除失败')
|
this.$message.error('数据占用')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
size="small"
|
size="small"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="请选择结束日期"/>
|
placeholder="请选择结束日期"/>
|
||||||
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize = 10;PageCurrent = 1;fetchTableData1()">查询</el-button>
|
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="PageSize = 10;PageCurrent = 1;fetchTableData1()">查询</el-button>
|
||||||
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px" @click="ADD()">增加</el-button>
|
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px" @click="ADD()">增加</el-button>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card>
|
<el-card>
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
{{ scope.row.电话 }}
|
{{ scope.row.电话 }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="合同信息备注" width="150">
|
<el-table-column align="center" label="合同信息备注" width="250">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.合同信息备注 }}
|
{{ scope.row.合同信息备注 }}
|
||||||
</template>
|
</template>
|
||||||
@@ -507,7 +507,7 @@
|
|||||||
<!--客户选择-->
|
<!--客户选择-->
|
||||||
<el-dialog :visible.sync="dialogCustomerFormVisible" title="客户选择" center width="600px">
|
<el-dialog :visible.sync="dialogCustomerFormVisible" title="客户选择" center width="600px">
|
||||||
<el-input v-model="Customer" clearable size="small" style="width:200px" placeholder="请输入客户名称"/>
|
<el-input v-model="Customer" clearable size="small" style="width:200px" placeholder="请输入客户名称"/>
|
||||||
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize1 = 10;PageCurrent1 = 1;fetchCustomerData()">查询</el-button>
|
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="PageSize1 = 10;PageCurrent1 = 1;fetchCustomerData()">查询</el-button>
|
||||||
<el-table v-loading="loading1" :data="CustomerData" highlight-current-row height="300" show-overflow-tooltip style="height: 330px; margin-top: 20px" @row-click="handleCustomerChange">
|
<el-table v-loading="loading1" :data="CustomerData" highlight-current-row height="300" show-overflow-tooltip style="height: 330px; margin-top: 20px" @row-click="handleCustomerChange">
|
||||||
<el-table-column label="省份" align="center" width="80">
|
<el-table-column label="省份" align="center" width="80">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@@ -533,7 +533,7 @@
|
|||||||
<el-pagination
|
<el-pagination
|
||||||
:current-page="PageCurrent1"
|
:current-page="PageCurrent1"
|
||||||
:page-sizes="[10, 20, 30, 40]"
|
:page-sizes="[10, 20, 30, 40]"
|
||||||
:page-size="10"
|
:page-size="PageSize1"
|
||||||
:total="total1"
|
:total="total1"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
@size-change="handleSizeChange1"
|
@size-change="handleSizeChange1"
|
||||||
|
|||||||
@@ -818,7 +818,7 @@ export default {
|
|||||||
if (response.data[0].result === '1') {
|
if (response.data[0].result === '1') {
|
||||||
this.$message.success('删除成功')
|
this.$message.success('删除成功')
|
||||||
this.getTable(addressSearch, [this.pageCurrent1, this.pageSize1], ['addressData', 'total1'])
|
this.getTable(addressSearch, [this.pageCurrent1, this.pageSize1], ['addressData', 'total1'])
|
||||||
} else { this.$message.error('删除失败') }
|
} else { this.$message.error('数据占用') }
|
||||||
})
|
})
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$message({
|
this.$message({
|
||||||
@@ -928,7 +928,7 @@ export default {
|
|||||||
this.$message.sucess('删除成功')
|
this.$message.sucess('删除成功')
|
||||||
this.getSelect(searchCargoBox, ['货箱号', '货箱号编号'], 'cargoBox', this.invoiceNum)
|
this.getSelect(searchCargoBox, ['货箱号', '货箱号编号'], 'cargoBox', this.invoiceNum)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('删除失败')
|
this.$message.error('数据占用')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -1107,7 +1107,7 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
if (data[0].result === '0') {
|
if (data[0].result === '0') {
|
||||||
this.$message.error('删除失败了。')
|
this.$message.error('数据占用')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handlePictureCardPreview(file) {
|
handlePictureCardPreview(file) {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
size="small"
|
size="small"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="请选择结束日期"/>
|
placeholder="请选择结束日期"/>
|
||||||
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize = 10;PageCurrent = 1;fetchTableData1()">查询</el-button>
|
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="PageSize = 10;PageCurrent = 1;fetchTableData1()">查询</el-button>
|
||||||
</el-card>
|
</el-card>
|
||||||
<!--项目表格-->
|
<!--项目表格-->
|
||||||
<el-card>
|
<el-card>
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
<!--客户选择-->
|
<!--客户选择-->
|
||||||
<el-dialog :visible.sync="dialogCustomerFormVisible" title="客户选择" center width="600px">
|
<el-dialog :visible.sync="dialogCustomerFormVisible" title="客户选择" center width="600px">
|
||||||
<el-input v-model="Customer" clearable size="small" style="width:200px" placeholder="请输入客户名称"/>
|
<el-input v-model="Customer" clearable size="small" style="width:200px" placeholder="请输入客户名称"/>
|
||||||
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize1 = 10;PageCurrent1 = 1;fetchCustomerData()">查询</el-button>
|
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="PageSize1 = 10;PageCurrent1 = 1;fetchCustomerData()">查询</el-button>
|
||||||
<el-table v-loading="loading1" :data="CustomerData" highlight-current-row height="300" show-overflow-tooltip style="height: 330px; margin-top: 20px" @row-click="handleCustomerChange">
|
<el-table v-loading="loading1" :data="CustomerData" highlight-current-row height="300" show-overflow-tooltip style="height: 330px; margin-top: 20px" @row-click="handleCustomerChange">
|
||||||
<el-table-column label="省份" align="center" width="80">
|
<el-table-column label="省份" align="center" width="80">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@@ -491,7 +491,7 @@ export default {
|
|||||||
this.fetchTableData1()
|
this.fetchTableData1()
|
||||||
this.fetchTableData2(row)
|
this.fetchTableData2(row)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('修改失败')
|
this.$message.error('数据占用')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -596,7 +596,7 @@ export default {
|
|||||||
this.tableData2 = data
|
this.tableData2 = data
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('增加失败')
|
this.$message.error('数据占用')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -630,7 +630,7 @@ export default {
|
|||||||
this.tableData2 = data
|
this.tableData2 = data
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('修改失败')
|
this.$message.error('数据占用')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
373
src/views/MarketingCenter/PerformanceBond/index.vue
Normal file
373
src/views/MarketingCenter/PerformanceBond/index.vue
Normal file
@@ -0,0 +1,373 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card>
|
||||||
|
<span>项目名称:</span>
|
||||||
|
<el-select v-model="entryNameValue" filterable placeholder="项目名称" style="margin-right: 10px" size="small" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in entryName"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"/>
|
||||||
|
</el-select>
|
||||||
|
<span style="margin-left: 10px">开始日期:</span>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="startTime"
|
||||||
|
style="width: 200px;"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
size="small"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择开始日期"/>
|
||||||
|
<span style="margin-left: 10px">结束日期:</span>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="endTime"
|
||||||
|
style="width: 200px;"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
size="small"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择结束日期"/>
|
||||||
|
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="PageSize = 10;PageCurrent = 1;fetchTableData1()">查询</el-button>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
<el-card>
|
||||||
|
<el-table
|
||||||
|
v-loading="listLoading1"
|
||||||
|
:data="tableData1"
|
||||||
|
highlight-current-row
|
||||||
|
style="width: 100%"
|
||||||
|
height="400"
|
||||||
|
border
|
||||||
|
size="mini"
|
||||||
|
@row-click="fetchTableData2">
|
||||||
|
<el-table-column align="center" label="合同编号" width="200">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag type="primary">{{ scope.row.合同编号 }}</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="项目名称" width="200">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.项目名称 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="已完成进度" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.执行进度名 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="合同签订日期">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.合同签订日期 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="销售经理" width="80">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.姓名 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="客户名称">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.客户名称 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="联系人" width="80">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.姓名 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="联系电话" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.电话 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="合同信息备注">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.合同信息备注 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" fixed="right" align="center" width="260px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-circle-plus-outline"
|
||||||
|
@click.stop="openAddInvoiceRecordingDialog(); flag = 1">履约保证金</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-circle-plus-outline"
|
||||||
|
@click.stop="openAddInvoiceRecordingDialog(); flag = 3">履约保函</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="block" style="margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
:current-page="PageCurrent"
|
||||||
|
:page-sizes="[10, 20, 30, 40]"
|
||||||
|
:page-size="PageSize"
|
||||||
|
:total="total"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"/>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
<el-card>
|
||||||
|
<template>
|
||||||
|
<el-tabs v-model="activeName" type="card">
|
||||||
|
<el-tab-pane label="履约保证金" name="first">
|
||||||
|
<el-table
|
||||||
|
v-loading="listLoading2"
|
||||||
|
:data="tableData2"
|
||||||
|
highlight-current-row
|
||||||
|
style="width: 100%"
|
||||||
|
height="100"
|
||||||
|
border
|
||||||
|
size="mini">
|
||||||
|
<el-table-column align="center" label="履约保证金金额">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag type="primary" size="small">{{ scope.row.履约保证金金额 }}</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="保证金类型">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.保证金类型 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="收回条件">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.执行进度名 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="截止时间">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
后{{ scope.row.提前X天提醒我 }}天内收回
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="是否收回">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag v-if="parseInt(scope.row.是否收回) === 1" slot="reference" size="small" type="success" style="width: 66px">已收回</el-tag>
|
||||||
|
<el-tag v-else-if="parseInt(scope.row.是否收回) === 0" slot="reference" type="danger" size="small" style="width: 66px">未收回</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="实际收回日期">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.实际收回日期 === '' || scope.row.实际收回日期 === null ? scope.row.实际收回日期 = '暂未收回' : scope.row.实际收回日期 }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="状态">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-popover
|
||||||
|
placement="top-start"
|
||||||
|
title="收回计划"
|
||||||
|
width="200"
|
||||||
|
trigger="hover">
|
||||||
|
<div v-show="(scope.row.计划收款日期 === '' || scope.row.计划收款日期 === null) && parseInt(scope.row.是否收回)!== 1 " style="text-align: center">
|
||||||
|
<h4>{{ scope.row.执行进度名 }} 未完成</h4>
|
||||||
|
</div>
|
||||||
|
<div v-show="scope.row.计划收款日期 !== '' && scope.row.计划收款日期 !== null && parseInt(scope.row.是否收回)!== 1">
|
||||||
|
<h4>{{ scope.row.执行进度名 }}于{{ scope.row.节点日期 }}完成,计划于{{ scope.row.计划收款日期 }}进行收款,距离计划截止还剩{{ parseInt(scope.row.剩余天数) > 0 ? scope.row.剩余天数 : 0 }}天</h4>
|
||||||
|
</div>
|
||||||
|
<div v-show="parseInt(scope.row.是否收回)=== 1 " style="text-align: center">
|
||||||
|
<h4>已于{{ scope.row.实际收回日期 }}收回</h4>
|
||||||
|
</div>
|
||||||
|
<el-tag v-if="scope.row.计划收款日期!==''&& scope.row.计划收款日期!==null && parseInt(scope.row.是否收回) === 0 && parseInt(scope.row.状态) === 1" slot="reference" size="small" type="warning" style="width: 66px">即将拖期</el-tag>
|
||||||
|
<el-tag v-else-if="scope.row.计划收款日期!==''&& scope.row.计划收款日期!==null &&parseInt(scope.row.是否收回) === 0 && parseInt(scope.row.状态) === 2" slot="reference" type="danger" size="small" style="width: 66px">已经拖期</el-tag>
|
||||||
|
<el-tag v-else-if="scope.row.计划收款日期!==''&& scope.row.计划收款日期!==null &&parseInt(scope.row.是否收回) === 0 && parseInt(scope.row.状态) === 0" slot="reference" type="primer" size="small" style="width: 66px">无计划</el-tag>
|
||||||
|
<el-tag v-else-if="scope.row.计划收款日期!==''&& scope.row.计划收款日期!==null &&parseInt(scope.row.是否收回) === 1" slot="reference" type="success" size="small" style="width: 66px">已完成</el-tag>
|
||||||
|
<el-tag v-else-if="scope.row.计划收款日期===''||scope.row.计划收款日期===null" slot="reference" size="small" style="width: 66px">进度未完</el-tag>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" fixed="right" align="center" width="260px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
:disabled="scope.row.是否禁用收回"
|
||||||
|
size="mini"
|
||||||
|
type="success"
|
||||||
|
@click.stop="takeBack(scope.row)">收回</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="warning"
|
||||||
|
@click.stop="openAddInvoiceRecordingDialog(); flag = 3">编辑</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="danger"
|
||||||
|
@click.stop="openAddInvoiceRecordingDialog(); flag = 3">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="履约保函" name="second">
|
||||||
|
履约保函
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</template>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
<el-dialog :visible.sync="dialogTimeVisible" title="实际收回日期" center style="min-height: 300px" width="23%">
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
|
||||||
|
<el-form-item label="实际收回日期" prop="实际收回日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="form.实际收回日期"
|
||||||
|
style="width: 200px;"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
size="small"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择实际收回日期"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="callOffTime('form')">取消</el-button>
|
||||||
|
<el-button type="primary" @click="submitTime('form')">确 定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import elInput from 'element-ui/packages/input'
|
||||||
|
import { initProject, searchTableData1, typeOfPerformanceBond, searchTableData2, takeBack } from '@/api/MarketingCenter/PerformanceBond'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
elInput
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
entryNameValue: '', // 查询条件_项目名称
|
||||||
|
entryName: [], // 查询条件_项目名称数组
|
||||||
|
startTime: '', // 查询条件_开始时间
|
||||||
|
endTime: '', // 查询条件_结束时间
|
||||||
|
PageSize: 10, // 项目信息表格初始一页显示十条
|
||||||
|
PageCurrent: 1, // 项目信息表格一次翻一页
|
||||||
|
total: null,
|
||||||
|
tableData1: [], // 项目信息表格数据
|
||||||
|
listLoading1: false, // 项目信息表格加载动画
|
||||||
|
flag: '', // 旗帜变量
|
||||||
|
activeName: 'first', // 标签页初始
|
||||||
|
projectId: '', // 项目流水号中间变量
|
||||||
|
tableData2: [], // 履约保证金信息
|
||||||
|
listLoading2: false,
|
||||||
|
dialogTimeVisible: false,
|
||||||
|
performanceBondCode: '', // 履约保证金流水号
|
||||||
|
form: {
|
||||||
|
实际收回日期: ''
|
||||||
|
},
|
||||||
|
rules: { // 表单验证规则
|
||||||
|
实际收回日期: [{ required: true, message: '请选择实际收回日期', trigger: 'change' }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.init()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化条件
|
||||||
|
init() {
|
||||||
|
this.getSelect(initProject, ['项目名称', '项目流水号'], 'entryName')
|
||||||
|
},
|
||||||
|
// 查询合同(项目)信息
|
||||||
|
fetchTableData1() {
|
||||||
|
if (this.entryNameValue === '' || this.entryNameValue === null) { this.entryNameValue_check = 0 } else { this.entryNameValue_check = 1 }
|
||||||
|
if (this.startTime === '' || this.startTime === null) { this.startTime_check = 0 } else { this.startTime_check = 1 }
|
||||||
|
if (this.endTime === '' || this.endTime === null) { this.endTime_check = 0 } else { this.endTime_check = 1 }
|
||||||
|
this.listLoading1 = true
|
||||||
|
searchTableData1(this.PageCurrent, this.PageSize, this.entryNameValue, this.entryNameValue_check, this.startTime_check, this.endTime_check, this.startTime, this.endTime).then(response => {
|
||||||
|
this.listLoading1 = false
|
||||||
|
const data = response.data
|
||||||
|
for (let i = 0; i < data.rows.length; i++) {
|
||||||
|
data.rows[i].合同签订日期 = data.rows[i].合同签订日期.substring(0, data.rows[i].合同签订日期.length - 8)
|
||||||
|
}
|
||||||
|
this.tableData1 = data.rows
|
||||||
|
this.total = data.total
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 项目信息表格改变每页显示条数
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.PageCurrent = 1
|
||||||
|
this.PageSize = val
|
||||||
|
this.fetchTableData1()
|
||||||
|
},
|
||||||
|
// 项目信息表格翻页
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.PageCurrent = val
|
||||||
|
this.fetchTableData1()
|
||||||
|
},
|
||||||
|
// 履约保证金查询
|
||||||
|
fetchTableData2(row) {
|
||||||
|
this.projectId = row.项目流水号
|
||||||
|
typeOfPerformanceBond(this.projectId).then(response => {
|
||||||
|
const data = response.data[0].履约保证金类型
|
||||||
|
return data
|
||||||
|
}).then(data => {
|
||||||
|
if (data === 1) {
|
||||||
|
this.activeName = 'first'
|
||||||
|
this.listLoading2 = true
|
||||||
|
searchTableData2(this.projectId).then(response => {
|
||||||
|
this.listLoading2 = false
|
||||||
|
const data = response.data
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
data[i].实际收回日期 !== '' && data[i].实际收回日期 !== null ? data[i].实际收回日期 = data[i].实际收回日期.substring(0, data[i].实际收回日期.length - 8) : data[i].实际收回日期
|
||||||
|
data[i].节点日期 !== '' && data[i].节点日期 !== null ? data[i].节点日期 = data[i].节点日期.substring(0, data[i].节点日期.length - 8) : data[i].节点日期
|
||||||
|
data[i].计划收款日期 !== '' && data[i].计划收款日期 !== null ? data[i].计划收款日期 = data[i].计划收款日期.substring(0, data[i].计划收款日期.length - 8) : data[i].计划收款日期
|
||||||
|
parseInt(data[i].是否收回) === 1 ? data[i].是否禁用收回 = true : data[i].是否禁用收回 = false
|
||||||
|
}
|
||||||
|
this.tableData2 = data
|
||||||
|
})
|
||||||
|
} else if (data === 1) {
|
||||||
|
this.activeName = 'second'
|
||||||
|
} else {
|
||||||
|
this.$message.warning('未缴纳履约保证金')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
takeBack(row) {
|
||||||
|
this.addForm('form')
|
||||||
|
this.performanceBondCode = row.履约保证金流水号
|
||||||
|
this.dialogTimeVisible = true
|
||||||
|
},
|
||||||
|
callOffTime() {
|
||||||
|
this.dialogTimeVisible = false
|
||||||
|
},
|
||||||
|
submitTime(formName) {
|
||||||
|
this.$refs[formName].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
takeBack(this.performanceBondCode, this.form.实际收回日期).then(response => {
|
||||||
|
if (response.data[0].result === '1') {
|
||||||
|
this.$message.success('操作成功')
|
||||||
|
this.dialogTimeVisible = false
|
||||||
|
typeOfPerformanceBond(this.projectId).then(response => {
|
||||||
|
const data = response.data[0].履约保证金类型
|
||||||
|
return data
|
||||||
|
}).then(data => {
|
||||||
|
if (data === 1) {
|
||||||
|
this.activeName = 'first'
|
||||||
|
this.listLoading2 = true
|
||||||
|
searchTableData2(this.projectId).then(response => {
|
||||||
|
this.listLoading2 = false
|
||||||
|
const data = response.data
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
data[i].实际收回日期 !== '' && data[i].实际收回日期 !== null ? data[i].实际收回日期 = data[i].实际收回日期.substring(0, data[i].实际收回日期.length - 8) : data[i].实际收回日期
|
||||||
|
data[i].节点日期 !== '' && data[i].节点日期 !== null ? data[i].节点日期 = data[i].节点日期.substring(0, data[i].节点日期.length - 8) : data[i].节点日期
|
||||||
|
data[i].计划收款日期 !== '' && data[i].计划收款日期 !== null ? data[i].计划收款日期 = data[i].计划收款日期.substring(0, data[i].计划收款日期.length - 8) : data[i].计划收款日期
|
||||||
|
parseInt(data[i].是否收回) === 1 ? data[i].是否禁用收回 = true : data[i].是否禁用收回 = false
|
||||||
|
}
|
||||||
|
this.tableData2 = data
|
||||||
|
})
|
||||||
|
} else if (data === 1) {
|
||||||
|
this.activeName = 'second'
|
||||||
|
} else {
|
||||||
|
this.$message.warning('未缴纳履约保证金')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.error('操作失败')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value"/>
|
:value="item.value"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize = 10;PageCurrent = 1;fetchTableData1()">查询</el-button>
|
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="PageSize = 10;PageCurrent = 1;fetchTableData1()">查询</el-button>
|
||||||
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px;margin-right: 15px" @click="addSafetyMargin();flag1 = 1">增加</el-button>
|
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px;margin-right: 15px" @click="addSafetyMargin();flag1 = 1">增加</el-button>
|
||||||
<span>预警颜色说明:</span>
|
<span>预警颜色说明:</span>
|
||||||
<el-tag type="info">未到时间</el-tag>
|
<el-tag type="info">未到时间</el-tag>
|
||||||
|
|||||||
Reference in New Issue
Block a user