|
@@ -74,20 +74,30 @@
|
|
|
:hide-timestamp="!contractNode.createDate" :timestamp="contractNode.createDate">
|
|
|
服务商上传合同
|
|
|
</el-timeline-item>
|
|
|
- <el-timeline-item :class="timelineClass(2)" :hide-timestamp="true">
|
|
|
+ <el-timeline-item :class="timelineClass(2)"
|
|
|
+ :hide-timestamp="!contractNode.confirmDate"
|
|
|
+ :timestamp="contractNode.confirmDate">
|
|
|
<div>客户确认</div>
|
|
|
- <el-button v-if="timelineClass(2) === 'warning'" size="mini" type="primary"
|
|
|
- @click="signSeal('client')">
|
|
|
+ </el-timeline-item>
|
|
|
+ <el-timeline-item :class="timelineClass(3)"
|
|
|
+ :hide-timestamp="!contractNode.processDate"
|
|
|
+ :timestamp="contractNode.processDate">
|
|
|
+ <div>服务商盖章</div>
|
|
|
+ <el-button v-if="timelineClass(3) === 'warning' && type === 2" size="mini"
|
|
|
+ type="primary" @click="signSeal" style="margin-top: 10px;">
|
|
|
签字盖章
|
|
|
</el-button>
|
|
|
</el-timeline-item>
|
|
|
- <el-timeline-item :class="timelineClass(3)" :hide-timestamp="true">
|
|
|
- 服务商盖章
|
|
|
- </el-timeline-item>
|
|
|
- <el-timeline-item :class="timelineClass(4)" :hide-timestamp="true">
|
|
|
- 客户盖章
|
|
|
+ <el-timeline-item :class="timelineClass(4)"
|
|
|
+ :hide-timestamp="!contractNode.updateDate" :timestamp="contractNode.updateDate">
|
|
|
+ <div>客户盖章</div>
|
|
|
+ <el-button v-if="timelineClass(4) === 'warning' && type === 1" size="mini"
|
|
|
+ type="primary" @click="signSeal" style="margin-top: 10px;">
|
|
|
+ 签字盖章
|
|
|
+ </el-button>
|
|
|
</el-timeline-item>
|
|
|
- <el-timeline-item :class="timelineClass(5)" :hide-timestamp="true">
|
|
|
+ <el-timeline-item :class="timelineClass(5)"
|
|
|
+ :hide-timestamp="!contractNode.updateDate" :timestamp="contractNode.updateDate">
|
|
|
签约成功
|
|
|
</el-timeline-item>
|
|
|
</el-timeline>
|
|
@@ -119,10 +129,13 @@
|
|
|
<select-contract ref="selectContract" v-if="visible" type="filter"></select-contract>
|
|
|
<div class="hui-dialog-submit">
|
|
|
<el-button size="small" @click="visible = false">取 消</el-button>
|
|
|
- <el-button size="small" type="primary" @click="selectContract">确定</el-button>
|
|
|
+ <el-button size="small" type="primary" @click="selectContract" :loading="contractLoading">
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <pdf-viewer v-if="visible && actionType === 7" :list="contractList" :type="contractType"></pdf-viewer>
|
|
|
+ <pdf-viewer v-if="visible && actionType === 7" :list="contractList" :type="contractType"
|
|
|
+ @callback="callback"></pdf-viewer>
|
|
|
</el-dialog>
|
|
|
<el-dialog :close-on-click-modal="false" title="支付订单" :visible.sync="dialogVisible" width="600px"
|
|
|
:append-to-body="true">
|
|
@@ -140,7 +153,8 @@
|
|
|
} from '@/api/serve'
|
|
|
import {
|
|
|
bindContract,
|
|
|
- getBindContract
|
|
|
+ getBindContract,
|
|
|
+ updateContract
|
|
|
} from '@/api/finace'
|
|
|
|
|
|
const processSet = () => import('@/components/work/system/serveSet/processSet');
|
|
@@ -162,7 +176,8 @@
|
|
|
visibleTitle: '',
|
|
|
contractList: [],
|
|
|
contractNode: {},
|
|
|
- contractType: 'preview'
|
|
|
+ contractType: 'preview',
|
|
|
+ contractLoading: false
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
@@ -226,11 +241,13 @@
|
|
|
type: 'primary',
|
|
|
name: '立即支付'
|
|
|
})
|
|
|
- if (this.part.contractId) this.activeList.push({
|
|
|
- id: 8,
|
|
|
- type: 'primary',
|
|
|
- name: '确认合同'
|
|
|
- });
|
|
|
+ if (this.part.contractId && this.part.contractStatus === 0 && this.part.status === 1) {
|
|
|
+ this.activeList.push({
|
|
|
+ id: 8,
|
|
|
+ type: 'primary',
|
|
|
+ name: '确认合同'
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
initBindContract() {
|
|
|
getBindContract(this.part.contractId).then(res => {
|
|
@@ -247,14 +264,28 @@
|
|
|
str = this.part.contractId ? 'success' : 'warning'
|
|
|
break;
|
|
|
case 2:
|
|
|
- if (this.part.contractId && this.part.contractStatus === 0) str = 'warning';
|
|
|
+ if (this.part.contractId) {
|
|
|
+ str = this.part.contractStatus === 0 ? 'warning' : 'success';
|
|
|
+ }
|
|
|
break;
|
|
|
case 3:
|
|
|
+ if (this.part.contractId) {
|
|
|
+ if (this.part.contractStatus === 1) str = 'warning';
|
|
|
+ if (this.part.contractStatus >= 2) str = 'success';
|
|
|
+ }
|
|
|
break;
|
|
|
case 4:
|
|
|
+ if (this.part.contractId) {
|
|
|
+ if (this.part.contractStatus === 2) str = 'warning';
|
|
|
+ if (this.part.contractStatus >= 3) str = 'success';
|
|
|
+ }
|
|
|
break;
|
|
|
case 5:
|
|
|
- str = 'last-timeline-item'
|
|
|
+ if (this.part.contractId) {
|
|
|
+ if (this.part.contractStatus >= 3) str = 'last-timeline-item success';
|
|
|
+ } else {
|
|
|
+ str = 'last-timeline-item'
|
|
|
+ }
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
@@ -294,18 +325,27 @@
|
|
|
this.contractType = 'preview';
|
|
|
this.visible = true;
|
|
|
break;
|
|
|
+ case 8:
|
|
|
+ this.$confirm('是否确定该合同内容', () => {
|
|
|
+ updateContract({
|
|
|
+ id: this.part.contractId,
|
|
|
+ state: 1
|
|
|
+ }).then(this.updateOrderSuccessFunc);
|
|
|
+ })
|
|
|
+ break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
},
|
|
|
- signSeal(type) {
|
|
|
+ signSeal() {
|
|
|
this.actionType = 7;
|
|
|
this.visibleTitle = '签字盖章';
|
|
|
this.contractList = [{
|
|
|
url: `${window.location.origin}/${config.baseURL}/file/workarkContract/pdf/show/${this.part.contractId}`,
|
|
|
pdfId: this.part.contractId,
|
|
|
payOrganizationId: this.part.payOrganizationId,
|
|
|
- organizationId: this.part.organizationId
|
|
|
+ organizationId: this.part.organizationId,
|
|
|
+ type: this.type
|
|
|
}];
|
|
|
this.contractType = 'edit';
|
|
|
this.visible = true;
|
|
@@ -344,6 +384,7 @@
|
|
|
if (!this.$refs.selectContract) return;
|
|
|
let data = this.$refs.selectContract.currentRow;
|
|
|
if (!data) return;
|
|
|
+ this.contractLoading = true;
|
|
|
bindContract({
|
|
|
orderNo: this.part.orderNo,
|
|
|
contractId: data.id,
|
|
@@ -351,6 +392,7 @@
|
|
|
}).then(res => {
|
|
|
this.updateOrderSuccessFunc(res);
|
|
|
this.visible = false;
|
|
|
+ this.contractLoading = false;
|
|
|
});
|
|
|
},
|
|
|
callback(type) {
|