You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

452 lines
22 KiB

<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu"><span>{{ viewTitle }}</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.name }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">品牌</div>
<el-form-item><span class="addinputInfo">{{ formobj.carBrandName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">款项范围</div>
<el-form-item><span class="addinputInfo">{{ formobj.costRangeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">款项类别</div>
<el-form-item><span class="addinputInfo">{{ formobj.costTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">是否涉及车辆</div>
<el-form-item><span class="addinputInfo">{{ formobj.isVeh == '1' ? '是' : '否' }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">付款单位</div>
<el-form-item><span class="addinputInfo">{{ formobj.payCompany }}</span></el-form-item>
</el-col>
<el-col :span="6" class="tlineheightb">
<div class="span-sty">付款申请备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div v-if="formobj.isVeh == '0'">
<div class="span-sty">是否事业部运营经理审批</div>
<el-form-item><span class="addinputInfo">{{ formobj.isLeaderSp == '1' ? '是' : '否' }}</span></el-form-item>
</div>
</el-col>
<el-col :span="6">
<div v-if="formobj.isVeh == '0' && formobj.isLeaderSp == '1'">
<div class="span-sty">是否事业部总经理审批</div>
<el-form-item><span class="addinputInfo">{{ formobj.isManageSp == '1' ? '是' : '否' }}</span></el-form-item>
</div>
</el-col>
</el-row>
<div v-if="formobj.costTypeValue === '融资付款'">
<div class="title">
<div>融资平仓付款明细</div>
</div>
<el-table :key="eveKey" :data="formobj.eveList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="costTitleValue" label="款项名称" align="center" width="200" />
<el-table-column prop="openDate" label="融资付款开通日期" align="center" width="160" />
<el-table-column prop="period" label="期(台)数" align="center" width="100" />
<el-table-column prop="payWayValue" label="付款方式" align="center" width="150" />
<el-table-column prop="receiveCompany" label="收款单位名称" align="center" width="140" />
<el-table-column prop="bank" label="开户行" align="center" width="130" />
<el-table-column prop="receivingAccount" label="收款银行账号" align="center" width="140" />
<el-table-column prop="exePayPrice" label="付款金额(元)" align="center" width="140" />
<el-table-column prop="remarks" label="付款备注" align="center" min-width="200" />
</el-table>
</div>
<div v-else>
<div class="title">付款明细</div>
<el-table :key="tableKey" :data="formobj.detailsList" :index="index" border style="width: 100%" show-summary :summary-method="getSummaries">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="costTitleValue" label="款项名称" align="center" width="200" />
<el-table-column prop="paymentType" label="付款方式" align="center" width="200" />
<el-table-column v-if="formobj.costTypeKey == '001'" prop="actualPay" label="厂家回款通路" align="center" width="200" />
<el-table-column prop="receivingAccount" label="收款银行账号" align="center" width="160" />
<el-table-column prop="receiveCompany" label="收款单位" align="center" width="150" />
<el-table-column prop="bank" label="开户行" align="center" width="140" />
<el-table-column prop="payAccount" label="付款金额(元)" align="center" width="150" />
<el-table-column prop="remarks" label="付款备注" align="center" min-width="200" />
<el-table-column label="关联付款详情" align="center" width="120">
<template slot-scope="scope">
<el-button type="primary" size="mini" v-show="scope.row.finPaymentapplyDetailsBelowList.length > 0" @click="handleLookPayment(scope.row, scope.$index)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="payAccountTotal" label="关联付款金额" align="center" width="140"/>
</el-table>
</div>
<div v-show="formobj.costTypeKey == '001' && formobj.isVeh == '1'"><!-- 款项类别为主车厂家采购且是否涉及车辆为是时显示 -->
<div class="title" style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;">
<div>车辆列表</div>
<div style="display: flex;flex-direction: row;justify-content: flex-start;align-items: center;">
<div style="margin-right: 10px">
<span>是否已销售:{{ formobj.isSales == '1' ? '是' : '否' }}</span>
</div>
<div>
<span>款项是否已交清:{{ formobj.isSettle == '1' ? '是' : '否' }}</span>
</div>
</div>
</div>
<el-table :key="vehicleKey" :data="formobj.vehicleList" :index="index" border style="width: 100%" show-summary :summary-method="getSummaries">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="modelName" label="车型" align="center" min-width="180" />
<el-table-column prop="vinNo" label="车架号" align="center" width="160" />
<el-table-column prop="marketSegmentsValue" label="版本" align="center" width="100" />
<el-table-column prop="carColor" label="颜色" align="center" width="100" />
<el-table-column prop="emissionStandardValue" label="排放" align="center" width="100" />
<el-table-column prop="tranCaseTypeValue" label="变速箱" align="center" width="110" />
<el-table-column prop="rearAxleValue" label="后桥" align="center" width="100" />
<el-table-column prop="libraryAge" label="厂家库龄" align="center" width="120" />
<el-table-column prop="orgLibraryAge" label="公司库龄" align="center" width="120" />
<el-table-column prop="topName" label="上装名称" align="center" width="130">
<template slot-scope="scope">
<span class="bluezi" @click="lookTops(scope.row)">{{ scope.row.topName }}</span>
</template>
</el-table-column>
<el-table-column prop="insideCode" label="内部编码" align="center" width="120" />
<el-table-column prop="money" label="车辆入库价" align="center" width="130" />
<el-table-column label="合同/销售订单编号" align="center" width="180">
<template slot-scope="scope">
<span>{{ scope.row.contractNo }}/{{ scope.row.saleBillNo }}</span>
</template>
</el-table-column>
<el-table-column prop="customerName" label="客户名称" align="center" width="120" />
<el-table-column prop="saleTypeValue" label="销售订单类型" align="center" width="150" />
<el-table-column prop="settlementStatusValue" label="买断状态" align="center" width="120" />
<el-table-column label="是否申请买断" align="center" width="140">
<template slot-scope="scope">
<span>{{ scope.row.isSettle == '1' ? '是' : scope.row.isSettle == '0' ? '否' : scope.row.isSettle == '——' ? '——' : '' }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div v-show="formobj.costTypeKey == '002'"><!-- 款项类别为挂车采购时显示 -->
<div class="title">挂车列表</div>
<el-table :key="trailerKey" :data="formobj.trailerList" :index="index" border style="width: 100%" show-summary :summary-method="getSummaries">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="trailerTypeValue" label="挂车名称" align="center" min-width="180" />
<el-table-column prop="size" label="外观尺寸" align="center" width="160" />
<el-table-column prop="vinNo" label="车架号" align="center" width="100" />
<el-table-column prop="color" label="箱体颜色" align="center" width="100" />
<el-table-column prop="costPrice" label="厂家结算价" align="center" width="130" />
<el-table-column prop="brandName" label="主车品牌" align="center" width="110" />
<el-table-column prop="vehModel" label="主车车型" align="center" width="100" />
<el-table-column prop="zcVinNo" label="主车车架号" align="center" width="120" />
<el-table-column label="合同/销售订单编号" align="center" width="180">
<template slot-scope="scope">
<span>{{ scope.row.contractNo }}/{{ scope.row.saleOrderNo }}</span>
</template>
</el-table-column>
<el-table-column prop="customerName" label="客户名称" align="center" width="120" />
<el-table-column prop="payType" label="销售类型" align="center" width="150" />
</el-table>
</div>
<div v-show="formobj.costTypeKey == '003'"><!-- 款项类别为上装采购时显示 -->
<div class="title">上装列表</div>
<el-table :key="topKey" :data="formobj.topList" :index="index" border style="width: 100%" show-summary :summary-method="getSummaries">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="installNameValue" label="上装/上装配置名称" align="center" min-width="180" />
<el-table-column prop="size" label="货箱内部尺寸" align="center" width="160" />
<el-table-column prop="vinNo" label="车架号" align="center" width="100" />
<el-table-column prop="color" label="箱体颜色" align="center" width="100" />
<el-table-column prop="costPrice" label="厂家结算价" align="center" width="130" />
<el-table-column prop="brandName" label="主车品牌" align="center" width="110" />
<el-table-column prop="vehModel" label="主车车型" align="center" width="100" />
<el-table-column label="合同/销售订单编号" align="center" width="180">
<template slot-scope="scope">
<span>{{ scope.row.contractNo }}/{{ scope.row.saleOrderNo }}</span>
</template>
</el-table-column>
<el-table-column prop="customerName" label="客户名称" align="center" width="120" />
<el-table-column prop="payType" label="销售类型" align="center" width="150" />
</el-table>
</div>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
<!-- 付款明细表新增关联付款信息 -->
<el-dialog :visible.sync="paymentVisible" width="70%" :show-close="false">
<el-form class="formaddcopy02">
<div class="title">关联付款信息列表</div>
<el-table :key="paymentKey" :data="paymentInformation.list" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column fixed label="操作" width="180" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="paymentLook(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="costTitleValue" label="款项名称" align="center" width="120" />
<el-table-column prop="paymentType" label="付款方式" align="center" width="120" />
<el-table-column prop="receiveCompany" label="收款单位名称" align="center" width="160" />
<el-table-column prop="bank" label="开户行" align="center" width="120" />
<el-table-column prop="receivingAccount" label="银行账号" align="center" width="120" />
<el-table-column prop="payAccount" label="付款金额" align="center" width="120" />
<el-table-column prop="remarks" label="付款备注" align="center" min-width="200" />
<el-table-column prop="isPay" label="后期是否有平仓付款" align="center" width="180">
<template slot-scope="scope">
<span>{{ scope.row.isPay == '1' ? '是' : '否' }}</span>
</template>
</el-table-column>
</el-table>
</el-form>
<div style="text-align: center;padding-top: 5px">
<el-button size="small" @click="paymentClose">关闭</el-button>
</div>
</el-dialog>
<!-- 关联付款信息详情 -->
<paymentInformationInfo v-show="viewState == 4" ref="divPaymentInformationInfo" @doback="resetStateByInformation" />
<!-- 查看上装配置信息 -->
<tops v-show="viewState == 5" ref="divTops" @doback="resetState" />
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/payment'
import paymentInformationInfo from './relation/paymentInformationInfo'
import tops from '@/components/publicPage/tops'
export default {
name: 'PaymentInfo',
components: {
paymentInformationInfo,
tops
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 0,
vehicleKey: 1,
paymentKey: 2,
trailerKey: 3,
topKey: 4,
eveKey: 5,
index: 0,
formobj: {
billNo: '', // 申请编号
name: '', // 申请人姓名
deptSid: '', // 申请部门sid
deptName: '', // 申请部门名称
createTime: '', // 申请日期
costRangeKey: '', // 款项范围Key
costRangeValue: '', // 款项范围value
isLeaderSp: '', // 是否事业部运营经理审批,1是0否
isManageSp: '', // 是否事业部总经理审批, 1是0否
isSales: '', // 是否已销售
isSettle: '', // 款项是否已交清
costTypeKey: '', // 款项类别key
costTypeValue: '', // 款项类别value
cost: '', // 金额
payCompanySid: '', // 付款单位sid
payCompany: '', // 付款单位名称
busSid: '', // 关联业务sid
createOrgSid: '', // 创建组织
useOrgSid: '', // 使用组织
procInstId: '', // 流程实例id
taskId: '', // 任务id
isVeh: '', // 是否涉及车辆,1是,0否
paymentTotal: '', // 付款明细合计
carTotal: '', // 车辆金额合计
carBrandSid: '', // 品牌sid
carBrandName: '', // 品牌名称
orgSidPath: '',
eveList: [], // 融资平仓付款明细列表
detailsList: [], // 付款信息列表
vehicleList: [], // 主车车辆列表
trailerList: [], // 挂车列表
topList: [] // 上装列表
},
rules: {},
paymentVisible: false, // 付款明细表 -- 新增付款信息弹框
paymentInformation: { // 关联付款信息列表
index: '',
list: []
}
}
},
methods: {
showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '付款申请'
req.fetchBySid(row.sid).then((resp) => {
if (resp.success) {
this.formobj = resp.data
if (this.formobj.vehicleList.length > 0) {
for (var i = 0; i < this.formobj.vehicleList.length; i++) {
if (this.formobj.vehicleList[i].isSettle === '1') {
this.viewTitle = '付款买断申请'
return
}
}
}
}
}).catch((e) => {
this.formobj = {}
})
},
handleLookPayment(row, index) {
this.paymentVisible = true
this.paymentInformation.inde = index
this.paymentInformation.list = JSON.parse(JSON.stringify(row.finPaymentapplyDetailsBelowList))
},
resetStateByInformation() {
this.viewState = 1
this.paymentVisible = true
},
paymentLook(row) {
this.paymentVisible = false
this.viewState = 4
this.$refs['divPaymentInformationInfo'].showInfo(row)
},
paymentClose() {
this.paymentVisible = false
this.paymentInformation = {
index: '',
list: []
}
},
lookTops(row) {
this.viewState = 5
this.$refs['divTops'].showInfo({ sid: row.topSid })
},
// 合计
getSummaries(param) {
const { columns, data } = param
const sums = []
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计'
return
}
const values = data.map(item => Number(item[column.property]))
if (column.property === 'payAccount') {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return prev + curr
} else {
return prev
}
}, 0)
sums[index] += ''
this.formobj.paymentTotal = sums[index] += ''
} else if (column.property === 'money') {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return prev + curr
} else {
return prev
}
}, 0)
sums[index] += ''
this.formobj.carTotal = sums[index] += ''
} else if (column.property === 'costPrice') {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return prev + curr
} else {
return prev
}
}, 0)
sums[index] += ''
}
})
return sums
},
resetState() {
this.viewState = 1
},
handleReturn() {
this.formobj = {
billNo: '', // 申请编号
name: '', // 申请人姓名
deptSid: '', // 申请部门sid
deptName: '', // 申请部门名称
createTime: '', // 申请日期
costRangeKey: '', // 款项范围Key
costRangeValue: '', // 款项范围value
isLeaderSp: '', // 是否事业部运营经理审批,1是0否
isManageSp: '', // 是否事业部总经理审批, 1是0否
isSales: '', // 是否已销售
isSettle: '', // 款项是否已交清
costTypeKey: '', // 款项类别key
costTypeValue: '', // 款项类别value
cost: '', // 金额
payCompanySid: '', // 付款单位sid
payCompany: '', // 付款单位名称
busSid: '', // 关联业务sid
createOrgSid: '', // 创建组织
useOrgSid: '', // 使用组织
procInstId: '', // 流程实例id
taskId: '', // 任务id
isVeh: '', // 是否涉及车辆,1是,0否
paymentTotal: '', // 付款明细合计
carTotal: '', // 车辆金额合计
carBrandSid: '', // 品牌sid
carBrandName: '', // 品牌名称
orgSidPath: '',
eveList: [], // 融资平仓付款明细列表
detailsList: [], // 付款信息列表
vehicleList: [], // 主车车辆列表
trailerList: [], // 挂车列表
topList: [] // 上装列表
}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 170px !important;
}
.addinputInfo {
margin-left: 160px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>