|
|
|
|
@ -71,7 +71,10 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pay-plan">
|
|
|
|
|
<div class="pay-plan-title">付款计划</div>
|
|
|
|
|
<xy-table :height="240" :list="signPlan" :table-item="planTable" :show-index="false" :btn-width="130" @delete="deletePayPlan" @editor="(row)=>{$refs['detailContractSign'].planId = row.id;$refs['detailContractSign'].isShow = true}"></xy-table>
|
|
|
|
|
<xy-table :height="240" :list="signPlan" :table-item="planTable" :show-index="false" :btn-width="130"
|
|
|
|
|
@delete="deletePayPlan"
|
|
|
|
|
@editor="(row)=>{$refs['detailContractSign'].planId = row.id;$refs['detailContractSign'].isShow = true}">
|
|
|
|
|
</xy-table>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="related-processes">
|
|
|
|
|
<div class="related-processes-title">相关流程进展查看</div>
|
|
|
|
|
@ -106,13 +109,28 @@
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import {detailContract} from "@/api/contract/contract";
|
|
|
|
|
import {delContractSign, getContractSign} from "@/api/contractSign/contractSign"
|
|
|
|
|
import {parseTime} from "@/utils"
|
|
|
|
|
import {getOatoken} from "@/api/oatoken";
|
|
|
|
|
import {Message} from "element-ui";
|
|
|
|
|
import {moneyFormatter} from "@/utils"
|
|
|
|
|
import {getparameter} from "@/api/system/dictionary";
|
|
|
|
|
import {
|
|
|
|
|
detailContract
|
|
|
|
|
} from "@/api/contract/contract";
|
|
|
|
|
import {
|
|
|
|
|
delContractSign,
|
|
|
|
|
getContractSign
|
|
|
|
|
} from "@/api/contractSign/contractSign"
|
|
|
|
|
import {
|
|
|
|
|
parseTime
|
|
|
|
|
} from "@/utils"
|
|
|
|
|
import {
|
|
|
|
|
getOatoken
|
|
|
|
|
} from "@/api/oatoken";
|
|
|
|
|
import {
|
|
|
|
|
Message
|
|
|
|
|
} from "element-ui";
|
|
|
|
|
import {
|
|
|
|
|
moneyFormatter
|
|
|
|
|
} from "@/utils"
|
|
|
|
|
import {
|
|
|
|
|
getparameter
|
|
|
|
|
} from "@/api/system/dictionary";
|
|
|
|
|
|
|
|
|
|
import detailContractSign from "./detailContractSign"
|
|
|
|
|
export default {
|
|
|
|
|
@ -132,8 +150,7 @@ export default {
|
|
|
|
|
id: '',
|
|
|
|
|
detail: null,
|
|
|
|
|
isShowDetail: false,
|
|
|
|
|
linkBudgetPlanTable:[
|
|
|
|
|
{
|
|
|
|
|
linkBudgetPlanTable: [{
|
|
|
|
|
label: "ID",
|
|
|
|
|
sortable: false,
|
|
|
|
|
prop: 'id',
|
|
|
|
|
@ -152,14 +169,14 @@ export default {
|
|
|
|
|
return res[0]?.value || '未知'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return (
|
|
|
|
|
<div>
|
|
|
|
|
<Tag color="primary">
|
|
|
|
|
{
|
|
|
|
|
return ( <
|
|
|
|
|
div >
|
|
|
|
|
<
|
|
|
|
|
Tag color = "primary" > {
|
|
|
|
|
typeSwitch(row.type)
|
|
|
|
|
}
|
|
|
|
|
</Tag>
|
|
|
|
|
</div>
|
|
|
|
|
} <
|
|
|
|
|
/Tag> <
|
|
|
|
|
/div>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
@ -190,8 +207,7 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
journalTable:[
|
|
|
|
|
{
|
|
|
|
|
journalTable: [{
|
|
|
|
|
label: 'ID',
|
|
|
|
|
sortable: false,
|
|
|
|
|
prop: 'id'
|
|
|
|
|
@ -223,8 +239,7 @@ export default {
|
|
|
|
|
],
|
|
|
|
|
signPlan: [],
|
|
|
|
|
planTypes: [],
|
|
|
|
|
planTable:[
|
|
|
|
|
{
|
|
|
|
|
planTable: [{
|
|
|
|
|
prop: 'date',
|
|
|
|
|
label: '日期',
|
|
|
|
|
sortable: false,
|
|
|
|
|
@ -259,7 +274,9 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
async getPlanTypes() {
|
|
|
|
|
const res = await getparameter({number:'money_way'})
|
|
|
|
|
const res = await getparameter({
|
|
|
|
|
number: 'money_way'
|
|
|
|
|
})
|
|
|
|
|
this.planTypes = res.detail
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
@ -273,8 +290,11 @@ export default {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
let res = await getOatoken()
|
|
|
|
|
let url =`${process.env.VUE_APP_OUT_URL}/admin/flow/view/${this.detail.purchase_last_flow_id}?oatoken=${res.oatoken}`
|
|
|
|
|
let seeBuy = window.open(url,'seeBuy',`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`)
|
|
|
|
|
let url =
|
|
|
|
|
`${process.env.VUE_APP_OUT_URL}/admin/flow/view/${this.detail.purchase_last_flow_id}?oatoken=${res.oatoken}`
|
|
|
|
|
let seeBuy = window.open(url, 'seeBuy',
|
|
|
|
|
`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
async seeBidding() {
|
|
|
|
|
if (!this.detail?.invite_last_flow_id) {
|
|
|
|
|
@ -286,8 +306,11 @@ export default {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
let res = await getOatoken()
|
|
|
|
|
let url =`${process.env.VUE_APP_OUT_URL}/admin/flow/view/${this.detail.invite_last_flow_id}?oatoken=${res.oatoken}`
|
|
|
|
|
let seeBidding = window.open(url,'seeBidding',`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`)
|
|
|
|
|
let url =
|
|
|
|
|
`${process.env.VUE_APP_OUT_URL}/admin/flow/view/${this.detail.invite_last_flow_id}?oatoken=${res.oatoken}`
|
|
|
|
|
let seeBidding = window.open(url, 'seeBidding',
|
|
|
|
|
`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
async seeSignProcess() {
|
|
|
|
|
if (!this.detail?.join_last_flow_id) {
|
|
|
|
|
@ -299,8 +322,11 @@ export default {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
let res = await getOatoken()
|
|
|
|
|
let url =`${process.env.VUE_APP_OUT_URL}/admin/flow/view/${this.detail.join_last_flow_id}?oatoken=${res.oatoken}`
|
|
|
|
|
let seeSign = window.open(url,'seeSign',`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`)
|
|
|
|
|
let url =
|
|
|
|
|
`${process.env.VUE_APP_OUT_URL}/admin/flow/view/${this.detail.join_last_flow_id}?oatoken=${res.oatoken}`
|
|
|
|
|
let seeSign = window.open(url, 'seeSign',
|
|
|
|
|
`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
async seeAskProcess() {
|
|
|
|
|
@ -313,13 +339,18 @@ export default {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
let res = await getOatoken()
|
|
|
|
|
let url =`${process.env.VUE_APP_OUT_URL}/admin/flow/view/${this.detail.req_last_flow_id}?oatoken=${res.oatoken}`
|
|
|
|
|
let seeAsk = window.open(url,'seeAsk',`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`)
|
|
|
|
|
let url =
|
|
|
|
|
`${process.env.VUE_APP_OUT_URL}/admin/flow/view/${this.detail.req_last_flow_id}?oatoken=${res.oatoken}`
|
|
|
|
|
let seeAsk = window.open(url, 'seeAsk',
|
|
|
|
|
`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
async getDetail(id) {
|
|
|
|
|
this.id = id
|
|
|
|
|
let res = await detailContract({id:id})
|
|
|
|
|
let res = await detailContract({
|
|
|
|
|
id: id
|
|
|
|
|
})
|
|
|
|
|
this.detail = res
|
|
|
|
|
let plans = res.plans
|
|
|
|
|
let linkPlan = res.plan_link
|
|
|
|
|
@ -338,13 +369,17 @@ export default {
|
|
|
|
|
this.detail.plans = linkPlanTable
|
|
|
|
|
console.log(this.detail)
|
|
|
|
|
|
|
|
|
|
let plan = await getContractSign({contract_id:id})
|
|
|
|
|
let plan = await getContractSign({
|
|
|
|
|
contract_id: id
|
|
|
|
|
})
|
|
|
|
|
this.signPlan = plan.data
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//删除付款计划
|
|
|
|
|
deletePayPlan(row) {
|
|
|
|
|
delContractSign({id:row.id}).then(res=>{
|
|
|
|
|
delContractSign({
|
|
|
|
|
id: row.id
|
|
|
|
|
}).then(res => {
|
|
|
|
|
this.getSignPlan()
|
|
|
|
|
Message({
|
|
|
|
|
type: 'success',
|
|
|
|
|
@ -407,17 +442,19 @@ export default {
|
|
|
|
|
|
|
|
|
|
padding: 0 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&-item {
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
|
margin-top: 8px;
|
|
|
|
|
|
|
|
|
|
&-title {
|
|
|
|
|
|
|
|
|
|
padding: 0 20px;
|
|
|
|
|
}
|
|
|
|
|
&-content{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
&-content {}
|
|
|
|
|
|
|
|
|
|
&-unit {
|
|
|
|
|
|
|
|
|
|
margin-left: 20px;
|
|
|
|
|
@ -428,6 +465,7 @@ export default {
|
|
|
|
|
.link-budget-plan {
|
|
|
|
|
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
|
|
|
|
|
&-title {
|
|
|
|
|
@extend .base-info-title;
|
|
|
|
|
|
|
|
|
|
@ -440,14 +478,18 @@ export default {
|
|
|
|
|
&-title {
|
|
|
|
|
@extend .link-budget-plan-title;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&-item {
|
|
|
|
|
@extend .base-info-item;
|
|
|
|
|
|
|
|
|
|
&-title {
|
|
|
|
|
@extend .base-info-item-title;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&-content {
|
|
|
|
|
@extend .base-info-item-content;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&-unit {
|
|
|
|
|
@extend .base-info-item-unit;
|
|
|
|
|
}
|
|
|
|
|
@ -456,6 +498,7 @@ export default {
|
|
|
|
|
|
|
|
|
|
.pay-plan {
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
|
|
|
|
|
&-title {
|
|
|
|
|
@extend .link-budget-plan-title;
|
|
|
|
|
}
|
|
|
|
|
@ -464,9 +507,11 @@ export default {
|
|
|
|
|
.related-processes {
|
|
|
|
|
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
|
|
|
|
|
&-title {
|
|
|
|
|
@extend .link-budget-plan-title;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&-item {
|
|
|
|
|
//color: red;
|
|
|
|
|
|
|
|
|
|
@ -483,6 +528,7 @@ export default {
|
|
|
|
|
.journal {
|
|
|
|
|
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
|
|
|
|
|
&-title {
|
|
|
|
|
@extend .link-budget-plan-title;
|
|
|
|
|
}
|
|
|
|
|
|