|
|
|
@ -177,6 +177,15 @@
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 添加打印按钮 -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<template v-if="scope.row.is_simple === 1&&scope.row.status === 1">
|
|
|
|
|
|
|
|
<Button class="slot-btns-item" size="small" type="primary"
|
|
|
|
|
|
|
|
@click="checkFormsBeforePayment(scope.row)">
|
|
|
|
|
|
|
|
付款登记
|
|
|
|
|
|
|
|
</Button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<template v-if="scope.row.status === 1 && scope.row.join_status === 3">
|
|
|
|
<template v-if="scope.row.status === 1 && scope.row.join_status === 3">
|
|
|
|
<Button class="slot-btns-item" size="small" type="primary"
|
|
|
|
<Button class="slot-btns-item" size="small" type="primary"
|
|
|
|
@click="$refs['contractSign'].isShow = true,$refs['contractSign'].contractId = scope.row.id">
|
|
|
|
@click="$refs['contractSign'].isShow = true,$refs['contractSign'].contractId = scope.row.id">
|
|
|
|
@ -262,7 +271,7 @@
|
|
|
|
<span class="step-number">2</span>
|
|
|
|
<span class="step-number">2</span>
|
|
|
|
<span class="step-text">基本信息</span>
|
|
|
|
<span class="step-text">基本信息</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="step" :class="{ active: currentStep === 3 }">
|
|
|
|
<div class="step" :class="{ active: currentStep === 3 }" v-if="currentStep > 1 && form.before_contract_template">
|
|
|
|
<span class="step-number">3</span>
|
|
|
|
<span class="step-number">3</span>
|
|
|
|
<span class="step-text">附件信息</span>
|
|
|
|
<span class="step-text">附件信息</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@ -272,31 +281,31 @@
|
|
|
|
<div class="step-content">
|
|
|
|
<div class="step-content">
|
|
|
|
<!-- Step 1: Type Selection -->
|
|
|
|
<!-- Step 1: Type Selection -->
|
|
|
|
<div v-show="currentStep === 1" class="step-content">
|
|
|
|
<div v-show="currentStep === 1" class="step-content">
|
|
|
|
<div class="form-group">
|
|
|
|
<div class="form-group" v-if="categoryOptions && categoryOptions.length > 0">
|
|
|
|
<label class="form-label">分类</label>
|
|
|
|
<label class="form-label">分类</label>
|
|
|
|
<Select v-model="form.category" @on-change="handleCategoryChange" placeholder="请选择分类" class="form-input">
|
|
|
|
<Select v-model="form.category" @on-change="handleCategoryChange" placeholder="请选择分类" class="form-input">
|
|
|
|
<Option v-for="item in categoryOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
<Option v-for="item in categoryOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
</Select>
|
|
|
|
</Select>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
|
|
<div class="form-group" v-if="affairTypeOptions && affairTypeOptions.length > 0">
|
|
|
|
<label class="form-label">事项类型</label>
|
|
|
|
<label class="form-label">事项类型</label>
|
|
|
|
<Select v-model="form.affairType" @on-change="handleAffairTypeChange" placeholder="请选择事项类型" class="form-input">
|
|
|
|
<Select v-model="form.affairType" @on-change="handleAffairTypeChange" placeholder="请选择事项类型" class="form-input">
|
|
|
|
<Option v-for="item in affairTypeOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
<Option v-for="item in affairTypeOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
</Select>
|
|
|
|
</Select>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
|
|
<div class="form-group" v-if="contractTypeOptions && contractTypeOptions.length > 0">
|
|
|
|
<label class="form-label">合同类型</label>
|
|
|
|
<label class="form-label">合同类型</label>
|
|
|
|
<Select v-model="form.contractType" @on-change="handleContractTypeChange" placeholder="请选择合同类型" class="form-input">
|
|
|
|
<Select v-model="form.contractType" @on-change="handleContractTypeChange" placeholder="请选择合同类型" class="form-input">
|
|
|
|
<Option v-for="item in contractTypeOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
<Option v-for="item in contractTypeOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
</Select>
|
|
|
|
</Select>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
|
|
<div class="form-group" v-if="purchaseFormOptions && purchaseFormOptions.length > 0">
|
|
|
|
<label class="form-label">采购形式</label>
|
|
|
|
<label class="form-label">采购形式</label>
|
|
|
|
<Select v-model="form.purchaseForm" @on-change="handlePurchaseFormChange" placeholder="请选择采购形式" class="form-input">
|
|
|
|
<Select v-model="form.purchaseForm" @on-change="handlePurchaseFormChange" placeholder="请选择采购形式" class="form-input">
|
|
|
|
<Option v-for="item in purchaseFormOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
<Option v-for="item in purchaseFormOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
</Select>
|
|
|
|
</Select>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
|
|
<div class="form-group" v-if="purchaseMethodOptions && purchaseMethodOptions.length > 0">
|
|
|
|
<label class="form-label">采购方式</label>
|
|
|
|
<label class="form-label">采购方式</label>
|
|
|
|
<Select v-model="form.purchaseMethod" @on-change="handlePurchaseMethodChange" placeholder="请选择采购方式" class="form-input">
|
|
|
|
<Select v-model="form.purchaseMethod" @on-change="handlePurchaseMethodChange" placeholder="请选择采购方式" class="form-input">
|
|
|
|
<Option v-for="item in purchaseMethodOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
<Option v-for="item in purchaseMethodOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
|
|
|
|
@ -310,23 +319,23 @@
|
|
|
|
<div class="template-info">
|
|
|
|
<div class="template-info">
|
|
|
|
<div class="info-title">合同类型</div>
|
|
|
|
<div class="info-title">合同类型</div>
|
|
|
|
<div class="info-content">
|
|
|
|
<div class="info-content">
|
|
|
|
<div class="info-item">
|
|
|
|
<div class="info-item" v-if="form.category && getCategoryName(form.category)">
|
|
|
|
<span class="label">合同分类:</span>
|
|
|
|
<span class="label">合同分类:</span>
|
|
|
|
<span class="value">{{ getCategoryName(form.category) }}</span>
|
|
|
|
<span class="value">{{ getCategoryName(form.category) }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="info-item">
|
|
|
|
<div class="info-item" v-if="form.affairType && getAffairTypeName(form.affairType)">
|
|
|
|
<span class="label">事务类型:</span>
|
|
|
|
<span class="label">事务类型:</span>
|
|
|
|
<span class="value">{{ getAffairTypeName(form.affairType) }}</span>
|
|
|
|
<span class="value">{{ getAffairTypeName(form.affairType) }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="info-item">
|
|
|
|
<div class="info-item" v-if="form.contractType && getContractTypeName(form.contractType)">
|
|
|
|
<span class="label">合同类型:</span>
|
|
|
|
<span class="label">合同类型:</span>
|
|
|
|
<span class="value">{{ getContractTypeName(form.contractType) }}</span>
|
|
|
|
<span class="value">{{ getContractTypeName(form.contractType) }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="info-item">
|
|
|
|
<div class="info-item" v-if="form.purchaseForm && getPurchaseFormName(form.purchaseForm)">
|
|
|
|
<span class="label">采购形式:</span>
|
|
|
|
<span class="label">采购形式:</span>
|
|
|
|
<span class="value">{{ getPurchaseFormName(form.purchaseForm) }}</span>
|
|
|
|
<span class="value">{{ getPurchaseFormName(form.purchaseForm) }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="info-item">
|
|
|
|
<div class="info-item" v-if="form.purchaseMethod && getPurchaseMethodName(form.purchaseMethod)">
|
|
|
|
<span class="label">采购方式:</span>
|
|
|
|
<span class="label">采购方式:</span>
|
|
|
|
<span class="value">{{ getPurchaseMethodName(form.purchaseMethod) }}</span>
|
|
|
|
<span class="value">{{ getPurchaseMethodName(form.purchaseMethod) }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@ -455,11 +464,11 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Step 3: Attachment Information -->
|
|
|
|
<!-- Step 3: Attachment Information -->
|
|
|
|
<div v-show="currentStep === 3" class="step-content">
|
|
|
|
<div v-show="currentStep === 3 && form.before_contract_template" class="step-content">
|
|
|
|
<!-- 事前支付表格 -->
|
|
|
|
<!-- 事前支付表格 -->
|
|
|
|
<div v-if="form.before_contract_template && !form.showAfterPayment" class="form-section">
|
|
|
|
<div v-if="form.before_contract_template && !form.showAfterPayment" class="form-section">
|
|
|
|
<div class="section-title" style="display: flex; align-items: center;">
|
|
|
|
<div class="section-title" style="display: flex; align-items: center;">
|
|
|
|
事前支付表格
|
|
|
|
事前审批表格
|
|
|
|
<el-button type="text" icon="el-icon-zoom-in" @click="openPaymentFormPreview('before')">放大</el-button>
|
|
|
|
<el-button type="text" icon="el-icon-zoom-in" @click="openPaymentFormPreview('before')">放大</el-button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div v-if="!showPaymentFormPreview || previewType !== 'before'">
|
|
|
|
<div v-if="!showPaymentFormPreview || previewType !== 'before'">
|
|
|
|
@ -508,43 +517,21 @@
|
|
|
|
<!-- 正常编辑模式时的按钮控制 -->
|
|
|
|
<!-- 正常编辑模式时的按钮控制 -->
|
|
|
|
<template v-else>
|
|
|
|
<template v-else>
|
|
|
|
<Button v-if="currentStep > 1" @click="prevStep" class="action-button">上一步</Button>
|
|
|
|
<Button v-if="currentStep > 1" @click="prevStep" class="action-button">上一步</Button>
|
|
|
|
<Button v-if="currentStep < 3" type="primary" @click="nextStep" class="action-button">下一步</Button>
|
|
|
|
<!-- 第二步时,根据是否有事前支付表格决定显示下一步还是提交按钮 -->
|
|
|
|
<!-- 当有事前支付表格且未显示事后支付表格时 -->
|
|
|
|
<template v-if="currentStep === 2">
|
|
|
|
<template v-if="currentStep === 3 && form.before_contract_template && !form.showAfterPayment">
|
|
|
|
<template v-if="form.before_contract_template">
|
|
|
|
<!-- 新增模式下显示跳过按钮 -->
|
|
|
|
<Button type="primary" @click="nextStep" class="action-button">下一步</Button>
|
|
|
|
<template v-if="!isEditMode">
|
|
|
|
|
|
|
|
<Button type="primary" @click="nextPaymentStep" class="action-button">下一步</Button>
|
|
|
|
|
|
|
|
<Button @click="skipPrePayment" class="action-button">跳过,稍后填写</Button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<!-- 编辑模式下,只有当before_forms为空时才显示跳过按钮 -->
|
|
|
|
|
|
|
|
<template v-else-if="(!form.before_forms || form.before_forms.trim() === '' || !form.skipBeforeTemplate)">
|
|
|
|
|
|
|
|
<Button type="primary" @click="nextPaymentStep" class="action-button">下一步</Button>
|
|
|
|
|
|
|
|
<Button @click="skipPrePayment" class="action-button">跳过,稍后填写</Button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<!-- 编辑模式下,如果before_forms不为空,只显示下一步按钮 -->
|
|
|
|
|
|
|
|
<template v-else>
|
|
|
|
|
|
|
|
<Button type="primary" @click="nextPaymentStep" class="action-button">下一步</Button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<!-- 当显示事后支付表格时 -->
|
|
|
|
|
|
|
|
<template v-else-if="currentStep === 3 && form.contract_template">
|
|
|
|
|
|
|
|
<!-- 新增模式下显示跳过按钮 -->
|
|
|
|
|
|
|
|
<template v-if="!isEditMode">
|
|
|
|
|
|
|
|
<Button type="primary" @click="submit" class="action-button">提交</Button>
|
|
|
|
|
|
|
|
<Button @click="skipPostPayment" class="action-button">跳过,稍后填写</Button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<!-- 编辑模式下,只有当forms为空时才显示跳过按钮 -->
|
|
|
|
|
|
|
|
<template v-else-if="(!form.forms || form.forms.trim() === '' || !form.skipAfterTemplate)">
|
|
|
|
|
|
|
|
<Button type="primary" @click="submit" class="action-button">提交</Button>
|
|
|
|
|
|
|
|
<Button @click="skipPostPayment" class="action-button">跳过,稍后填写</Button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<!-- 编辑模式下,如果forms不为空,只显示提交按钮 -->
|
|
|
|
|
|
|
|
<template v-else>
|
|
|
|
<template v-else>
|
|
|
|
<Button type="primary" @click="submit" class="action-button">提交</Button>
|
|
|
|
<Button type="primary" @click="submit" class="action-button">提交</Button>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<!-- 当没有支付表格时,只显示"提交"按钮 -->
|
|
|
|
<!-- 第三步时的按钮控制 -->
|
|
|
|
<Button v-else-if="currentStep === 3" type="primary" @click="submit" class="action-button">提交</Button>
|
|
|
|
<template v-else-if="currentStep === 3">
|
|
|
|
|
|
|
|
<Button type="primary" @click="submit" class="action-button">提交</Button>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<!-- 第一步时显示下一步按钮 -->
|
|
|
|
|
|
|
|
<Button v-else-if="currentStep === 1" type="primary" @click="nextStep" class="action-button">下一步</Button>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<Button @click="cancel" class="action-button">取消</Button>
|
|
|
|
<Button @click="cancel" class="action-button">取消</Button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@ -650,6 +637,10 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</Modal>
|
|
|
|
</Modal>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 添加打印组件 -->
|
|
|
|
|
|
|
|
<printRegistration ref="printRegistration"></printRegistration>
|
|
|
|
|
|
|
|
<printFundApproval ref="printFundApproval"></printFundApproval>
|
|
|
|
|
|
|
|
<printPaymentForm ref="printPaymentForm"></printPaymentForm>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
@ -700,6 +691,9 @@ import govPlane from './components/govPlane.vue';
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
download
|
|
|
|
download
|
|
|
|
} from '@/utils/downloadRequest'
|
|
|
|
} from '@/utils/downloadRequest'
|
|
|
|
|
|
|
|
import printRegistration from "./components/printRegistration";
|
|
|
|
|
|
|
|
import printFundApproval from "./components/printFundApproval";
|
|
|
|
|
|
|
|
import printPaymentForm from "./components/printPaymentForm";
|
|
|
|
|
|
|
|
|
|
|
|
function syncFormDomToHtml(dom, contractTemplateFields) {
|
|
|
|
function syncFormDomToHtml(dom, contractTemplateFields) {
|
|
|
|
if (!dom) return '';
|
|
|
|
if (!dom) return '';
|
|
|
|
@ -733,6 +727,9 @@ export default {
|
|
|
|
contractSign,
|
|
|
|
contractSign,
|
|
|
|
contractPaymentRegistration,
|
|
|
|
contractPaymentRegistration,
|
|
|
|
govPlane,
|
|
|
|
govPlane,
|
|
|
|
|
|
|
|
printRegistration,
|
|
|
|
|
|
|
|
printFundApproval,
|
|
|
|
|
|
|
|
printPaymentForm,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
var planPass = (rule, value, callback) => {
|
|
|
|
var planPass = (rule, value, callback) => {
|
|
|
|
@ -2169,10 +2166,22 @@ export default {
|
|
|
|
|
|
|
|
|
|
|
|
// 获取当前选中的分类
|
|
|
|
// 获取当前选中的分类
|
|
|
|
const selectedCategory = this.categoryOptions.find(item => item.id === this.form.category)
|
|
|
|
const selectedCategory = this.categoryOptions.find(item => item.id === this.form.category)
|
|
|
|
if (!selectedCategory) return
|
|
|
|
if (!selectedCategory) {
|
|
|
|
|
|
|
|
// 如果有分类选项但没有选中值,自动选择第一个
|
|
|
|
|
|
|
|
if (this.categoryOptions && this.categoryOptions.length > 0) {
|
|
|
|
|
|
|
|
this.form.category = this.categoryOptions[0].id
|
|
|
|
|
|
|
|
this.handleCategoryChange()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 更新事项类型选项
|
|
|
|
// 更新事项类型选项
|
|
|
|
this.affairTypeOptions = selectedCategory.children || []
|
|
|
|
this.affairTypeOptions = selectedCategory.children || []
|
|
|
|
|
|
|
|
// 如果有事项类型选项但没有选中值,自动选择第一个
|
|
|
|
|
|
|
|
if (this.affairTypeOptions.length > 0 && !this.form.affairType) {
|
|
|
|
|
|
|
|
this.form.affairType = this.affairTypeOptions[0].id
|
|
|
|
|
|
|
|
this.handleAffairTypeChange()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取当前选中的事项类型
|
|
|
|
// 获取当前选中的事项类型
|
|
|
|
const selectedAffairType = this.affairTypeOptions.find(item => item.id === this.form.affairType)
|
|
|
|
const selectedAffairType = this.affairTypeOptions.find(item => item.id === this.form.affairType)
|
|
|
|
@ -2180,6 +2189,11 @@ export default {
|
|
|
|
|
|
|
|
|
|
|
|
// 更新合同类型选项
|
|
|
|
// 更新合同类型选项
|
|
|
|
this.contractTypeOptions = selectedAffairType.children || []
|
|
|
|
this.contractTypeOptions = selectedAffairType.children || []
|
|
|
|
|
|
|
|
// 如果有合同类型选项但没有选中值,自动选择第一个
|
|
|
|
|
|
|
|
if (this.contractTypeOptions.length > 0 && !this.form.contractType) {
|
|
|
|
|
|
|
|
this.form.contractType = this.contractTypeOptions[0].id
|
|
|
|
|
|
|
|
this.handleContractTypeChange()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取当前选中的合同类型
|
|
|
|
// 获取当前选中的合同类型
|
|
|
|
const selectedContractType = this.contractTypeOptions.find(item => item.id === this.form.contractType)
|
|
|
|
const selectedContractType = this.contractTypeOptions.find(item => item.id === this.form.contractType)
|
|
|
|
@ -2187,6 +2201,11 @@ export default {
|
|
|
|
|
|
|
|
|
|
|
|
// 更新采购形式选项
|
|
|
|
// 更新采购形式选项
|
|
|
|
this.purchaseFormOptions = selectedContractType.children || []
|
|
|
|
this.purchaseFormOptions = selectedContractType.children || []
|
|
|
|
|
|
|
|
// 如果有采购形式选项但没有选中值,自动选择第一个
|
|
|
|
|
|
|
|
if (this.purchaseFormOptions.length > 0 && !this.form.purchaseForm) {
|
|
|
|
|
|
|
|
this.form.purchaseForm = this.purchaseFormOptions[0].id
|
|
|
|
|
|
|
|
this.handlePurchaseFormChange()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取当前选中的采购形式
|
|
|
|
// 获取当前选中的采购形式
|
|
|
|
const selectedPurchaseForm = this.purchaseFormOptions.find(item => item.id === this.form.purchaseForm)
|
|
|
|
const selectedPurchaseForm = this.purchaseFormOptions.find(item => item.id === this.form.purchaseForm)
|
|
|
|
@ -2206,6 +2225,12 @@ export default {
|
|
|
|
else if (selectedPurchaseForm.children) {
|
|
|
|
else if (selectedPurchaseForm.children) {
|
|
|
|
this.purchaseMethodOptions = selectedPurchaseForm.children
|
|
|
|
this.purchaseMethodOptions = selectedPurchaseForm.children
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 如果有采购方式选项但没有选中值,自动选择第一个
|
|
|
|
|
|
|
|
if (this.purchaseMethodOptions.length > 0 && !this.form.purchaseMethod) {
|
|
|
|
|
|
|
|
this.form.purchaseMethod = this.purchaseMethodOptions[0].id
|
|
|
|
|
|
|
|
this.handlePurchaseMethodChange()
|
|
|
|
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
nextStep() {
|
|
|
|
nextStep() {
|
|
|
|
@ -2273,8 +2298,6 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
console.log(missingFields);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (missingFields.length > 0) {
|
|
|
|
if (missingFields.length > 0) {
|
|
|
|
this.$Message.warning('请填写所有必填项');
|
|
|
|
this.$Message.warning('请填写所有必填项');
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
@ -2291,14 +2314,14 @@ export default {
|
|
|
|
this.form.moneyWay = [];
|
|
|
|
this.form.moneyWay = [];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 如果存在事前支付表格,则跳转到事前支付表格
|
|
|
|
// 检查是否有支付表格
|
|
|
|
if (this.form.before_contract_template) {
|
|
|
|
if (!this.form.before_contract_template) {
|
|
|
|
this.form.showAfterPayment = false;
|
|
|
|
// 如果没有事前支付表格,直接提交
|
|
|
|
|
|
|
|
this.submit();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
// 如果有事前支付表格,进入第三步
|
|
|
|
|
|
|
|
this.currentStep++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
this.currentStep++;
|
|
|
|
|
|
|
|
} else if (this.currentStep === 3) {
|
|
|
|
|
|
|
|
this.currentStep++;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
@ -3180,22 +3203,6 @@ export default {
|
|
|
|
const res = await detailContract({ id: row.id });
|
|
|
|
const res = await detailContract({ id: row.id });
|
|
|
|
if (res) {
|
|
|
|
if (res) {
|
|
|
|
console.log("detail", res);
|
|
|
|
console.log("detail", res);
|
|
|
|
|
|
|
|
|
|
|
|
// // 检查是否有事前支付表格且未填写
|
|
|
|
|
|
|
|
// if (res.before_contract_template && res.before_forms.length === 0) {
|
|
|
|
|
|
|
|
// // 有事前支付表格但未填写,进入编辑模式
|
|
|
|
|
|
|
|
// await this.handleEdit(row, true);
|
|
|
|
|
|
|
|
// return;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // 检查是否有事后支付表格且未填写
|
|
|
|
|
|
|
|
// if (res.contract_template && res.forms.length === 0) {
|
|
|
|
|
|
|
|
// // 有事后支付表格但未填写,进入编辑模式
|
|
|
|
|
|
|
|
// await this.handleEdit(row, true);
|
|
|
|
|
|
|
|
// return;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 如果都有填写或没有配置支付表格,则继续付款登记流程
|
|
|
|
|
|
|
|
this.$refs['paymentRegistration'].getContract(row);
|
|
|
|
this.$refs['paymentRegistration'].getContract(row);
|
|
|
|
this.$refs['paymentRegistration'].isShowPaymentRegistration = true;
|
|
|
|
this.$refs['paymentRegistration'].isShowPaymentRegistration = true;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
@ -3345,7 +3352,7 @@ export default {
|
|
|
|
|
|
|
|
|
|
|
|
.steps-header {
|
|
|
|
.steps-header {
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
justify-content: center;
|
|
|
|
margin-bottom: 32px;
|
|
|
|
margin-bottom: 32px;
|
|
|
|
padding: 0 20px;
|
|
|
|
padding: 0 20px;
|
|
|
|
|
|
|
|
|
|
|
|
@ -3354,7 +3361,8 @@ export default {
|
|
|
|
flex-direction: column;
|
|
|
|
flex-direction: column;
|
|
|
|
align-items: center;
|
|
|
|
align-items: center;
|
|
|
|
position: relative;
|
|
|
|
position: relative;
|
|
|
|
flex: 1;
|
|
|
|
flex: 0 0 auto;
|
|
|
|
|
|
|
|
width: 200px;
|
|
|
|
|
|
|
|
|
|
|
|
&:not(:last-child)::after {
|
|
|
|
&:not(:last-child)::after {
|
|
|
|
content: '';
|
|
|
|
content: '';
|
|
|
|
|